cvs commit: src/sys/net if_lagg.c if_lagg.h

Andrew Thompson thompsa at FreeBSD.org
Thu Oct 11 20:03:17 PDT 2007


thompsa     2007-10-12 03:03:17 UTC

  FreeBSD src repository

  Modified files:
    sys/net              if_lagg.c if_lagg.h 
  Log:
  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.
  
  MFC after:              3 days
  
  Revision  Changes    Path
  1.20      +33 -36    src/sys/net/if_lagg.c
  1.11      +1 -0      src/sys/net/if_lagg.h


More information about the cvs-src mailing list