Page MenuHomeFreeBSD

D1998.id4069.diff
No OneTemporary

D1998.id4069.diff

Index: sys/netinet6/nd6_nbr.c
===================================================================
--- sys/netinet6/nd6_nbr.c
+++ sys/netinet6/nd6_nbr.c
@@ -92,6 +92,8 @@
static void nd6_dad_na_input(struct ifaddr *);
static void nd6_na_output_fib(struct ifnet *, const struct in6_addr *,
const struct in6_addr *, u_long, int, struct sockaddr *, u_int);
+static void nd6_ns_output_fib(struct ifnet *, const struct in6_addr *,
+ const struct in6_addr *, struct llentry *, int, u_int);
static VNET_DEFINE(int, dad_ignore_ns) = 0; /* ignore NS in DAD
- specwise incorrect */
@@ -385,9 +387,9 @@
* ln - for source address determination
* dad - duplicate address detection
*/
-void
-nd6_ns_output(struct ifnet *ifp, const struct in6_addr *daddr6,
- const struct in6_addr *taddr6, struct llentry *ln, int dad)
+static void
+nd6_ns_output_fib(struct ifnet *ifp, const struct in6_addr *daddr6,
+ const struct in6_addr *taddr6, struct llentry *ln, int dad, u_int fibnum)
{
struct mbuf *m;
struct m_tag *mtag;
@@ -419,6 +421,7 @@
m = m_gethdr(M_NOWAIT, MT_DATA);
if (m == NULL)
return;
+ M_SETFIB(m, fibnum);
bzero(&ro, sizeof(ro));
@@ -597,6 +600,15 @@
return;
}
+#ifndef BURN_BRIDGES
+void
+nd6_ns_output(struct ifnet *ifp, const struct in6_addr *daddr6,
+ const struct in6_addr *taddr6, struct llentry *ln, int dad)
+{
+
+ nd6_ns_output_fib(ifp, daddr6, taddr6, ln, dad, RT_DEFAULT_FIB);
+}
+#endif
/*
* Neighbor advertisement input handling.
*

File Metadata

Mime Type
text/plain
Expires
Sat, May 16, 5:16 PM (21 h, 1 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
33140047
Default Alt Text
D1998.id4069.diff (1 KB)

Event Timeline