S32G3 PFE: egress Change via libfci_cli Not Reflected in Linux Network Interface Traffic Path

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

S32G3 PFE: egress Change via libfci_cli Not Reflected in Linux Network Interface Traffic Path

Jump to solution
2,170 Views
minJ
Contributor I

[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]

  1. 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)?
  2. Does the egress setting take precedence for the actual traffic path, or is the device tree mapping always prioritized?
  3. What additional configuration or steps are required to dynamically change the traffic path by modifying the egress as intended?
Labels (1)
0 Kudos
Reply
1 Solution
2,105 Views
chenyin_h
NXP Employee
NXP Employee

Hello, @minJ 

Thanks for your confirmation.

As far as I know, currently dynamically updating the bindings(emac, hif) during run-time is not supported in Linux PFE drivers.

 

BR

Chenyin

View solution in original post

0 Kudos
Reply
4 Replies
2,144 Views
chenyin_h
NXP Employee
NXP Employee

Hello, @minJ 

Thanks for the post.

I will check it soon, may I know which version BSP you are working with? 

 

BR

Chenyin

0 Kudos
Reply
2,142 Views
minJ
Contributor I
0 Kudos
Reply
2,106 Views
chenyin_h
NXP Employee
NXP Employee

Hello, @minJ 

Thanks for your confirmation.

As far as I know, currently dynamically updating the bindings(emac, hif) during run-time is not supported in Linux PFE drivers.

 

BR

Chenyin

0 Kudos
Reply
1,836 Views
minJ
Contributor I
Thank you for your response.
0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-2322294%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ES32G3%20PFE%3A%20egress%20Change%20via%20libfci_cli%20Not%20Reflected%20in%20Linux%20Network%20Interface%20Traffic%20Path%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2322294%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%5BQuestion%20Summary%5D%3CBR%20%2F%3EOn%20the%20S32G3%20board%2C%20I%20attempted%20to%20change%20the%20egress%20of%20emac0%20from%20hif0%20to%20hif1%20using%20the%20following%20command%3A%3CBR%20%2F%3Elibfci_cli%20logif-update%20-i%20emac0%20--egress%20hif1%3CBR%20%2F%3EHowever%2C%20the%20actual%20traffic%20path%20does%20not%20behave%20as%20expected.%3C%2FP%3E%3CBR%20%2F%3E%3CP%3Eroot%40s32g399ardb3%3A~%23%20libfci_cli%20phyif-print%20-i%20emac0%3CBR%20%2F%3EDISCLAIMER%3A%20T%5B%202243.924784%5D%20pfeng%2046000000.pfe%3A%20emac0%3A%20Unable%20to%20get%20MAC%20address%3A%202%3CBR%20%2F%3Ehis%5B%202243.931384%5D%20pfeng%2046000000.pfe%3A%20emac0%3A%20Unable%20to%20get%20MAC%20address%3A%202%3CBR%20%2F%3Eis%20a%20DEMO%20application.%20It%20is%20not%20part%20of%20the%20production%20code%20deliverables.%3CBR%20%2F%3E0%3A%20emac0%3CBR%20%2F%3E%3CENABLED%3E%3CBR%20%2F%3E%3COFF%3E%3CBR%20%2F%3E%3COFF%3E%3CBR%20%2F%3E%3COFF%3E%3CBR%20%2F%3Eingress%3A%20151%20egress%3A%2054%20discarded%3A%200%20malformed%3A%200%3CBR%20%2F%3Eflexible-filter%3A%20---%3CBR%20%2F%3Eptp-mgmt-if%3A%20---%3CBR%20%2F%3EMAC%3A%3CBR%20%2F%3E00%3A04%3A9f%3Abe%3Aef%3A00%3CBR%20%2F%3E33%3A33%3A00%3A00%3A00%3A01%3CBR%20%2F%3E01%3A00%3A5e%3A00%3A00%3A01%3CBR%20%2F%3E33%3A33%3Aff%3Abe%3Aef%3A00%3CBR%20%2F%3E01%3A80%3Ac2%3A00%3A00%3A00%3CBR%20%2F%3E01%3A80%3Ac2%3A00%3A00%3A03%3CBR%20%2F%3E01%3A80%3Ac2%3A00%3A00%3A0e%3CBR%20%2F%3Emirrors%3A%3CBR%20%2F%3Erxmirr0%3A%20---%3CBR%20%2F%3Erxmirr1%3A%20---%3CBR%20%2F%3Etxmirr0%3A%20---%3CBR%20%2F%3Etxmirr1%3A%20---%3CBR%20%2F%3Elogical%20interfaces%3A%3CBR%20%2F%3E0%3A%20emac0%3CBR%20%2F%3E%3CENABLED%3E%3CBR%20%2F%3E%3CON%3E%3CBR%20%2F%3Eaccepted%3A%20151%20rejected%3A%200%20discarded%3A%200%20processed%3A%20151%3CBR%20%2F%3Eegress%3A%20hif1%3CBR%20%2F%3Ematch-rules%3A%20---%3CBR%20%2F%3ECommand%20successfully%20executed.%3C%2FON%3E%3C%2FENABLED%3E%3C%2FOFF%3E%3C%2FOFF%3E%3C%2FOFF%3E%3C%2FENABLED%3E%3C%2FP%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CP%3E%5BDetailed%20Situation%5D%3CBR%20%2F%3EIn%20the%20device%20tree%20(dts)%2C%20each%20Linux%20network%20interface%20(pfe0%2C%20pfe1%2C%20pfe2%2C%20etc.)%20is%20statically%20mapped%20using%20the%20nxp%2Cpfeng-hif-channels%20and%20nxp%2Cpfeng-linked-phyif%20properties%20as%20follows%3A%3C%2FP%3E%3CP%3EExample%3A%3C%2FP%3E%3CUL%3E%3CLI%3Epfe0%3A%20hif0%20(0)%2C%20emac0%20(0)%3C%2FLI%3E%3CLI%3Epfe1%3A%20hif1%20(1)%2C%20emac1%20(1)%3C%2FLI%3E%3CLI%3Epfe2%3A%20hif2%20(2)%2C%20emac2%20(2)%3C%2FLI%3E%3C%2FUL%3E%3CP%3EAfter%20running%3CBR%20%2F%3Elibfci_cli%20logif-update%20-i%20emac0%20--egress%20hif1%3CBR%20%2F%3Eto%20change%20the%20egress%20of%20emac0%20to%20hif1%2C%3C%2FP%3E%3CP%3EExpectation%3A%3CBR%20%2F%3ETraffic%20entering%20emac0%20should%20be%20forwarded%20to%20hif1%20(and%20thus%20appear%20on%20pfe1).%3C%2FP%3E%3CP%3EReality%3A%3CBR%20%2F%3ENo%20traffic%20appears%20on%20the%20pfe1%20interface%20(tested%20with%20ping%2C%20raw%20socket%2C%20etc.).%3CBR%20%2F%3EOnly%20the%20originally%20mapped%20interfaces%20(pfe0%2C%20pfe2%2C%20etc.)%20work%20as%20expected.%3C%2FP%3E%3CP%3E%5BQuestions%5D%3C%2FP%3E%3COL%3E%3CLI%3EWhy%20does%20changing%20the%20egress%20with%20libfci_cli%20logif-update%20-i%20emac0%20--egress%20hif1%20not%20result%20in%20traffic%20being%20delivered%20to%20the%20corresponding%20Linux%20network%20interface%20(e.g.%2C%20pfe1)%3F%3C%2FLI%3E%3CLI%3EDoes%20the%20egress%20setting%20take%20precedence%20for%20the%20actual%20traffic%20path%2C%20or%20is%20the%20device%20tree%20mapping%20always%20prioritized%3F%3C%2FLI%3E%3CLI%3EWhat%20additional%20configuration%20or%20steps%20are%20required%20to%20dynamically%20change%20the%20traffic%20path%20by%20modifying%20the%20egress%20as%20intended%3F%3C%2FLI%3E%3C%2FOL%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2322294%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3EGoldVIP%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2322470%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32G3%20PFE%3A%20egress%20Change%20via%20libfci_cli%20Not%20Reflected%20in%20Linux%20Network%20Interface%20Traffic%20Path%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2322470%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EBSP46.0%3CBR%20%2F%3E%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fnxp-auto-linux%2Fauto_yocto_bsp%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2Fnxp-auto-linux%2Fauto_yocto_bsp%3C%2FA%3E%3CBR%20%2F%3E%3CBR%20%2F%3EThanks.%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2322452%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32G3%20PFE%3A%20egress%20Change%20via%20libfci_cli%20Not%20Reflected%20in%20Linux%20Network%20Interface%20Traffic%20Path%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2322452%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%2C%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F260071%22%20target%3D%22_blank%22%3E%40minJ%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThanks%20for%20the%20post.%3C%2FP%3E%0A%3CP%3EI%20will%20check%20it%20soon%2C%20may%20I%20know%20which%20version%20BSP%20you%20are%20working%20with%3F%26nbsp%3B%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3EBR%3C%2FP%3E%0A%3CP%3EChenyin%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2323572%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32G3%20PFE%3A%20egress%20Change%20via%20libfci_cli%20Not%20Reflected%20in%20Linux%20Network%20Interface%20Traffic%20Path%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2323572%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%2C%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F260071%22%20target%3D%22_blank%22%3E%40minJ%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThanks%20for%20your%20confirmation.%3C%2FP%3E%0A%3CP%3EAs%20far%20as%20I%20know%2C%20currently%20dynamically%20updating%20the%20bindings(emac%2C%20hif)%20during%20run-time%20is%20not%20supported%20in%20Linux%20PFE%20drivers.%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3EBR%3C%2FP%3E%0A%3CP%3EChenyin%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2332621%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32G3%20PFE%3A%20egress%20Change%20via%20libfci_cli%20Not%20Reflected%20in%20Linux%20Network%20Interface%20Traffic%20Path%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2332621%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EThank%20you%20for%20your%20response.%3C%2FLINGO-BODY%3E