CVS commit: [netbsd-11] src
"Martin Husemann" <[email protected]>
| Newsgroups | gmane.os.netbsd.devel.cvs |
|---|---|
| Message-ID | <[email protected]> |
Module Name: src Committed By: martin Date: Wed Jun 3 18:41:37 UTC 2026 Modified Files: src/sys/net [netbsd-11]: if_llatbl.h nd.c src/sys/netinet [netbsd-11]: if_arp.c src/sys/netinet6 [netbsd-11]: nd6.c src/tests/net/arp [netbsd-11]: t_arp.sh Log Message: Pull up following revision(s) (requested by ozaki-r in ticket #300): sys/net/if_llatbl.h: revision 1.20 sys/netinet/if_arp.c: revision 1.319 sys/net/nd.c: revision 1.10 tests/net/arp/t_arp.sh: revision 1.50 tests/net/arp/t_arp.sh: revision 1.51 sys/netinet6/nd6.c: revision 1.286 commit 27c3de6c8063a7850ef0efbea0d83f314e541ce8 Author: Ryota Ozaki <[email protected]> Date: Thu Mar 12 12:42:03 2026 +0900 nd: reset ln_asked on state reset Even if a userland program such as ping continuously sends packets to a (temporarily) unreachable host, the ND resolver only sends request packets up to nd_mmaxtries times. This change allows ND request packets to continue being sent while the userland process is still sending packets. Additionally, introduce LLE_UNRESOLVED to fix another issue. nd_resolve may incorrectly return an error immediately after sending the last ND request packet. For example, if nd_mmaxtries = 1 and two packets arrive simultaneously, nd_resolve returns an error for the second packet. This occurs because ln_asked is used to determine whether the ND resolution is still in progress. Instead, use the new LLE_UNRESOLVED state. It is set when the state transitions to WAITDELETE, i.e., one second after the last request is sent without successful address resolution. PR kern/60071 tests, arp: add keep_sending test It tests whether ARP sends requests more than net.inet.arp.nd_bmaxtries times while ping is sending packets. tests: skip arp_keep_sending test on qemu It doesn't work on qemu (on NetBSD?) while it works on other environments. To generate a diff of this commit: cvs rdiff -u -r1.19 -r1.19.10.1 src/sys/net/if_llatbl.h cvs rdiff -u -r1.7.4.1 -r1.7.4.2 src/sys/net/nd.c cvs rdiff -u -r1.317.2.1 -r1.317.2.2 src/sys/netinet/if_arp.c cvs rdiff -u -r1.284 -r1.284.2.1 src/sys/netinet6/nd6.c cvs rdiff -u -r1.48.2.1 -r1.48.2.2 src/tests/net/arp/t_arp.sh Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.