Home | History | Annotate | Download | only in lagg
History log of /src/sys/net/lagg/if_laggproto.c
RevisionDateAuthorComments
 1.16  26-Sep-2024  rin lagg: fill name of workqueue correctly

Found by KASSERT failure for DIAGNOSTIC kernel.

Authored by ozaki-r@.
 1.15  05-Apr-2024  yamaguchi branches: 1.15.2;
lagg(4): Fix missing destroy for list and entry
 1.14  05-Apr-2024  yamaguchi lagg(4): release lock before pserialize_perform() if possible
 1.13  05-Apr-2024  yamaguchi lagg(4): remove unnecessary masking

pointed out by ozaki-r@, thanks.
 1.12  04-Apr-2024  yamaguchi acquire LAGG_PROTO_LOCK instead of pserialize read section
 1.11  04-Apr-2024  yamaguchi lagg(4): Added 0 length check
 1.10  04-Apr-2024  yamaguchi lagg(4): fix missing update of the number of active ports
 1.9  04-Apr-2024  yamaguchi lagg(4): update link speed when a physical interface is removed
 1.8  28-Nov-2023  yamaguchi lagg(4): Fix missing IFNET_LOCK acquirement
 1.7  22-Nov-2023  yamaguchi Set the fastest linkspeed in each physical interface to lagg(4)
 1.6  31-Mar-2022  yamaguchi branches: 1.6.4;
rename lagg_enqueue to lagg_output

NFC
 1.5  31-Mar-2022  yamaguchi Make lagg interface specified "laggproto none" able to up
 1.4  31-Mar-2022  yamaguchi set active when the port is distributing
 1.3  31-Mar-2022  yamaguchi lagg(4): use KASSERT
 1.2  24-May-2021  thorpej branches: 1.2.2; 1.2.6;
Remove leading blank line.
 1.1  17-May-2021  yamaguchi Add a new link-aggregation pseudo interface named lagg(4)

- FreeBSD's lagg(4) based implementation
- MP-safe and MP-scalable
 1.2.6.2  17-Jun-2021  thorpej Sync w/ HEAD.
 1.2.6.1  24-May-2021  thorpej file if_laggproto.c was added on branch thorpej-i2c-spi-conf on 2021-06-17 04:46:35 +0000
 1.2.2.2  31-May-2021  cjep sync with head
 1.2.2.1  24-May-2021  cjep file if_laggproto.c was added on branch cjep_staticlib_x on 2021-05-31 22:15:21 +0000
 1.6.4.1  03-Oct-2024  martin 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@.
 1.15.2.1  02-Aug-2025  perseant Sync with HEAD

RSS XML Feed