Date: Thu, 3 Jul 2008 20:00:37 -0700 (PDT) From: Shekhar Chandrashekhar <gcshekhar@sbcglobal.net> To: freebsd-net@freebsd.org Subject: Incorrect ipv6 prefix detaching behavior? Message-ID: <370399.55106.qm@web81002.mail.mud.yahoo.com>
next in thread | raw e-mail | index | archive | help
I'm running into an issue where nd6_rtr.c:pfxlist_onlink_check() is possibly not doing the right thing by marking a prefix as not ONLINK - I've noticed this behavior in both FreeBSD 6 and 7. I have an interface (say fxp0) which has an router-advertised address for access outside the local subnet (fc00:10:1:2::/64 prefix) and a static address (fc00:10:1:1::/64) for connecting to servers on the same subnet. The def router only advertises the fc00:10:1:2:: prefix. However, as you see from the "flags=LD" below, freebsd seems to mark the fc00:10:1:1::/64 prefix as detached and always forwards to the def router even for a dest in the fc00:10:1:1:: subnet. # ndp -p ;# abbreviated for interesting prefixes fc00:10:1:2::/64 if=fxp0 flags=LAO vltime=2592000, pltime-604800, expire=29d23h59m50s, ref=1 advertised by fe80::214:f604:65f0:93f0%fxp0 (reachable) fc00:10:1:1::/64 if=fxp0 flags=LD vltime=0, pltime=0, expired, ref=1 No advertising router The code in question (around line 1396 of n6_rtr.c) seems to mark any non-advertised prefix as detached - the comment in front of this segment (around line 1376) indicates this is done to take care of a move to a different network: if ((pr->ndpr_stateflags & NDPRF_DETACHED) == 0 && find_pfxlist_reachable_router(pr) == NULL) ---> pr->ndpr_stateflags |= NDPRF_DETACHED; If this is still the current thinking, it looks like my usage scenario is incorrect and I would like to understand why that is so. And what is the workaround? If not and this is a bug, then would suggest a addition to the code to allow only "non-static" prefixes to be detached... if ((pr->ndpr_stateflags & NDPRF_DETACHED) == 0 && find_pfxlist_reachable_router(pr) == NULL && pr->ndpr_pltime != ND6_INFINITE_LIFETIME) pr->ndpr_stateflags |= NDPRF_DETACHED; Thanks in advance for your help, --shekhar ------------------------------------------------------------------------------------------------- (gcshekhar AT sbc NOSPACE global DOT net) Confidence is the feeling you have before you understand the situation
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?370399.55106.qm>