Module Name: src Committed By: martin Date: Thu Oct 3 11:53:46 UTC 2024
Modified Files: src/sys/net/lagg [netbsd-10]: if_lagg.c if_lagg_lacp.c if_lagg_lacp.h if_laggproto.c if_laggproto.h src/tests/net/if_lagg [netbsd-10]: t_lagg.sh Log Message: Pull up following revision(s) (requested by rin in ticket #916): sys/net/lagg/if_laggproto.c: revision 1.15 sys/net/lagg/if_lagg_lacp.c: revision 1.36 sys/net/lagg/if_laggproto.c: revision 1.16 sys/net/lagg/if_lagg_lacp.c: revision 1.37 sys/net/lagg/if_lagg_lacp.c: revision 1.38 sys/net/lagg/if_lagg_lacp.c: revision 1.39 sys/net/lagg/if_lagg.c: revision 1.54 sys/net/lagg/if_lagg.c: revision 1.55 sys/net/lagg/if_lagg.c: revision 1.59 sys/net/lagg/if_lagg.c: revision 1.70 sys/net/lagg/if_laggproto.h: revision 1.19 sys/net/lagg/if_lagg_lacp.c: revision 1.28 sys/net/lagg/if_lagg_lacp.c: revision 1.29 sys/net/lagg/if_laggproto.c: revision 1.7 sys/net/lagg/if_lagg_lacp.h: revision 1.5 sys/net/lagg/if_laggproto.c: revision 1.8 sys/net/lagg/if_laggproto.c: revision 1.9 sys/net/lagg/if_lagg_lacp.c: revision 1.40 sys/net/lagg/if_lagg_lacp.c: revision 1.41 sys/net/lagg/if_lagg_lacp.c: revision 1.42 sys/net/lagg/if_lagg_lacp.c: revision 1.43 tests/net/if_lagg/t_lagg.sh: revision 1.11 sys/net/lagg/if_lagg.c: revision 1.60 sys/net/lagg/if_lagg.c: revision 1.62 sys/net/lagg/if_lagg.c: revision 1.63 sys/net/lagg/if_lagg.c: revision 1.64 sys/net/lagg/if_laggproto.h: revision 1.20 sys/net/lagg/if_lagg.c: revision 1.65 sys/net/lagg/if_lagg.c: revision 1.66 sys/net/lagg/if_lagg.c: revision 1.67 sys/net/lagg/if_lagg_lacp.c: revision 1.30 sys/net/lagg/if_lagg.c: revision 1.68 sys/net/lagg/if_laggproto.c: revision 1.10 sys/net/lagg/if_lagg_lacp.c: revision 1.31 sys/net/lagg/if_lagg.c: revision 1.69 sys/net/lagg/if_laggproto.c: revision 1.11 sys/net/lagg/if_lagg_lacp.c: revision 1.32 sys/net/lagg/if_laggproto.c: revision 1.12 sys/net/lagg/if_lagg_lacp.c: revision 1.33 sys/net/lagg/if_laggproto.c: revision 1.13 sys/net/lagg/if_lagg_lacp.c: revision 1.34 sys/net/lagg/if_laggproto.c: revision 1.14 sys/net/lagg/if_lagg_lacp.c: revision 1.35 Set the fastest linkspeed in each physical interface to lagg(4) lagg(4): Added logs about LACP processing lagg(4): Fix missing IFNET_LOCK acquirement lagg(4): update link speed when a physical interface is removed lagg(4): fix missing update of the number of active ports lagg(4): Added 0 length check lagg(4): Added LACP_READY state for logging when a port turns SELECTED or UNSELECTED lagg(4): added log on detaching a port from SELECTED state to STANDBY acquire LAGG_PROTO_LOCK instead of pserialize read section lagg(4): Remove unnecessary LAGG_LOCK holding while lagg_proto_detach() to avoid deadlock in workqueue_wait due to LAGG_LOCK holding lagg_proto_detach dose not need to hold LAGG_LOCK because only one context can access to a detaching protocol after sc->sc_var is updated. But it was held without any reason. And it had caused a deadlock by holding LAGG_LOCK in caller of workqueue_wait and waiting for the lock in worker. added missing LAGG_UNLOCK() lagg(4): move comment about IFF_PROMISC pointed out by ozaki-r@, thanks. lagg(4): added NULL check for pfil_run_hooks pointed out by ozaki-r@, thanks. lagg(4): change errno suggested by ozaki-r@, thanks. lagg(4): increase output packets and bytes only if no error occurred pointed out by ozaki-r@, thanks. lagg(4): replace NULL check with KASSERT because lp_softc is always non-NULL lagg(4): Use CTASSERT Added KASSERT for LACP_LOCK lagg(4): move allocate memory before ioctl Added comments to lagg(4) lagg(4): added __predict_true lagg(4): added missing pserialize_read_enter fix missing LACP_LOCK lagg(4): added check of LACP running state for safety When LACP stops, the handler of callout do nothing because all port is already detached from lacp. Therefore, the added checks are just for safety. added missing workq_wait for lacp_tick_work() lagg(4): set suppress at the same time with distribution state lagg(4): remove unnecessary masking pointed out by ozaki-r@, thanks. lagg(4): move reply limitation to recive processing lagg(4): release lock before pserialize_perform() if possible lagg(4): Added vlan check lagg(4): Fix missing destroy for list and entry lagg(4) test: Fix typo and old comment lagg: fill name of workqueue correctly Found by KASSERT failure for DIAGNOSTIC kernel. Authored by ozaki-r@. To generate a diff of this commit: cvs rdiff -u -r1.48.4.3 -r1.48.4.4 src/sys/net/lagg/if_lagg.c cvs rdiff -u -r1.25.4.1 -r1.25.4.2 src/sys/net/lagg/if_lagg_lacp.c cvs rdiff -u -r1.4 -r1.4.4.1 src/sys/net/lagg/if_lagg_lacp.h cvs rdiff -u -r1.6 -r1.6.4.1 src/sys/net/lagg/if_laggproto.c cvs rdiff -u -r1.18 -r1.18.4.1 src/sys/net/lagg/if_laggproto.h cvs rdiff -u -r1.8.2.1 -r1.8.2.2 src/tests/net/if_lagg/t_lagg.sh Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.