cvs commit: src/sys/net if_lagg.c if_lagg.h
thompsa at FreeBSD.org
Wed Oct 17 18:28:30 PDT 2007
thompsa 2007-10-18 01:28:30 UTC
FreeBSD src repository
Modified files: (Branch: RELENG_7)
sys/net if_lagg.c if_lagg.h
MFC if_lagg.c r1.20, if_lagg.h r1.11
Fix two panics in lagg.
1. The locking was changed to shared but roundrobin mode still updated a
pointer in the softc with the next tx interface to use. This will panic
under high load. Change this to an atomically incremented sequence number
in order to choose the tx port in round robin.
2. IFQ_HANDOFF will free the mbuf if the queue is full, this will then be
freed again by lagg_start() and panic. Reorganised the error handling and
freeing to fix this.
Approved by: re (kensmith)
Revision Changes Path
18.104.22.168 +33 -36 src/sys/net/if_lagg.c
22.214.171.124 +1 -0 src/sys/net/if_lagg.h
More information about the cvs-src