[Question Summary]
On the S32G3 board, I attempted to change the egress of emac0 from hif0 to hif1 using the following command:
libfci_cli logif-update -i emac0 --egress hif1
However, the actual traffic path does not behave as expected.
root@s32g399ardb3:~# libfci_cli phyif-print -i emac0
DISCLAIMER: T[ 2243.924784] pfeng 46000000.pfe: emac0: Unable to get MAC address: 2
his[ 2243.931384] pfeng 46000000.pfe: emac0: Unable to get MAC address: 2
is a DEMO application. It is not part of the production code deliverables.
0: emac0
<ENABLED>
<promisc:OFF, mode:DEFAULT, block-state:NORMAL>
<vlan-conf:OFF, ptp-conf:OFF, ptp-promisc:OFF, q-in-q:ON>
<discard-if-ttl-below-2:OFF, fast-forward-all-tcp:ON>
ingress: 151 egress: 54 discarded: 0 malformed: 0
flexible-filter: ---
ptp-mgmt-if: ---
MAC:
00:04:9f:be:ef:00
33:33:00:00:00:01
01:00:5e:00:00:01
33:33:ff:be:ef:00
01:80:c2:00:00:00
01:80:c2:00:00:03
01:80:c2:00:00:0e
mirrors:
rxmirr0: ---
rxmirr1: ---
txmirr0: ---
txmirr1: ---
logical interfaces:
0: emac0
<ENABLED>
<promisc:ON, match-mode:AND, discard-on-match:OFF>
accepted: 151 rejected: 0 discarded: 0 processed: 151
egress: hif1
match-rules: ---
Command successfully executed.
[Detailed Situation]
In the device tree (dts), each Linux network interface (pfe0, pfe1, pfe2, etc.) is statically mapped using the nxp,pfeng-hif-channels and nxp,pfeng-linked-phyif properties as follows:
Example:
- pfe0: hif0 (0), emac0 (0)
- pfe1: hif1 (1), emac1 (1)
- pfe2: hif2 (2), emac2 (2)
After running
libfci_cli logif-update -i emac0 --egress hif1
to change the egress of emac0 to hif1,
Expectation:
Traffic entering emac0 should be forwarded to hif1 (and thus appear on pfe1).
Reality:
No traffic appears on the pfe1 interface (tested with ping, raw socket, etc.).
Only the originally mapped interfaces (pfe0, pfe2, etc.) work as expected.
[Questions]
- Why does changing the egress with libfci_cli logif-update -i emac0 --egress hif1 not result in traffic being delivered to the corresponding Linux network interface (e.g., pfe1)?
- Does the egress setting take precedence for the actual traffic path, or is the device tree mapping always prioritized?
- What additional configuration or steps are required to dynamically change the traffic path by modifying the egress as intended?