> Le 24 févr. 2016 à 12:56, Jean-Daniel Dupas <jddu...@xooloo.net> a écrit : > >> Le 24 févr. 2016 à 10:57, Stuart Henderson <s...@spacehopper.org> a écrit > : >> >> In gmane.os.openbsd.misc, you wrote: >>> Hi, >>> >>> After more test, it looks like a change in the mpath behavior. >>> >>> Is looks like the route is based on the source IP and not the dest IP as > it >>> should. >>> >>> Is it expected ? >> >> ECMP is meant to be based on a hash of source and destination addresses, >> if it is still a problem with -current (I think it will be, but don't have >> a suitable test setup here) then please report it on bugs@. > > A quick test with a 5.9 snapshot show the same behavior. I'm not familiar with > the kernel sources, but a quick gdb session reveal that there is a problem > with the mpath selection. > I look like the dest address used to compute the hash is always empty, so the > hash end's up being always the same value. > I will fill a reports with the information I managed to gather.
I did fill a bug report, but just in case someone is interrested, I think the issue is in rtable_match() (rtable.c) Instead of using the dest address to compute the hash that is used to choose the route, that function uses the radix node dest address (which is always 0 in my case as it represents the default route).