Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 24 May 2003 22:04:26 -0700 (PDT)
From:      Don Lewis <truckman@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/dev/fxp if_fxp.c
Message-ID:  <200305250504.h4P54Qij040450@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
truckman    2003/05/24 22:04:26 PDT

  FreeBSD src repository

  Modified files:
    sys/dev/fxp          if_fxp.c 
  Log:
  Always set the hardware parse bit in the IPCB structure when this
  structure, which is new to the 82550 and 82551, is used to transmit
  a packet.  This appears to fix the packet truncation problem that was
  observed when using 82550-based fxp cards to transmit ICMP or fragmented
  UDP packets of certain lengths which only had one to three bytes in the
  second and final mbuf of the packet.  This matches a note in the "Intel
  8255x 10/100 Mbps Ethernet Controller Family Open Source Software Developer
  Manual", which says that the hardware parse bit should be set when sending
  these types of packets.
  
  There have also been unconfirmed reports of similar problems when
  transmitting TCP packets, which should not be affected by the above
  mentioned change because the hardware parse bit was already being set
  if the stack requested hardware checksumming of the packet.  If the
  problem remains, the use of the IPCB structure can be disabled to
  cause the driver to fall back to using the older 82559 interface with
  82550-based cards by setting
          hint.fxp.UNIT_NUMBER.ipcbxmit_disable
  to a non-zero value at boot time, or using kenv to set this variable
  before using kldload to load the fxp driver.
  
  Approved by:    re (jhb)
  
  Revision  Changes    Path
  1.180     +41 -4     src/sys/dev/fxp/if_fxp.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200305250504.h4P54Qij040450>