Где хранится таблица маршрутизации, хранящаяся внутри ядра 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 .

  • установить ip default исходящий в centos
  • Приоритетная маршрутизация с мостами macvtap
  • Удаленный (REST) ​​API для системного администрирования
  • Как узнать, какой интерфейс является моим публичным интерфейсом?
  • Подключен к VPN, но не удается подключить хосты в удаленной сети
  • Маршрут SSH для размещения через интерфейс
  • создать маршрут после изменения pptp vpn ip
  • Укажите IP-адрес приложения
  • Альтернатива FreeBSD для IP-маршрута добавляет локальные
  • Помощь с настройкой маршрутов
  • В чем разница между `/ sbin / ip route` и` / sbin / route`?
  • Разрешить подключение к SSH не используя мою VPN
  • Linux и Unix - лучшая ОС в мире.