AM5728: VLAN over Bond PTP only works in promiscuous mode

Part Number: AM5728

Tool/software:

Hello,

Kernel: 6.6.33

Using cpsw_switchdev driver

PTP is only working via VLAN over Bond when promiscuous mode is set for the device (bond0.vlan62). No foreign master is found and the local clock is selected

PTP over VLAN is working just fine (eth0.vlan62). The foreign master is found and synced

bond0     Link encap:Ethernet  HWaddr EE:98:1E:84:BA:E8
          inet addr:172.31.5.252  Bcast:172.31.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:1487 errors:0 dropped:0 overruns:0 frame:0
          TX packets:173 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:114369 (111.6 KiB)  TX bytes:14230 (13.8 KiB)

bond0.vlan62 Link encap:Ethernet  HWaddr EE:98:1E:84:BA:E8
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1010 errors:0 dropped:843 overruns:0 frame:0
          TX packets:67 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:46934 (45.8 KiB)  TX bytes:5386 (5.2 KiB)

eth0      Link encap:Ethernet  HWaddr EE:98:1E:84:BA:E8
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:1281 errors:0 dropped:0 overruns:0 frame:0
          TX packets:105 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:90566 (88.4 KiB)  TX bytes:8056 (7.8 KiB)

eth0.vlan62 Link encap:Ethernet  HWaddr EE:98:1E:84:BA:E8
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:259 errors:0 dropped:169 overruns:0 frame:0
          TX packets:35 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:12096 (11.8 KiB)  TX bytes:3128 (3.0 KiB)

ptp4l -i eth0.vlan62 -m -s --transportSpecific=0x1 --network_transport=L2 

ptp4l[1258.105]: selected /dev/ptp1 as PTP clock
ptp4l[1258.184]: port 1 (eth0.vlan62): INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[1258.185]: port 0 (/var/run/ptp4l): INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[1258.185]: port 0 (/var/run/ptp4lro): INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[1258.379]: port 1 (eth0.vlan62): new foreign master 0001bb.fffe.029e08-1

ptp4l -i bond0.vlan62 -m -s --transportSpecific=0x1 --network_transport=L2 

ptp4l[1322.385]: selected /dev/ptp1 as PTP clock
ptp4l[1322.488]: port 1 (bond0.vlan62): INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[1322.489]: port 0 (/var/run/ptp4l): INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[1322.489]: port 0 (/var/run/ptp4lro): INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[1328.766]: selected local clock ee981e.fffe.84bae8 as best master

ip link set bond0.vlan62 promisc on

ptp4l -i bond0.vlan62 -m -s --transportSpecific=0x1 --network_transport=L2 

ptp4l[121.515]: selected /dev/ptp1 as PTP clock
ptp4l[121.594]: port 1 (bond0.vlan62): INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[121.595]: port 0 (/var/run/ptp4l): INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[121.595]: port 0 (/var/run/ptp4lro): INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[122.086]: port 1 (bond0.vlan62): new foreign master 0001bb.fffe.029e08-1
ptp4l[124.086]: selected best master clock 0001bb.fffe.029e08