Где хранится таблица маршрутизации, хранящаяся внутри ядра Linux?

Когда я выполняю route -n , откуда точно (из какой struct s) выводится информация, отображаемая?

Я попробовал выполнить strace route -n но я не помог мне найти нужное место, где он хранится.

One Solution collect form web for “Где хранится таблица маршрутизации, хранящаяся внутри ядра Linux?”

route или утилита ip получают свою информацию из псевдо файловой системы, называемой procfs . Он обычно монтируется под /proc . Существует файл под названием /proc/net/route , где вы можете увидеть таблицу IP-маршрутизации ядра. Вместо этого вы можете распечатать таблицу маршрутизации с помощью cat , но утилита маршрута форматирует выходную информацию, читаемую человеком, поскольку IP-адреса хранятся в шестнадцатеричном формате.

Этот файл не является обычным файлом. Он генерируется всегда в тот момент, когда он открывается с попыткой прочитать, как и все файлы в файловой системе proc.

Я вас интересует, как этот файл написан, тогда вам нужно посмотреть на источники ядра: эта функция выводит таблицу маршрутизации. Вы видите на строке 2510 , печатается заголовок таблицы маршрутизации. Таблица маршрутизации представляется в основном в struct fib_info которая определена в файле заголовка ip_fib.h, строка 98 .

  • Почему я не могу пинговать Google?
  • Удаленный (REST) ​​API для системного администрирования
  • Как создать / настроить vpn, используя только SSH?
  • Помощь с настройкой маршрутов
  • Проблема OpenVPN и маршрутизации на OpenWRT
  • Что такое эквивалент GNU / Linux BSD «route get ...»?
  • Как узнать, какой интерфейс является моим публичным интерфейсом?
  • создать маршрут после изменения pptp vpn ip
  • Статические маршруты в route-eth0 игнорируются
  • Изменение маршрутов для VPN
  • Приоритетная маршрутизация с мостами macvtap
  • Linux и Unix - лучшая ОС в мире.