Hi,
We have received the following comment:
"This is standard linux and nothing to do with the pfe mode/state.
I haven’t verified extensively but here’s what I done to check:
ip a add 192.0.0.123/24 dev pfe0
ip link add link pfe0 name pfe0.20 address 00:11:11:11:11:11 type vlan id 20
ip a add 192.0.0.124/24 dev pfe0.20
ifconfig pfe0 up
ifconfig pfe0.20 up
ifconfig
pfe0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.0.0.123 netmask 255.255.255.0 broadcast 0.0.0.0
inet6 fe80::201:beff:febe:ef11 prefixlen 64 scopeid 0x20<link>
ether 00:01:be:be:ef:11 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device memory 0x46000000-46ffffff
pfe0.20: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.0.0.124 netmask 255.255.255.0 broadcast 0.0.0.0
inet6 fe80::211:11ff:fe11:1111 prefixlen 64 scopeid 0x20<link>
ether 00:11:11:11:11:11 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ip route add 192.0.0.100/32 via 192.0.0.123 dev pfe0
ip route add 192.0.0.101/32 via 192.0.0.124 dev pfe0.20
ip r
192.0.0.0/24 dev pfe0 proto kernel scope link src 192.0.0.123
192.0.0.0/24 dev pfe0.20 proto kernel scope link src 192.0.0.124
192.0.0.100 via 192.0.0.123 dev pfe0
192.0.0.101 via 192.0.0.124 dev pfe0.20
ping 192.0.0.100
Output of tcpdump is:
17:26:19.059989 00:01:be:be:ef:11 (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 42: Request who-has 192.0.0.100 tell s32g274aevb, length 28
0x0000: ffff ffff ffff 0001 bebe ef11 0806 0001 ................
0x0010: 0800 0604 0001 0001 bebe ef11 c000 007b ...............{
0x0020: 0000 0000 0000 c000 0064 .........d
Ping 192.0.0.101
Output of tcpdump is:
17:27:04.726531 00:11:11:11:11:11 (oui Unknown) > Broadcast, ethertype 802.1Q (0x8100), length 46: vlan 20, p 0, ethertype ARP, Request who-has 192.0.0.101 tell s32g274aevb, length 28
0x0000: ffff ffff ffff 0011 1111 1111 8100 0014 ................
0x0010: 0806 0001 0800 0604 0001 0011 1111 1111 ................
0x0020: c000 007c 0000 0000 0000 c000 0065 ...|.........e
cat /dev/urandom | nc -u 192.0.0.100 123
17:28:24.989939 00:01:be:be:ef:11 (oui Unknown) > 00:01:23:45:67:00 (oui Unknown), ethertype IPv4 (0x0800), length 1066: s32g274aevb.49078 > 192.0.0.100.ntp: NTPv0, unspecified, length 1024
0x0000: 0001 2345 6700 0001 bebe ef11 0800 4500 ..#Eg.........E.
0x0010: 041c 99d1 4000 4011 1c20 c000 007b c000
cat /dev/urandom | nc -u 192.0.0.101 123
17:30:31.993536 00:11:11:11:11:11 (oui Unknown) > 00:01:23:45:67:02 (oui Unknown), ethertype 802.1Q (0x8100), length 1070: vlan 20, p 0, ethertype IPv4, s32g274aevb.52319 > 192.0.0.101.ntp: NTPv0, symmetric active, length 1024
0x0000: 0001 2345 6702 0011 1111 1111 8100 0014 ..#Eg...........
0x0010: 0800 4500 041c 3821 4000 4011 7dce c000
If they are going to use the same subnet for the base port and the VLAN port attached to it then they need to use the ip route command to assign IP addresses on that subnet to either the base port or the VLAN port. If they don’t then Linux will use the first rule of any duplicate rules it hits in the route table to send out traffic. The easiest way round this is to use different subnets for the base and vlan ports, otherwise they need to use ip route or some other method like netns."
We also understand that a local FAE is at this moment giving you support. This information was already being sent to you through him. Let us know if you want us to duplicate the information or if you prefer to continue with the support of the local FAE only.
Please, let us know.