[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: checksum/tso offload makes packets vanish on wm in bridge?
On Thu, Feb 05, 2009 at 04:46:00PM -0500, Thor Simon wrote:
> It appears that if I do this:
> ifconfig wm0 10.0.0.2/24
> ifconfig bridge0 create
> ifconfig bridge0 add wm0
> Everything works as expected: I can, for example, ping 10.0.0.1.
> However, if I then do this:
> ifconfig wm0 ip4csum tcp4csum udp4csum tso4
> frames disappear without being output: tcpdump doesn't even show my
> icmp echo frames on wm0 at all, and I don't get echo replies.
> With ip4csum, tcp4csum, udp4csum tso4 on but no bridge configured,
> all works as expected.
> Has anyone else seen this? Does anyone have any idea why it might be
> happening? The host is running amd64 5.0_RC1 under Xen 3.3.
I cannot explain why your packets "vanish," but I have had problems
using the wm + bridge combination: packets were transmitted with
the wrong checksum, IIRC. I believe that the IP stack sets the
packet's m_pkthdr.csum_flags instead of calculating the IP checksum
before it calls wm's output routine, ether_output. ether_output
calls bridge_output, which calls bridge_enqueue, which resets the
csum_flags to 0 before putting it on wm's transmit queue and calling
if_start. Now there is a bad IP checksum in the packet, and wm
does not know to ask the h/w to compute the checksum.
David Young OJC Technologies
dyoung%ojctech.com@localhost Urbana, IL * (217) 278-3933
Main Index |
Thread Index |