[OpenAFS-devel] RX_MAX_FRAGS (yet again)

Nickolai Zeldovich kolya@MIT.EDU
Thu, 11 Oct 2001 16:46:44 -0400


> i thought about it but then i tried to think of a situation in which
> i would have 2 interfaces that would match the same network address.
> [i suppose i could have interface aliases]

Probably the most common case would be subnetted classful networks.
For instance, suppose one of your interfaces is 18.1.0.1/16, and the
other is 18.2.0.1/16, and you're trying to contact 18.2.0.2.  Then
you'll match the first interface with match_value = 2 (because it
matches within the classful netmask but not the subnet mask), and
match the second one with match_value = 3 (because it matches with
the subnet mask), and return the second interface in pifad.

> btw, i dont see how the following would work.  if rxi_MatchIfnet()
> doesnt terminate the search you will go through all the interfaces.
> so match_value be set to the match_value from the last interface, not
> the matching interface?

rxi_MatchIfnet checks the existing match_value, and will only set
a new match_value / pifad value if the existing match_value is lower.
So match_value 4 means we've found an interface whose local IP addr
is the one we're searching for, 3 means we've found a match up to the
subnet mask, and 2 means we've matched up to the classful netmask.

-- kolya