fmc policy with ipv4.ttl value

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

fmc policy with ipv4.ttl value

Jump to solution
1,178 Views
sedat_altun
Contributor III

I am trying to steer the packets received from eth3(fm2-mac10) interface with same ipv4 ttl (time to live) value to a single core by using FMC policies.

My board is T4240RDB with SDK 1.6 components.

If I add ipv4.ttl field in my FMC policies I got  core-dump.  But instead of ttl field if I use tos(type of service) there is no error.

My policy and core-dump are printed below.

POLICY FILE:

<?xml version="1.0" encoding="utf-8"?>
<!--
FMAN0/1 FMC policy file

Copyright (C) 2014 Freescale Semiconductor, Inc.

-->
<netpcd xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="xmlProject/pcd.xsd" name="example"
         description="FMAN Tester configuration">

      <distribution name="eth3">
                     <queue count="128" base="0x3c80"/>
                     <key>
                           <fieldref name="ipv4.src"/>
                           <fieldref name="ipv4.dst"/>
                           <fieldref name="ipv4.ttl"/>
                     </key>
       </distribution>

<distribution name="garbage_dist_eth3">
            <queue count="1" base="0x3c80"/>
</distribution>

      <policy name="fm_policy_eth3">
         <dist_order>
                     <distributionref name="eth3"/>
                     <distributionref name="garbage_dist_eth3"/>
         </dist_order>
      </policy>
</netpcd>

CORE_DUMP:

ERR : Oops: Kernel access of bad area, sig: 11 [#1]
SMP NR_CPUS=24 Invocation of FMCoreNet Generic
_PCD_KgSchemeSetCPU: 4 PID: 2600 Comm: fmc Tainted: G W 3.12.19-rt30-00066-gcf3b586-dirty #2
tfor fm0/port/10ask: c0000002f9807500 ti: c0000002f6f24000 task.ti: c0000002f6f24000
NIP: c00000000044b614 LR: c00000000044b60c CTR: 0000000000000000
G/1/dist/eth3 faREGS: c0000002f6f27620 TRAP: 0300 Tainted: G W (3.12.19-rt30-00066-gcf3b586-dirty)
MSR: 0000000080029000 iled
<CE,EE,ME> CR: 28000444 XER: 20000000
SOFTE: 1
DEAR: 0000000000006948, ESR: 0000000000000000

GPR00: c00000000044b60c c0000002f6f278a0 c000000000b38740 000000000000002a
GPR04: 0000000000000000 0000000000000000 0000000000000263 0000000000000263
GPR08: 0000000000000001 0000000000000000 0000000000000000 0000000000000262
GPR12: 0000000028000442 c00000000fff5e00 00003ffff740be70 00003ffff740be08
GPR16: 00003ffff740bfd0 000000001015ef50 000000001015dd20 000000001015ee90
GPR20: 000000001015edd8 000000001015ed18 0000000000000001 0000000000000000
GPR24: 000000001015db70 00000000154ed760 000000001015e928 c0000002f5685000
GPR28: 000000002000e15b 0000000000000003 c0000002f7802800 0000000000000000
NIP [c00000000044b614] .FmPcdGetHcHandle+0x70/0x84
LR [c00000000044b60c] .FmPcdGetHcHandle+0x68/0x84
Call Trace:
[c0000002f6f278a0] [c000000000470050] .DetachPCD+0x7c/0x228 (unreliable)
[c0000002f6f27930] [c0000000004808dc] .FM_PORT_DeletePCD+0x318/0x5dc
[c0000002f6f279c0] [c0000000004b3ffc] .LnxwrpFmPortIOCTL+0xd88/0x267c
[c0000002f6f27b70] [c0000000004b5938] .fm_ioctls+0x48/0x130
[c0000002f6f27c00] [c0000000004b5b00] .fm_ioctl+0x58/0x88
[c0000002f6f27ca0] [c000000000122e88] .do_vfs_ioctl+0x3fc/0x6e8
[c0000002f6f27d80] [c0000000001231cc] .SyS_ioctl+0x58/0xa4
[c0000002f6f27e30] [c000000000000598] syscall_exit+0x0/0x8c
Instruction dump:
3ce2ffcb 3c62ffe4 38638808 38a5d420 38c00301 38e74518 4808c7f5 60000000
38600001 4808c7b9 60000000 38210080 <e87f6948> e8010010 ebe1fff8 7c0803a6
---[ end trace ed52d478406a8e91 ]---

0 Kudos
1 Solution
874 Views
yipingwang
NXP TechSupport
NXP TechSupport

Please refer to the comment from the development team.

This is not a bug because this operation is not supported by the HW. 

IPv4.ttl extraction is not supported by FMan KeyGen Driver because IPv4 ttl field is not supported by the Parser. 

The complete error message displayed also include the following lines that clearly explains this:

    <<Extraction not supported  /  Full header selection not supported>>

      cpu23/24: ! MAJOR FM-PCD Error [CPU23, /home/build/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_kg.c:517 GetKnownProtMask]: Unsupported Operation;
      cpu23/24: Extraction not supported
      cpu23/24:
      cpu23/24: ! MAJOR FM-PCD Error [CPU23, /home/build/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_kg.c:1514 BuildSchemeRegs]: Unsupported Operation;
      cpu23/24: Full header selection not supported

 

KeyGen extracts fields using Parser Results so only fields supported by the Parser can be extracted. 

For more information about the supported fields extraction please check the following chapters:

DPAARM Reference Manual:  8.9.3.12.2 KeyGen Scheme Entry Extract Known Fields Command Register (AWR2_RFMODE_FMKG_SE_EKFC)

Parser block guide:  26.20.7.4.8 L3 HXS—IPv4

--------------------------------------------------------------------------------------------

root@t4240rdb:/usr/etc/fman_test_pcd# fmc -c ttl_cfg_xml -p ttl_pcd.xml -a
cpu23/24: ! MAJOR FM-PCD Error [CPU23, /home/build/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_kg.c:517 GetKnownProtMask]: Unsupported Operation;
cpu23/24: Extraction not supported
cpu23/24:
cpu23/24: ! MAJOR FM-PCD Error [CPU23, /home/build/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_kg.c:1514 BuildSchemeRegs]: Unsupported Operation;
cpu23/24: Full header selection not supported
cpu23/24:
cpu23/24: ! MAJOR FM-PCD Error [CPU23, /home/build/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_kg.c:3020 FM_PCD_KgSchemeSet]: Unsupported Operation;
cpu23/24:
cpu23/24:
cpu23/24: ! MINOR FM Error [CPU23, /home/build/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_ioctls_fm.c:3444 LnxwrpFmPcdIOCTL]: Invalid Value;
cpu23/24: IOCTL FM PCD
cpu23/24:
ERR : cpu23/24: *** ASSERT_COND failed [CPU23, /home/build/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_pcd.c:770 FmPcdGetHcHandle]
Invocation of FM

FMD: fatal error, driver can't go on!!!

_PCD_KgSchemeSet----------------------
for fm1/port/1GWARNING: CPU: 23 PID: 3489 at /home/build/drivers/net/ethernet/freescale/sdk_fman/src/xx/xx_linux.c:161 .XX_Exit+0x1c/0x30
/2/dist/dist faiModules linked in:
led
CPU: 23 PID: 3489 Comm: fmc Not tainted 4.14.122-dirty #1
task: c0000002ed7855c0 task.stack: c0000002e8e00000
NIP: c00000000077c9c4 LR: c00000000077c9c0 CTR: c00000000054c414
REGS: c0000002e8e035c0 TRAP: 0700 Not tainted (4.14.122-dirty)
MSR: 0000000080029002 <CE,EE,ME> CR: 28000242 XER: 20000000
SOFTE: 1
GPR00: c00000000077c9c0 c0000002e8e03840 c0000000011b2d00 000000000000002a
GPR04: c0000002ff8e08e8 c0000002ff8e8428 c00000000113e390 c00000003ffff6c0
GPR08: 0000000000000007 c000000000fbd31c 00000002fe92a000 0000000000000020
GPR12: 0000000024000224 c00000003ffff6c0 00000000fff648a8 00000000101873e8
GPR16: 00000000fff649a0 00000000fff64910 00000000fff648dc 00000000fff649c8
GPR20: 00000000146e0aec 000000001471a3cc 000000001471a44c 00000000124e3c40
GPR24: 00000000124e3bcc 00000000000158b9 0000000010147bf0 0000000000000005
GPR28: 0000000010147bf0 0000000010147bf0 c0000002eae32eb0 0000000000000000
NIP [c00000000077c9c4] .XX_Exit+0x1c/0x30
LR [c00000000077c9c0] .XX_Exit+0x18/0x30
Call Trace:
[c0000002e8e03840] [c00000000077c9c0] .XX_Exit+0x18/0x30 (unreliable)
[c0000002e8e038b0] [c0000000006f21cc] .FmPcdGetHcHandle+0x58/0x74
[c0000002e8e03930] [c000000000712e7c] .DetachPCD+0x74/0x200
[c0000002e8e039c0] [c000000000725770] .FM_PORT_DeletePCD+0x84/0x580
[c0000002e8e03a50] [c00000000075b6d8] .LnxwrpFmPortIOCTL+0x11a8/0x2a90
[c0000002e8e03c30] [c00000000075d000] .fm_ioctls+0x40/0x148
[c0000002e8e03cc0] [c00000000075d160] .fm_compat_ioctl+0x58/0x88
[c0000002e8e03d60] [c000000000276388] .compat_SyS_ioctl+0x2a4/0x1f64
[c0000002e8e03e30] [c0000000000006b0] system_call+0x60/0x6c
Instruction dump:
ebe1fff8 7c0803a6 4e800020 4bffff9c 4bfff27c 7c0802a6 3c62ffce 38634688
f8010010 f821ff91 4b957f71 60000000 <0fe00000> 38210070 e8010010 7c0803a6
----
Unable to handle kernel paging request for data at address 0x00006948
Faulting instruction address: 0xc0000000006f21d8
Oops: Kernel access of bad area, sig: 11 1
BE SMP NR_CPUS=24 CoreNet Generic
Modules linked in:
CPU: 23 PID: 3489 Comm: fmc Tainted: G W 4.14.122-dirty #1
task: c0000002ed7855c0 task.stack: c0000002e8e00000
NIP: c0000000006f21d8 LR: c0000000006f21cc CTR: c00000000054c414
REGS: c0000002e8e036b0 TRAP: 0300 Tainted: G W (4.14.122-dirty)
MSR: 0000000080029002 <CE,EE,ME> CR: 28000242 XER: 20000000
DEAR: 0000000000006948 ESR: 0000000000000100 SOFTE: 1
GPR00: c000000000712e7c c0000002e8e03930 c0000000011b2d00 000000000000002a
GPR04: c0000002ff8e08e8 c0000002ff8e8428 c00000000113e390 c00000003ffff6c0
GPR08: 0000000000000007 c000000000fbd31c 00000002fe92a000 0000000000000020
GPR12: 0000000024000224 c00000003ffff6c0 00000000fff648a8 00000000101873e8
GPR16: 00000000fff649a0 00000000fff64910 00000000fff648dc 00000000fff649c8
GPR20: 00000000146e0aec 000000001471a3cc 000000001471a44c 00000000124e3c40
GPR24: 00000000124e3bcc 00000000000158b9 0000000010147bf0 0000000000000005
GPR28: 0000000010147bf0 0000000010147bf0 c0000002eae32eb0 0000000000000000
NIP [c0000000006f21d8] .FmPcdGetHcHandle+0x64/0x74
LR [c0000000006f21cc] .FmPcdGetHcHandle+0x58/0x74
Call Trace:
[c0000002e8e03930] [c000000000712e7c] .DetachPCD+0x74/0x200 (unreliable)
[c0000002e8e039c0] [c000000000725770] .FM_PORT_DeletePCD+0x84/0x580
[c0000002e8e03a50] [c00000000075b6d8] .LnxwrpFmPortIOCTL+0x11a8/0x2a90
[c0000002e8e03c30] [c00000000075d000] .fm_ioctls+0x40/0x148
[c0000002e8e03cc0] [c00000000075d160] .fm_compat_ioctl+0x58/0x88
[c0000002e8e03d60] [c000000000276388] .compat_SyS_ioctl+0x2a4/0x1f64
[c0000002e8e03e30] [c0000000000006b0] system_call+0x60/0x6c
Instruction dump:
38e73db8 a08d0002 38c00302 38a5ac98 38636580 4808a81d 60000000 38600001
4808a7e1 60000000 e8010090 38210080 <e87f6948> 7c0803a6 ebe1fff8 4e800020
----

Segmentation fault
root@t4240rdb:/usr/etc/fman_test_pcd#

--------------------------------------------------------------------------------------------

 

View solution in original post

0 Kudos
5 Replies
874 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello Sedat Altun,

Would you please attach your FMC policy files in this thread?

What command did you execute when you encountered core dump?

I will do more verification on the demo board.

Please refer to https://community.nxp.com/thread/391484 .

Thanks,

Yiping

0 Kudos
874 Views
sedat_altun
Contributor III

Hello,

My policy and config files for t4240rdb are attached.

Thank you.

0 Kudos
874 Views
yipingwang
NXP TechSupport
NXP TechSupport

I also reproduced this problem with QorIQ SDK 2.0 release.

I created defect to track this issue in  https://jira.sw.nxp.com/browse/QLINUX-12594 

Thanks,

Yiping

0 Kudos
875 Views
yipingwang
NXP TechSupport
NXP TechSupport

Please refer to the comment from the development team.

This is not a bug because this operation is not supported by the HW. 

IPv4.ttl extraction is not supported by FMan KeyGen Driver because IPv4 ttl field is not supported by the Parser. 

The complete error message displayed also include the following lines that clearly explains this:

    <<Extraction not supported  /  Full header selection not supported>>

      cpu23/24: ! MAJOR FM-PCD Error [CPU23, /home/build/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_kg.c:517 GetKnownProtMask]: Unsupported Operation;
      cpu23/24: Extraction not supported
      cpu23/24:
      cpu23/24: ! MAJOR FM-PCD Error [CPU23, /home/build/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_kg.c:1514 BuildSchemeRegs]: Unsupported Operation;
      cpu23/24: Full header selection not supported

 

KeyGen extracts fields using Parser Results so only fields supported by the Parser can be extracted. 

For more information about the supported fields extraction please check the following chapters:

DPAARM Reference Manual:  8.9.3.12.2 KeyGen Scheme Entry Extract Known Fields Command Register (AWR2_RFMODE_FMKG_SE_EKFC)

Parser block guide:  26.20.7.4.8 L3 HXS—IPv4

--------------------------------------------------------------------------------------------

root@t4240rdb:/usr/etc/fman_test_pcd# fmc -c ttl_cfg_xml -p ttl_pcd.xml -a
cpu23/24: ! MAJOR FM-PCD Error [CPU23, /home/build/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_kg.c:517 GetKnownProtMask]: Unsupported Operation;
cpu23/24: Extraction not supported
cpu23/24:
cpu23/24: ! MAJOR FM-PCD Error [CPU23, /home/build/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_kg.c:1514 BuildSchemeRegs]: Unsupported Operation;
cpu23/24: Full header selection not supported
cpu23/24:
cpu23/24: ! MAJOR FM-PCD Error [CPU23, /home/build/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_kg.c:3020 FM_PCD_KgSchemeSet]: Unsupported Operation;
cpu23/24:
cpu23/24:
cpu23/24: ! MINOR FM Error [CPU23, /home/build/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_ioctls_fm.c:3444 LnxwrpFmPcdIOCTL]: Invalid Value;
cpu23/24: IOCTL FM PCD
cpu23/24:
ERR : cpu23/24: *** ASSERT_COND failed [CPU23, /home/build/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_pcd.c:770 FmPcdGetHcHandle]
Invocation of FM

FMD: fatal error, driver can't go on!!!

_PCD_KgSchemeSet----------------------
for fm1/port/1GWARNING: CPU: 23 PID: 3489 at /home/build/drivers/net/ethernet/freescale/sdk_fman/src/xx/xx_linux.c:161 .XX_Exit+0x1c/0x30
/2/dist/dist faiModules linked in:
led
CPU: 23 PID: 3489 Comm: fmc Not tainted 4.14.122-dirty #1
task: c0000002ed7855c0 task.stack: c0000002e8e00000
NIP: c00000000077c9c4 LR: c00000000077c9c0 CTR: c00000000054c414
REGS: c0000002e8e035c0 TRAP: 0700 Not tainted (4.14.122-dirty)
MSR: 0000000080029002 <CE,EE,ME> CR: 28000242 XER: 20000000
SOFTE: 1
GPR00: c00000000077c9c0 c0000002e8e03840 c0000000011b2d00 000000000000002a
GPR04: c0000002ff8e08e8 c0000002ff8e8428 c00000000113e390 c00000003ffff6c0
GPR08: 0000000000000007 c000000000fbd31c 00000002fe92a000 0000000000000020
GPR12: 0000000024000224 c00000003ffff6c0 00000000fff648a8 00000000101873e8
GPR16: 00000000fff649a0 00000000fff64910 00000000fff648dc 00000000fff649c8
GPR20: 00000000146e0aec 000000001471a3cc 000000001471a44c 00000000124e3c40
GPR24: 00000000124e3bcc 00000000000158b9 0000000010147bf0 0000000000000005
GPR28: 0000000010147bf0 0000000010147bf0 c0000002eae32eb0 0000000000000000
NIP [c00000000077c9c4] .XX_Exit+0x1c/0x30
LR [c00000000077c9c0] .XX_Exit+0x18/0x30
Call Trace:
[c0000002e8e03840] [c00000000077c9c0] .XX_Exit+0x18/0x30 (unreliable)
[c0000002e8e038b0] [c0000000006f21cc] .FmPcdGetHcHandle+0x58/0x74
[c0000002e8e03930] [c000000000712e7c] .DetachPCD+0x74/0x200
[c0000002e8e039c0] [c000000000725770] .FM_PORT_DeletePCD+0x84/0x580
[c0000002e8e03a50] [c00000000075b6d8] .LnxwrpFmPortIOCTL+0x11a8/0x2a90
[c0000002e8e03c30] [c00000000075d000] .fm_ioctls+0x40/0x148
[c0000002e8e03cc0] [c00000000075d160] .fm_compat_ioctl+0x58/0x88
[c0000002e8e03d60] [c000000000276388] .compat_SyS_ioctl+0x2a4/0x1f64
[c0000002e8e03e30] [c0000000000006b0] system_call+0x60/0x6c
Instruction dump:
ebe1fff8 7c0803a6 4e800020 4bffff9c 4bfff27c 7c0802a6 3c62ffce 38634688
f8010010 f821ff91 4b957f71 60000000 <0fe00000> 38210070 e8010010 7c0803a6
----
Unable to handle kernel paging request for data at address 0x00006948
Faulting instruction address: 0xc0000000006f21d8
Oops: Kernel access of bad area, sig: 11 1
BE SMP NR_CPUS=24 CoreNet Generic
Modules linked in:
CPU: 23 PID: 3489 Comm: fmc Tainted: G W 4.14.122-dirty #1
task: c0000002ed7855c0 task.stack: c0000002e8e00000
NIP: c0000000006f21d8 LR: c0000000006f21cc CTR: c00000000054c414
REGS: c0000002e8e036b0 TRAP: 0300 Tainted: G W (4.14.122-dirty)
MSR: 0000000080029002 <CE,EE,ME> CR: 28000242 XER: 20000000
DEAR: 0000000000006948 ESR: 0000000000000100 SOFTE: 1
GPR00: c000000000712e7c c0000002e8e03930 c0000000011b2d00 000000000000002a
GPR04: c0000002ff8e08e8 c0000002ff8e8428 c00000000113e390 c00000003ffff6c0
GPR08: 0000000000000007 c000000000fbd31c 00000002fe92a000 0000000000000020
GPR12: 0000000024000224 c00000003ffff6c0 00000000fff648a8 00000000101873e8
GPR16: 00000000fff649a0 00000000fff64910 00000000fff648dc 00000000fff649c8
GPR20: 00000000146e0aec 000000001471a3cc 000000001471a44c 00000000124e3c40
GPR24: 00000000124e3bcc 00000000000158b9 0000000010147bf0 0000000000000005
GPR28: 0000000010147bf0 0000000010147bf0 c0000002eae32eb0 0000000000000000
NIP [c0000000006f21d8] .FmPcdGetHcHandle+0x64/0x74
LR [c0000000006f21cc] .FmPcdGetHcHandle+0x58/0x74
Call Trace:
[c0000002e8e03930] [c000000000712e7c] .DetachPCD+0x74/0x200 (unreliable)
[c0000002e8e039c0] [c000000000725770] .FM_PORT_DeletePCD+0x84/0x580
[c0000002e8e03a50] [c00000000075b6d8] .LnxwrpFmPortIOCTL+0x11a8/0x2a90
[c0000002e8e03c30] [c00000000075d000] .fm_ioctls+0x40/0x148
[c0000002e8e03cc0] [c00000000075d160] .fm_compat_ioctl+0x58/0x88
[c0000002e8e03d60] [c000000000276388] .compat_SyS_ioctl+0x2a4/0x1f64
[c0000002e8e03e30] [c0000000000006b0] system_call+0x60/0x6c
Instruction dump:
38e73db8 a08d0002 38c00302 38a5ac98 38636580 4808a81d 60000000 38600001
4808a7e1 60000000 e8010090 38210080 <e87f6948> 7c0803a6 ebe1fff8 4e800020
----

Segmentation fault
root@t4240rdb:/usr/etc/fman_test_pcd#

--------------------------------------------------------------------------------------------

 

0 Kudos
874 Views
sedat_altun
Contributor III

Thank you very much.

Sedat Altun

Başuzman Araştırmacı

UEKAE IP Kripto Sistemleri Birimi

TÜBİTAK BİLGEM

41470 Gebze, KOCAELİ

T +90 262 648 1442

F +90 262 648 1100

www.bilgem.tubitak.gov.tr

sedat.altun@tubitak.gov.tr

0 Kudos