Где флаг 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 который затем используется для прослушивания на.

Ура