Page MenuHomeFreeBSD

D36312.id109723.diff
No OneTemporary

D36312.id109723.diff

Index: sys/netinet6/in6.c
===================================================================
--- sys/netinet6/in6.c
+++ sys/netinet6/in6.c
@@ -627,6 +627,7 @@
* later advertised RAs (when accept_rtadv is non 0), which is
* an intended behavior.
*/
+ pr0.ndpr_raf_manual = 1; /* mark as manually-configured */
pr0.ndpr_raf_onlink = 1; /* should be configurable? */
pr0.ndpr_raf_auto =
((ifra->ifra_flags & IN6_IFF_AUTOCONF) != 0);
Index: sys/netinet6/in6_var.h
===================================================================
--- sys/netinet6/in6_var.h
+++ sys/netinet6/in6_var.h
@@ -326,7 +326,8 @@
struct prf_ra {
u_char onlink : 1;
u_char autonomous : 1;
- u_char reserved : 6;
+ u_char manual: 1;
+ u_char reserved : 5;
} prf_ra;
u_char prf_reserved1;
u_short prf_reserved2;
@@ -357,6 +358,7 @@
#define ipr_raf_onlink ipr_flags.prf_ra.onlink
#define ipr_raf_auto ipr_flags.prf_ra.autonomous
+#define ipr_raf_manual ipr_flags.prf_ra.manual
#define ipr_statef_onlink ipr_flags.prf_state.onlink
Index: sys/netinet6/nd6.h
===================================================================
--- sys/netinet6/nd6.h
+++ sys/netinet6/nd6.h
@@ -170,6 +170,7 @@
/* Prefix status */
#define NDPRF_ONLINK 0x1
#define NDPRF_DETACHED 0x2
+#define NDPRF_MANUAL 0x4
/* protocol constants */
#define MAX_RTR_SOLICITATION_DELAY 1 /* 1sec */
@@ -243,6 +244,7 @@
#define ndpr_raf ndpr_flags
#define ndpr_raf_onlink ndpr_flags.onlink
#define ndpr_raf_auto ndpr_flags.autonomous
+#define ndpr_raf_manual ndpr_flags.manual
#define ndpr_raf_router ndpr_flags.router
struct nd_pfxrouter {
Index: sys/netinet6/nd6.c
===================================================================
--- sys/netinet6/nd6.c
+++ sys/netinet6/nd6.c
@@ -1788,6 +1788,8 @@
LIST_FOREACH_SAFE(pr, &V_nd_prefix, ndpr_entry, next) {
if (IN6_IS_ADDR_LINKLOCAL(&pr->ndpr_prefix.sin6_addr))
continue; /* XXX */
+ if (pr->ndpr_raf_manual)
+ continue; /* Skip manually-configured prefixes */
nd6_prefix_unlink(pr, &prl);
}
ND6_WUNLOCK();

File Metadata

Mime Type
text/plain
Expires
Thu, Jun 25, 8:47 PM (8 h, 16 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34329374
Default Alt Text
D36312.id109723.diff (2 KB)

Event Timeline