tech-net archive

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

Re: sin_zero



On 18 Feb, 2012, at 12:26 , Mouse wrote:
> I am tempted to simply change the routing table config to
> 
>       rn_inithead, 32, 8,
> 
> (probably spelling 8 using sizeof and offsetof rather than a literal
> constant, probably also changing 32 to an offsetof call like the one
> IPv6 uses).
> 
> What I'm wondering is, would this break anything?  It seems to me like
> a no-downside change, but there's a lot of code I don't truly
> understand running around there.  I'm of the opinion that the most
> correct thing to do is to change it and then fix anything it breaks,
> because that really is the correct configuration.

You might take a look at the multicast forwarding code to make sure it
isn't doing anything odd with that table (I won't since it gives me a
pain in my stomach to look at that).

Multicast forwarding routes have prefixes up to 64 bits long; the route
data (usually) includes a full destination address and a prefix of the
source address.  IPv4 forwarding paths which integrate multicast forwarding
in the "normal" forwarding path generally do route lookups on 8 byte keys
concatenating the destination and source addresses, and the routes you can
install have prefixes up to that length.  Unless something else is attempting
to use the IPv4 route table for flow identification (which is a broken way
to do it), multicast forwarding is the only thing I know of for IPv4 requiring
routes with prefixes exceeding 4 bytes.

I suspect, however, that NetBSD's multicast support code was implemented using
the bag-on-the-side approach, so what it needs may not be relevant to the
particular table you are looking at.

Dennis Ferguson


Home | Main Index | Thread Index | Old Index