On 16.03.2018 16:47, sth...@nethelp.no wrote: >> Can you test this patch? I did not tested it, but I think it should fix >> this issue. > > Looks like this is a patch against HEAD. I don't have any boxes > running HEAD, but I can get one installed and test the patch this > weekend (unless you want to produce a patch against 11.1-STABLE). > > I tried the patch manually applied on 11.1-STABLE, but got lots of > errors during kernel compilation (see the end of this message).
I made the patch for stable/11, but I need some time to build kernel-toolchain, since compiler from head/ doesn't want to build stable/11 kernel :) -- WBR, Andrey V. Elsukov
Index: stable/11/sys/net/if_ethersubr.c =================================================================== --- stable/11/sys/net/if_ethersubr.c (revision 331055) +++ stable/11/sys/net/if_ethersubr.c (working copy) @@ -292,7 +292,6 @@ ether_output(struct ifnet *ifp, struct mbuf *m, int hlen; /* link layer header length */ uint32_t pflags; struct llentry *lle = NULL; - struct rtentry *rt0 = NULL; int addref = 0; phdr = NULL; @@ -320,9 +319,20 @@ ether_output(struct ifnet *ifp, struct mbuf *m, phdr = lle->r_linkdata; hlen = lle->r_hdrlen; pflags = lle->r_flags; + /* + * XXX: Check if we have feedback request + * from arptimer()/nd6_llinfo_timer(). + */ + if ((pflags & RLLE_VALID) && + lle->r_skip_req != 0) { + LLE_REQ_LOCK(lle); + /* Notify that entry was used */ + lle->r_skip_req = 0; + lle->lle_hittime = time_uptime; + LLE_REQ_UNLOCK(lle); + } } } - rt0 = ro->ro_rt; } #ifdef MAC
signature.asc
Description: OpenPGP digital signature