From: David Ahern <dsah...@gmail.com> Date: Mon, 26 Feb 2018 13:20:27 -0700
> +static void ip6_rt_init_dst(struct rt6_info *rt, struct rt6_info *ort) > +{ > + if (ort->rt6i_flags & RTF_REJECT) { > + ip6_rt_init_dst_reject(rt, ort); > + return; > + } > + > + rt->dst.error = 0; > + rt->dst.output = ip6_output; > + > +... > > So for reject routes we have the above helper which is basically a code > move from ip6_route_info_create. > > For non-reject routes dst.error is 0 which is the rest of ip6_rt_init_dst. My bad, thanks for explaining things to me. The flag bit test above completely escaped my eyes for some reason. :)