Attempting to ping the other device connected over the same VLAN fails. Doing tcpdump on eth0.33 doesn't show any ARP or ICMP packets when pinging. However, manually tearing down the VLAN link and setting it back up, results in pings functioning. I've looked in /proc/net/vlan before and after, everything is the same. Doing "ip a" and "ip r" also shows the same results, before and after tearing things down. Doing 'arp' before and after is obviously different, showing 'incomplete' before but showing the other side's MAC after.
$ uname -a
Linux beaglebone 4.19.94-ti-r42 #1buster SMP PREEMPT Tue Mar 31 19:38:29 UTC 2020 armv7l GNU/Linux
$ ip a
4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether e4:15:f6:fa:29:e1 brd ff:ff:ff:ff:ff:ff
valid_lft forever preferred_lft forever
inet6 fe80::e615:f6ff:fefa:29e1/64 scope link
valid_lft forever preferred_lft forever
5: eth0.33'@'eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether e4:15:f6:fa:29:e1 brd ff:ff:ff:ff:ff:ff
valid_lft forever preferred_lft forever
inet6 fe80::e615:f6ff:fefa:29e1/64 scope link
valid_lft forever preferred_lft forever
$ arp
Address HWtype HWaddress Flags Mask Iface
192.168.17.2 (incomplete) eth0.33
$ sudo ip link del link eth0 name eth0.33 type vlan id 33
$ip a
<no eth0.33 in the list>
$ sudo ip link add link eth0 name eth0.33 type vlan id 33
$ ip a9: eth0.33'@'eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether e4:15:f6:fa:29:e1 brd ff:ff:ff:ff:ff:ff
valid_lft forever preferred_lft forever
inet6 fe80::e615:f6ff:fefa:29e1/64 scope link tentative
valid_lft forever preferred_lft forever
$ ping 192.168.17.2
PING 192.168.17.2 (192.168.17.2) 56(84) bytes of data.
$ arp
Address HWtype HWaddress Flags Mask Iface
192.168.17.2 ether 00:04:f3:22:a8:74 C eth0.33
I'm at a loss, I can't figure out what has changed, as the links do appear to be setup correctly.
Any thoughts?