On Mon, Feb 26, 2018 at 2:47 PM, David Ahern <dsah...@gmail.com> wrote: > On 2/26/18 3:28 PM, Wei Wang wrote: >> On Sun, Feb 25, 2018 at 11:47 AM, David Ahern <dsah...@gmail.com> wrote: >>> Introduce fib6_nh structure and move nexthop related data from >>> rt6_info and rt6_info.dst to fib6_nh. References to dev, gateway or >>> lwtstate from a FIB lookup perspective are converted to use fib6_nh; >>> datapath references to dst version are left as is. >>> >> >> My understanding is that after your whole patch series, sibling routes >> will still have their own fib6_info. Does it make sense to make this >> fib6_nh as an array in fib6_info so that sibling routes will share >> fib6_info but will have their own fib6_nh as a future improvement? It >> matches ipv4 behavior. And I think it will make the sibling route >> handling code easier? > > I was not planning to. IPv6 allowing individual nexthops to be added and > deleted is very convenient. I do agree the existing sibling route > linkage makes the code much more complicated than it needs to be. > > After this set, I plan to send patches for nexthops as separate objects > - which will have an impact on how multipath routes are done. With > nexthop objects there will be 1 prefix route pointing to a nexthop > object that is multipath (meaning it points in turn to a series of > nexthop objects). This provides the simplification (no sibling linkage) > without losing the individual nexhtop add / delete option.
Got it. Thanks for the explanation.