[Bug 247147] smsc driver VLAN packet reception does not work
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Wed Jun 10 15:02:14 UTC 2020
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=247147
Bug ID: 247147
Summary: smsc driver VLAN packet reception does not work
Product: Base System
Version: CURRENT
Hardware: arm64
OS: Any
Status: New
Severity: Affects Only Me
Priority: ---
Component: kern
Assignee: bugs at FreeBSD.org
Reporter: iz-rpi03 at hs-karlsruhe.de
Hello,
while setting up a service on a smsc driver based VLAN I discovered that
the interface does not receive any VLAN tagged packet but is able to send
such.
The system with the smsc interface is a RPi 3B hardware.
The other system is a standard desktop.
Both systems are connected via a unmanaged switch and running CURRENT.
The RPi is at r361822, the desktop at r361721.
To reproduce the bug, I set up a VLAN 1510 with a IPv4 address 10.151.15.253/20
on the RPi 3B and 10.151.15.250/20 on the desktop.
Then I pinged the base interface addresses vice versa. Which worked as
expected.
After that I pinged the VLAN IPv4 addresses. Which does not work.
As you can see by the following tcpdump output, the desktop gets the ARP
requests from the RPi 3B and generates ARP replys, but the RPi 3B does
not get them.
Experimenting with static ARP entries does not fix the problem as the
ICMP echo (replys) were not printed by tcpdump.
At the moment it looks to me like the VLAN transmit path in the smsc driver
is fine while, while the VLAN reception path is not working.
Meanwhile a colleague tried the same with his RPi 3B+ (muge driver)
successfully. Because of that I think it is smsc related.
Directly following are two screen(1) logs from the RPi 3B and from the
desktop, to show what I have tried and what the results were.
Regards, Ralf
+++ On the RPi 3B +++
# ifconfig ue0
ue0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=80009<RXCSUM,VLAN_MTU,LINKSTATE>
ether b8:27:eb:ee:12:27
inet 192.168.178.30 netmask 0xffffff00 broadcast 192.168.178.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>
# ifconfig ue0.1510 create vlan 1510 vlandev ue0 inet 10.151.15.253/20
# ifconfig ue0.1510
ue0.1510: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=80000<LINKSTATE>
ether b8:27:eb:ee:12:27
inet 10.151.15.253 netmask 0xfffff000 broadcast 10.151.15.255
groups: vlan
vlan: 1510 vlanpcp: 0 parent interface: ue0
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
# ping -c3 192.168.178.20
PING 192.168.178.20 (192.168.178.20): 56 data bytes
64 bytes from 192.168.178.20: icmp_seq=0 ttl=64 time=1.583 ms
64 bytes from 192.168.178.20: icmp_seq=1 ttl=64 time=0.859 ms
64 bytes from 192.168.178.20: icmp_seq=2 ttl=64 time=0.724 ms
--- 192.168.178.20 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.724/1.056/1.583/0.377 ms
# ping -c3 10.151.15.250
PING 10.151.15.250 (10.151.15.250): 56 data bytes
--- 10.151.15.250 ping statistics ---
3 packets transmitted, 0 packets received, 100.0% packet loss
# ping -c3 10.151.15.250
PING 10.151.15.250 (10.151.15.250): 56 data bytes
--- 10.151.15.250 ping statistics ---
3 packets transmitted, 0 packets received, 100.0% packet loss
# (sleep 10; ping -c3 10.151.15.250 ) & tcpdump -i ue0.1510
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ue0.1510, link-type EN10MB (Ethernet), capture size 262144 bytes
PING 10.151.15.250 (10.151.15.250): 56 data bytes
14:12:26.457851 ARP, Request who-has 10.151.15.250 tell 10.151.15.253, length
28
14:12:27.460115 ARP, Request who-has 10.151.15.250 tell 10.151.15.253, length
28
14:12:28.462050 ARP, Request who-has 10.151.15.250 tell 10.151.15.253, length
28
^C
3 packets captured
3 packets received by filter
0 packets dropped by kernel
#
--- 10.151.15.250 ping statistics ---
3 packets transmitted, 0 packets received, 100.0% packet loss
#
# arp -a
? (10.151.15.253) at b8:27:eb:ee:12:27 on ue0.1510 permanent [vlan]
rpi3b.fritz.box (192.168.178.30) at b8:27:eb:ee:12:27 on ue0 permanent
[ethernet]
#
--- On the RPi 3b ---
+++ On the desktop +++
# ifconfig em0
em0: flags=8863<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=481249b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,LRO,WOL_MAGIC,VLAN_HWFILTER,NOMAP>
ether 78:24:af:40:71:b7
inet 192.168.178.20 netmask 0xffffff00 broadcast 192.168.178.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>
# ifconfig em0.1510 create vlan 1510 vlandev em0 inet 10.151.15.250/20
# ifconfig em0.1510
em0.1510: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=4000403<RXCSUM,TXCSUM,LRO,NOMAP>
ether 78:24:af:40:71:b7
inet 10.151.15.250 netmask 0xfffff000 broadcast 10.151.15.255
groups: vlan
vlan: 1510 vlanpcp: 0 parent interface: em0
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
# ping -c3 192.168.178.30
PING 192.168.178.30 (192.168.178.30): 56 data bytes
64 bytes from 192.168.178.30: icmp_seq=0 ttl=64 time=0.748 ms
64 bytes from 192.168.178.30: icmp_seq=1 ttl=64 time=0.696 ms
64 bytes from 192.168.178.30: icmp_seq=2 ttl=64 time=0.695 ms
--- 192.168.178.30 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.695/0.713/0.748/0.025 ms
# ping -c3 10.151.15.253
PING 10.151.15.253 (10.151.15.253): 56 data bytes
--- 10.151.15.253 ping statistics ---
3 packets transmitted, 0 packets received, 100.0% packet loss
# ping -c3 10.151.15.253
PING 10.151.15.253 (10.151.15.253): 56 data bytes
--- 10.151.15.253 ping statistics ---
3 packets transmitted, 0 packets received, 100.0% packet loss
# ping -c3 10.151.15.253
PING 10.151.15.253 (10.151.15.253): 56 data bytes
--- 10.151.15.253 ping statistics ---
3 packets transmitted, 0 packets received, 100.0% packet loss
# tcpdump -i em0.1510
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on em0.1510, link-type EN10MB (Ethernet), capture size 262144 bytes
14:10:17.401100 ARP, Request who-has 10.151.15.250 tell 10.151.15.253, length
42
14:10:17.401108 ARP, Reply 10.151.15.250 is-at 78:24:af:40:71:b7 (oui Unknown),
length 28
14:10:18.427268 ARP, Request who-has 10.151.15.250 tell 10.151.15.253, length
42
14:10:18.427275 ARP, Reply 10.151.15.250 is-at 78:24:af:40:71:b7 (oui Unknown),
length 28
14:10:19.453012 ARP, Request who-has 10.151.15.250 tell 10.151.15.253, length
42
14:10:19.453020 ARP, Reply 10.151.15.250 is-at 78:24:af:40:71:b7 (oui Unknown),
length 28
14:12:26.458965 ARP, Request who-has 10.151.15.250 tell 10.151.15.253, length
42
14:12:26.458972 ARP, Reply 10.151.15.250 is-at 78:24:af:40:71:b7 (oui Unknown),
length 28
14:12:27.461071 ARP, Request who-has 10.151.15.250 tell 10.151.15.253, length
42
14:12:27.461079 ARP, Reply 10.151.15.250 is-at 78:24:af:40:71:b7 (oui Unknown),
length 28
14:12:28.463073 ARP, Request who-has 10.151.15.250 tell 10.151.15.253, length
42
14:12:28.463082 ARP, Reply 10.151.15.250 is-at 78:24:af:40:71:b7 (oui Unknown),
length 28
^C
12 packets captured
12 packets received by filter
0 packets dropped by kernel
#
# arp -a
? (10.151.15.250) at 78:24:af:40:71:b7 on em0.1510 permanent [vlan]
? (10.151.15.253) at b8:27:eb:ee:12:27 on em0.1510 expires in 10 seconds [vlan]
desktop.fritz.box (192.168.178.20) at 78:24:af:40:71:b7 on em0 permanent
[ethernet]
#
--- On the desktop ---
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list