17.9. Операции с таблицей маршрутизации

We use cookies. Read the Privacy and Cookie Policy

17.9. Операции с таблицей маршрутизации

Для работы с таблицей маршрутизации предназначены два вызова функции ioctl. Эти два вызова требуют, чтобы третий аргумент функции ioctl был указателем на структуру rtentry, которая определяется в заголовочном файле <net/route.h>. Обычно эти вызовы исходят от программы route. Их может делать только привилегированный пользователь. При наличии маршрутизирующих сокетов (глава 18) для выполнения этих запросов используются именно они, а не функция ioctl.

? SIOCADDRT. Добавить запись в таблицу маршрутизации.

? SIOCDELRT. Удалить запись из таблицы маршрутизации.

Нет способа с помощью функции ioctl перечислить все записи таблицы маршрутизации. Эту операцию обычно выполняет программа netstat с флагом -r. Программа получает таблицу маршрутизации, считывая память ядра (/dev/kmem). Как и в случае с просмотром кэша ARP, в разделе 18.4 мы увидим более простой (и предпочтительный) способ, предоставляемый функцией sysctl.

Данный текст является ознакомительным фрагментом.