Где флаг m и флаг o будут храниться в Linux
Я хочу знать значение флага m и флага o недавно полученной рекламы маршрутизатора. Из исходного кода ядра я узнал, что флаг m и флаг o хранятся.
/*
* Remember the managed/otherconf flags from most recently
* received RA message (RFC 2462) -- yoshfuji
*/
in6_dev->if_flags = (in6_dev->if_flags & ~(IF_RA_MANAGED |
IF_RA_OTHERCONF)) |
(ra_msg->icmph.icmp6_addrconf_managed ?
IF_RA_MANAGED : 0) |
(ra_msg->icmph.icmp6_addrconf_other ?
IF_RA_OTHERCONF : 0);
.
.
.
тогда я считаю, что должно быть возможно получить эти значения с помощью файловой системы ioctl или proc или любого другого метода. Кто-нибудь может указать туда.
2 ответов
наконец-то я нашел способ. Благодаря Google, благодаря Ширли Ма. Пожалуйста, получите код из моего блога http://kumaran127.blogspot.jp/2013/05/get-m-and-o-flag-of-most-recently.html
Я уверен, что вы не найдете этого в procfs, но вы можете проанализировать эти пакеты с помощью radvdump: см. http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/hints-daemons-radvd.html и для справки о том, как это реализовано:http://svn.dd-wrt.com/browser/src/router/radvd/radvdump.c?rev=11491 .. Вот как они создают фильтр icmp6 на необработанном сокете http://svn.dd-wrt.com/browser/src/router/radvd/socket.c?rev=11491 который затем используется для прослушивания на.
Ура