Changeset View
Changeset View
Standalone View
Standalone View
nd6_rtr.c
Context not available. | |||||
if (ifa->ia6_flags & IN6_IFF_DETACHED) { | if (ifa->ia6_flags & IN6_IFF_DETACHED) { | ||||
ifa->ia6_flags &= ~IN6_IFF_DETACHED; | ifa->ia6_flags &= ~IN6_IFF_DETACHED; | ||||
ifa->ia6_flags |= IN6_IFF_TENTATIVE; | ifa->ia6_flags |= IN6_IFF_TENTATIVE; | ||||
rt_addrmsg(RTM_ADD, | |||||
(struct ifaddr *)ifa, 0); | |||||
nd6_dad_start((struct ifaddr *)ifa, 0); | nd6_dad_start((struct ifaddr *)ifa, 0); | ||||
} | } | ||||
} else { | } else if (!(ifa->ia6_flags & IN6_IFF_DETACHED)) { | ||||
ifa->ia6_flags |= IN6_IFF_DETACHED; | ifa->ia6_flags |= IN6_IFF_DETACHED; | ||||
rt_addrmsg(RTM_ADD, (struct ifaddr *)ifa, 0); | |||||
} | } | ||||
} | } | ||||
} | } | ||||
Context not available. | |||||
if (ifa->ia6_flags & IN6_IFF_DETACHED) { | if (ifa->ia6_flags & IN6_IFF_DETACHED) { | ||||
ifa->ia6_flags &= ~IN6_IFF_DETACHED; | ifa->ia6_flags &= ~IN6_IFF_DETACHED; | ||||
ifa->ia6_flags |= IN6_IFF_TENTATIVE; | ifa->ia6_flags |= IN6_IFF_TENTATIVE; | ||||
rt_addrmsg(RTM_ADD, (struct ifaddr *)ifa, 0); | |||||
/* Do we need a delay in this case? */ | /* Do we need a delay in this case? */ | ||||
nd6_dad_start((struct ifaddr *)ifa, 0); | nd6_dad_start((struct ifaddr *)ifa, 0); | ||||
} | } | ||||
Context not available. |