Index | Thread | Search

From:
Alexander Bluhm <alexander.bluhm@gmx.net>
Subject:
Re: route cache mpath
To:
tech@openbsd.org
Date:
Tue, 27 Feb 2024 14:14:13 +0100

Download raw body.

Thread
  • Alexander Bluhm:

    route cache mpath

  • On Tue, Feb 27, 2024 at 11:07:41AM +0100, Claudio Jeker wrote:
    > Is it still borked with your diff in? Why is IPv6 always so stupidly
    > special? No wonder adoption rate after 30years is nowhere.
    
    ip6_output -> in6_selectroute -> route6_mpath(ro, dst, NULL, rtableid);
    
    So mpath distribution does not work for IPv6.
    
    > > +	rt = route_mpath(&inp->inp_route, &sin->sin_addr, NULL, rtableid);
    > 
    > Unrelated but this call is problematic. The issue here is that we have no
    > source, try to select one but then a following route_mpath() lookup may
    > actually return a different route. This is why local traffic using
    > multipath routing exits interfaces with the wrong IP.
    
    Seems to be a similar issue here.  I can have a look.
    
    > Never figured out how this could be fixed in an elegant way.
    > Would it help to use toeplitz as a hash here?
    
    How can the hash algorithm fix missing hash input?
    
    Maybe local sockets should never use src address but something else.
    Either always NULL to not distribute traffic or some per inp value.
    
    bluhm
    
    
    
  • Alexander Bluhm:

    route cache mpath