On Wed, Jul 08, 2015 at 11:02:44AM +0200, Martin Pieuchot wrote: > I'd like to remove unused/NULL arguments from nd6_nud_hint() in order to > get rid of a nd6_lookup(). > > Ok?
Do it. OK claudio > Index: netinet/tcp_input.c > =================================================================== > RCS file: /cvs/src/sys/netinet/tcp_input.c,v > retrieving revision 1.293 > diff -u -p -r1.293 tcp_input.c > --- netinet/tcp_input.c 16 Jun 2015 11:09:40 -0000 1.293 > +++ netinet/tcp_input.c 8 Jul 2015 08:59:08 -0000 > @@ -146,7 +146,7 @@ struct timeval tcp_ackdrop_ppslim_last; > do { \ > if (tp && tp->t_inpcb && (tp->t_inpcb->inp_flags & INP_IPV6) && \ > tp->t_inpcb->inp_route6.ro_rt) { \ > - nd6_nud_hint(tp->t_inpcb->inp_route6.ro_rt, NULL, 0, \ > + nd6_nud_hint(tp->t_inpcb->inp_route6.ro_rt, \ > tp->t_inpcb->inp_rtableid); \ > } \ > } while (0) > Index: netinet6/nd6.c > =================================================================== > RCS file: /cvs/src/sys/netinet6/nd6.c,v > retrieving revision 1.139 > diff -u -p -r1.139 nd6.c > --- netinet6/nd6.c 16 Jun 2015 11:09:40 -0000 1.139 > +++ netinet6/nd6.c 8 Jul 2015 08:59:08 -0000 > @@ -891,20 +891,12 @@ nd6_free(struct rtentry *rt, int gc) > * XXX cost-effective methods? > */ > void > -nd6_nud_hint(struct rtentry *rt, struct in6_addr *dst6, int force, > - u_int rtableid) > +nd6_nud_hint(struct rtentry *rt, u_int rtableid) > { > struct llinfo_nd6 *ln; > > - /* > - * If the caller specified "rt", use that. Otherwise, resolve the > - * routing table by supplied "dst6". > - */ > - if (!rt) { > - if (!dst6) > - return; > - if (!(rt = nd6_lookup(dst6, 0, NULL, rtableid))) > - return; > + if (rt == NULL) { > + return; > } > > if ((rt->rt_flags & RTF_GATEWAY) != 0 || > @@ -923,11 +915,9 @@ nd6_nud_hint(struct rtentry *rt, struct > * if we get upper-layer reachability confirmation many times, > * it is possible we have false information. > */ > - if (!force) { > - ln->ln_byhint++; > - if (ln->ln_byhint > nd6_maxnudhint) > - return; > - } > + ln->ln_byhint++; > + if (ln->ln_byhint > nd6_maxnudhint) > + return; > > ln->ln_state = ND6_LLINFO_REACHABLE; > if (!ND6_LLINFO_PERMANENT(ln)) { > Index: netinet6/nd6.h > =================================================================== > RCS file: /cvs/src/sys/netinet6/nd6.h,v > retrieving revision 1.41 > diff -u -p -r1.41 nd6.h > --- netinet6/nd6.h 20 Nov 2014 13:54:24 -0000 1.41 > +++ netinet6/nd6.h 8 Jul 2015 08:59:08 -0000 > @@ -276,7 +276,7 @@ void nd6_setmtu(struct ifnet *); > void nd6_llinfo_settimer(struct llinfo_nd6 *, long); > void nd6_timer(void *); > void nd6_purge(struct ifnet *); > -void nd6_nud_hint(struct rtentry *, struct in6_addr *, int, u_int); > +void nd6_nud_hint(struct rtentry *, u_int); > int nd6_resolve(struct ifnet *, struct rtentry *, > struct mbuf *, struct sockaddr *, u_char *); > void nd6_rtrequest(int, struct rtentry *); > -- :wq Claudio