[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