[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: IPv6, tentative addresses, bind(), wheezy



Steve Langasek <vorlon@debian.org> (04/11/2012):
> Is there a way to get an event-based notification of this change, so
> ifupdown can listen for such an event rather than having to poll?

TL;DR: I think so.

<disclaimer>I don't know anything about the linux kernel</disclaimer>

Looking at net/ipv6/addrconf.c we have for examples:
  add_addr()
  addrconf_dad_start()

doing things like:
  ifp->flags &= ~IFA_F_TENTATIVE;
  ifp->flags &= ~(IFA_F_TENTATIVE|IFA_F_OPTIMISTIC|IFA_F_DADFAILED);

It looks like ipv6_ifa_notify() is called upon changes.

That one ends up calling inet6_ifa_notify(), which has things like
struct sk_buff, nlmsg_new(), rtnl_notify(). The last one is defined in
net/core/rtnetlink.c; it looks like somebody wants to hook oneself up
onto a netlink socket from userspace.

Mraw,
KiBi.

Attachment: signature.asc
Description: Digital signature


Reply to: