https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291420
Bug ID: 291420
Summary: [epair] Bad UDP packet checksum with epair(4) and
txcsum enabled
Product: Base System
Version: 14.3-STABLE
Hardware: amd64
OS: Any
Status: New
Severity: Affects Only Me
Priority: ---
Component: kern
Assignee: [email protected]
Reporter: [email protected]
Created attachment 265874
--> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=265874&action=edit
traffic dump
Bad udp checksum, when `txcsum` enabled on `epair` interface
Host mashine
```
bge1: flags=1008943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST,LOWER_UP>
metric 0 mtu 1500
options=c009b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,VLAN_HWTSO,LINKSTATE>
ether c4:34:6b:b8:e4:39
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
bridge1: flags=1008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,LOWER_UP> metric
0 mtu 1500
options=0
ether 58:9c:fc:10:ff:ca
id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200
root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
member: epair1a flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
ifmaxaddr 0 port 19 priority 128 path cost 2000
member: bge1 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
ifmaxaddr 0 port 2 priority 128 path cost 55
groups: bridge
epair1a: flags=1008943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST,LOWER_UP>
metric 0 mtu 1500
options=20000b<RXCSUM,TXCSUM,VLAN_MTU,RXCSUM_IPV6>
ether 02:ef:5d:1e:0d:0a
groups: epair
media: Ethernet 10Gbase-T (10Gbase-T <full-duplex>)
status: active
nd6 options=9<PERFORMNUD,IFDISABLED>
```
Inside jail
```
epair1b: flags=1008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,LOWER_UP> metric
0 mtu 1500
options=20000b<RXCSUM,TXCSUM,VLAN_MTU,RXCSUM_IPV6>
ether 02:ef:5d:1e:0d:0b
inet 193.34.20.8 netmask 0xfffffff0 broadcast 193.34.20.15
groups: epair
media: Ethernet 10Gbase-T (10Gbase-T <full-duplex>)
status: active
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
```
193.34.20.4 - neighbors machine
Trying `drill i.ua @193.34.20.4` inside jail
On neighbor machine `bad checksum` counter increased by three
```
# netstat -sp udp
udp:
5505590454 datagrams received
0 with incomplete header
17 with bad data length field
46288 with bad checksum
```
PCAP file attached
first three packets - unanswered (bad checksum)
fourth packet - with disabled `txcsum` on 'epair1a`
fifth packet - answer to the fourth
enable/disable txcsum on bge1 interface - does not give results
enable/disable net.inet.udp.checksum - does not give results
Additional
dev.bge.3.forced_udpcsum: 0
dev.bge.2.forced_udpcsum: 0
dev.bge.1.forced_udpcsum: 0
dev.bge.0.forced_udpcsum: 0
===============================================================================
ALSO. It's unbelievable - but it's true
I have no idea why it works this way.
Inside Jail
# ping 193.34.20.5
PING 193.34.20.5 (193.34.20.5): 56 data bytes
^C
--- 193.34.20.5 ping statistics ---
2 packets transmitted, 0 packets received, 100.0% packet loss
Press any key to continue...
# ping 193.34.20.4
PING 193.34.20.4 (193.34.20.4): 56 data bytes
64 bytes from 193.34.20.4: icmp_seq=0 ttl=64 time=0.702 ms
64 bytes from 193.34.20.4: icmp_seq=1 ttl=64 time=0.465 ms
--
You are receiving this mail because:
You are the assignee for the bug.