summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 16391b3)
raw | patch | inline | side by side (parent: 16391b3)
author | Aravind Batni <aravindbr@ti.com> | |
Fri, 24 Apr 2015 21:35:45 +0000 (17:35 -0400) | ||
committer | Aravind Batni <aravindbr@ti.com> | |
Fri, 24 Apr 2015 21:35:45 +0000 (17:35 -0400) |
20 files changed:
diff --git a/fw/classify2_bin.c b/fw/classify2_bin.c
index 605a28345cd0fab59c8bba752cb341d8f54445f4..06166d81232c713c4cef73de0ed278236fafbb6b 100644 (file)
--- a/fw/classify2_bin.c
+++ b/fw/classify2_bin.c
0x2e808b96,
0x0b057601,
0x51000106,
- 0x530401b1,
+ 0x530401b3,
0x1f1cfcfc,
0x24002104,
0x2f000384,
0x2f000384,
0x240000de,
0x690b0302,
- 0x2301d19e,
+ 0x2301d39e,
0x71100302,
0x71160308,
0x2400109e,
0x2eff8183,
0x1f1ce3e3,
0x2400109e,
- 0x21033e00,
+ 0x21034300,
0x2e818786,
0x2eff8183,
0x1f1ce3e3,
0x2400109e,
- 0x21033e00,
+ 0x21034300,
0x2e818786,
0xc90ed908,
0x11073737,
0x1f1ce3e3,
0x6900c103,
0x9081e086,
- 0x21033e00,
+ 0x21034300,
0x6901c103,
0x9081e186,
- 0x21033e00,
+ 0x21034300,
0x6902c103,
0x9081e286,
- 0x21033e00,
+ 0x21034300,
0x11073737,
0x13583737,
0x21008200,
0x2eff8183,
0x1f1ce3e3,
0x2400109e,
- 0x21033e00,
+ 0x21034300,
0x24000ce6,
0x2f008186,
- 0x2101f100,
+ 0x2101f300,
0xc90aff04,
0x24000ae6,
0x2f008186,
- 0x2101f100,
+ 0x2101f300,
0x59188004,
0x240010e6,
0x2f008186,
- 0x2101f100,
+ 0x2101f300,
0x2e80838a,
0xd1002a06,
0x0101dddd,
0x61104a04,
0x240012e6,
0x1f007a7a,
- 0x2101f100,
+ 0x2101f300,
0x09044a81,
0x01018181,
0x90811a01,
0xd10aff00,
0xd101ff00,
0x21001000,
- 0x2101f100,
+ 0x2101f300,
0xc90aff04,
0x24000ae6,
0x2f008186,
- 0x2101f100,
+ 0x2101f300,
0x6900dd04,
0x240009e6,
0x2f008186,
0x71104a04,
0x240012e6,
0x2f008186,
- 0x2101f100,
+ 0x2101f300,
0x09044a81,
0x01018181,
0x90811a01,
0xc9012a02,
0x1d001d1d,
0x81306b92,
- 0x2101f100,
+ 0x2101f300,
0x240001e3,
0x81042b83,
0x2eff819d,
0x240131d1,
0x24015a91,
0x240174d2,
- 0x2401d192,
- 0x2401acd3,
+ 0x2401d392,
+ 0x2401aed3,
0x24002c00,
0x01020000,
0x05220000,
0x01042121,
0xc9026607,
0x51000806,
- 0x69c00824,
- 0x69000923,
+ 0x69c00826,
+ 0x69000925,
0x01042121,
0x1f045656,
0x813807a9,
0x691f4603,
0x13983737,
0x209e0000,
- 0x69fe4603,
+ 0x69fe4605,
+ 0xc9031d02,
+ 0x21018000,
0x13a03737,
0x209e0000,
0x13a83737,
0x51ce4704,
0x240001e6,
0x2f008186,
- 0x2101f100,
+ 0x2101f300,
0x2400005a,
0x5103670a,
0x5104670a,
- 0x5306670f,
+ 0x53066712,
0x510c6781,
- 0x53096732,
+ 0x53096735,
0x5105671f,
- 0x53076727,
+ 0x5307672a,
0x240002e6,
0x2f008186,
- 0x2101f100,
+ 0x2101f300,
0x21008d00,
0x2100c800,
0x69062915,
0x2400f024,
0x91001761,
0x59030002,
- 0x2301d89e,
+ 0x2301da9e,
0x2f000384,
0x21001000,
0x240021e4,
0x59388004,
0x240010e6,
0x2f008186,
- 0x2101f100,
+ 0x2101f300,
0x240000e6,
0x2f008186,
0x2e80878a,
0xe10c2281,
0x240050e2,
0xe10c2281,
- 0x2101f100,
+ 0x2101f300,
0x240000e6,
0x2f008186,
0x2e80838a,
0x58c08004,
0x240010e6,
0x2f008186,
- 0x2101f100,
+ 0x2101f300,
0x240018c4,
0x2f000384,
- 0x2102ec00,
+ 0x2102f100,
0x240014c4,
0x2f000384,
0x69016a17,
0x593c8004,
0x240010e6,
0x1f007a7a,
- 0x2101f100,
+ 0x2101f300,
0x2e80838e,
0x71046e04,
0x240011e6,
0x1f007a7a,
- 0x2101f100,
+ 0x2101f300,
0x09056e81,
0x09036ec1,
0x00c18181,
0x8281f38e,
0x240020c4,
0x2f000384,
- 0x2101f100,
+ 0x2101f300,
0x69026a0e,
0x59248004,
0x240010e6,
0x1f007a7a,
- 0x2101f100,
+ 0x2101f300,
0x2e80878e,
0x71106e04,
0x240012e6,
0x1f007a7a,
- 0x2101f100,
+ 0x2101f300,
0x09046e81,
0x01008181,
0x8081fa8e,
- 0x2101f100,
+ 0x2101f300,
0x69046a0b,
0x59188004,
0x240010e6,
0x1f007a7a,
- 0x2101f100,
+ 0x2101f300,
0x2e80818e,
0x1d021d1d,
0xc9006e02,
0x1f021d1d,
0x81b8338e,
- 0x2101f100,
- 0x69056a0a,
+ 0x2101f300,
+ 0x69056a0d,
0x59188004,
0x240010e6,
0x1f007a7a,
- 0x2101f100,
+ 0x2101f300,
0x2e80818e,
0x1d011d1d,
0xc9006e02,
0x1f011d1d,
- 0x2101f100,
+ 0x1d031d1d,
+ 0xc9016e02,
+ 0x1f031d1d,
+ 0x2101f300,
0x69086a1b,
0x24004cc0,
0x58c08004,
0x240010e6,
0x1f007a7a,
- 0x2101f100,
+ 0x2101f300,
0x2e808b8e,
0x240100c2,
0x51006e12,
0x2f000184,
0x2e80898f,
0x05016e6e,
- 0x2102ba00,
- 0x2101f100,
+ 0x2102bf00,
+ 0x2101f300,
0x69096a1c,
0x2400b0c0,
0x58c08004,
0x240010e6,
0x1f007a7a,
- 0x2101f100,
+ 0x2101f300,
0x2e808d8e,
0x240200c2,
0x51006e13,
0x8082fe91,
0x01108282,
0x05014e4e,
- 0x2102db00,
+ 0x2102e000,
0x240018c4,
0x2f000184,
0x2e808b8f,
0x05016e6e,
- 0x2102d500,
- 0x2101f100,
+ 0x2102da00,
+ 0x2101f300,
0x240002e6,
0x1f007a7a,
- 0x2101f100,
+ 0x2101f300,
0x240000e1,
0x240010c4,
0x2e80878e,
0x01010101,
0x0110c1c1,
0x671f01fa,
- 0x2101f100,
+ 0x2101f300,
0x2e80818a,
0x24000004,
0x240014c4,
0x10e2e2e5,
0x2f000384,
0x9083e286,
- 0x2101f100,
- 0x2101f100,
+ 0x2101f300,
+ 0x2101f300,
0x24000004,
0x240010c4,
0x2f000384,
0x2f000384,
0x9100b78e,
0x2f00858e,
- 0x2101f100,
+ 0x2101f300,
0x240058c0,
0x58c08004,
0x240010e6,
0x2f008186,
- 0x2101f100,
+ 0x2101f300,
0x2e80838a,
0x106a6a24,
0x10ebebe5,
0x01040101,
0x01012424,
0x671024fc,
- 0x2101f100,
+ 0x2101f300,
0x10d7d790,
0x24000442,
0x69026619,
0x11e08181,
0x51014703,
0x240016c1,
- 0x21034d00,
+ 0x21035200,
0x24000dc1,
0x12c18181,
0x812c07c1,
0x11c03900,
0x51000003,
0x107b7b21,
- 0x21037b00,
+ 0x21038000,
0xd1010105,
0x11073900,
0x51000003,
0x00214646,
0x00018686,
0x24000642,
- 0x21038c00,
+ 0x21039100,
0x00228686,
0xc9016809,
0x00224646,
- 0x21038c00,
+ 0x21039100,
0xc9026803,
0x007b8686,
0x24000642,
diff --git a/fw/v0/classify2.bib b/fw/v0/classify2.bib
index e416e9948a8aa760bfbacdd91cba597cfe295239..2a8eae9e0e213776d41d8e9426285b67a91a0628 100644 (file)
Binary files a/fw/v0/classify2.bib and b/fw/v0/classify2.bib differ
Binary files a/fw/v0/classify2.bib and b/fw/v0/classify2.bib differ
diff --git a/fw/v0/classify2.p b/fw/v0/classify2.p
--- a/fw/v0/classify2.p
+++ b/fw/v0/classify2.p
\r
l_c2ParseGtpu2:\r
qbne l_c2ParseGtpu3, s_gtp.msgType, 255\r
- \r
+\r
+l_c2ParseGtpu2_0: \r
mov r1.b1, GTPV1_HEADER_LEN_BYTES \r
and r1.b0, s_gtp.ctrl, GTP_CTRL_MASK \r
\r
\r
l_c2ParseGtpu7:\r
qbne l_c2ParseGtpu_Err, s_gtp.msgType, 254\r
+ // Check if the routing feature of treating End marker same as G-PDU is enabled\r
+ qbbc l_c2ParseGtpu7_0, s_runCxt.ctrlFlag.t_c2_GTPU_route_msg254_as_msg255\r
+ // Route same as message 255 if the message type is 254\r
+ jmp l_c2ParseGtpu2_0\r
+\r
+l_c2ParseGtpu7_0:\r
or s_pktCxt2.eP1C2Id, s_pktCxt2.eP1C2Id, EROUTE_GTPU_MESSAGE_TYPE_254 << PKT2_EIDX_SHIFT\r
ret \r
\r
diff --git a/fw/v0/classify2_bin.c b/fw/v0/classify2_bin.c
index 605a28345cd0fab59c8bba752cb341d8f54445f4..06166d81232c713c4cef73de0ed278236fafbb6b 100644 (file)
--- a/fw/v0/classify2_bin.c
+++ b/fw/v0/classify2_bin.c
0x2e808b96,
0x0b057601,
0x51000106,
- 0x530401b1,
+ 0x530401b3,
0x1f1cfcfc,
0x24002104,
0x2f000384,
0x2f000384,
0x240000de,
0x690b0302,
- 0x2301d19e,
+ 0x2301d39e,
0x71100302,
0x71160308,
0x2400109e,
0x2eff8183,
0x1f1ce3e3,
0x2400109e,
- 0x21033e00,
+ 0x21034300,
0x2e818786,
0x2eff8183,
0x1f1ce3e3,
0x2400109e,
- 0x21033e00,
+ 0x21034300,
0x2e818786,
0xc90ed908,
0x11073737,
0x1f1ce3e3,
0x6900c103,
0x9081e086,
- 0x21033e00,
+ 0x21034300,
0x6901c103,
0x9081e186,
- 0x21033e00,
+ 0x21034300,
0x6902c103,
0x9081e286,
- 0x21033e00,
+ 0x21034300,
0x11073737,
0x13583737,
0x21008200,
0x2eff8183,
0x1f1ce3e3,
0x2400109e,
- 0x21033e00,
+ 0x21034300,
0x24000ce6,
0x2f008186,
- 0x2101f100,
+ 0x2101f300,
0xc90aff04,
0x24000ae6,
0x2f008186,
- 0x2101f100,
+ 0x2101f300,
0x59188004,
0x240010e6,
0x2f008186,
- 0x2101f100,
+ 0x2101f300,
0x2e80838a,
0xd1002a06,
0x0101dddd,
0x61104a04,
0x240012e6,
0x1f007a7a,
- 0x2101f100,
+ 0x2101f300,
0x09044a81,
0x01018181,
0x90811a01,
0xd10aff00,
0xd101ff00,
0x21001000,
- 0x2101f100,
+ 0x2101f300,
0xc90aff04,
0x24000ae6,
0x2f008186,
- 0x2101f100,
+ 0x2101f300,
0x6900dd04,
0x240009e6,
0x2f008186,
0x71104a04,
0x240012e6,
0x2f008186,
- 0x2101f100,
+ 0x2101f300,
0x09044a81,
0x01018181,
0x90811a01,
0xc9012a02,
0x1d001d1d,
0x81306b92,
- 0x2101f100,
+ 0x2101f300,
0x240001e3,
0x81042b83,
0x2eff819d,
0x240131d1,
0x24015a91,
0x240174d2,
- 0x2401d192,
- 0x2401acd3,
+ 0x2401d392,
+ 0x2401aed3,
0x24002c00,
0x01020000,
0x05220000,
0x01042121,
0xc9026607,
0x51000806,
- 0x69c00824,
- 0x69000923,
+ 0x69c00826,
+ 0x69000925,
0x01042121,
0x1f045656,
0x813807a9,
0x691f4603,
0x13983737,
0x209e0000,
- 0x69fe4603,
+ 0x69fe4605,
+ 0xc9031d02,
+ 0x21018000,
0x13a03737,
0x209e0000,
0x13a83737,
0x51ce4704,
0x240001e6,
0x2f008186,
- 0x2101f100,
+ 0x2101f300,
0x2400005a,
0x5103670a,
0x5104670a,
- 0x5306670f,
+ 0x53066712,
0x510c6781,
- 0x53096732,
+ 0x53096735,
0x5105671f,
- 0x53076727,
+ 0x5307672a,
0x240002e6,
0x2f008186,
- 0x2101f100,
+ 0x2101f300,
0x21008d00,
0x2100c800,
0x69062915,
0x2400f024,
0x91001761,
0x59030002,
- 0x2301d89e,
+ 0x2301da9e,
0x2f000384,
0x21001000,
0x240021e4,
0x59388004,
0x240010e6,
0x2f008186,
- 0x2101f100,
+ 0x2101f300,
0x240000e6,
0x2f008186,
0x2e80878a,
0xe10c2281,
0x240050e2,
0xe10c2281,
- 0x2101f100,
+ 0x2101f300,
0x240000e6,
0x2f008186,
0x2e80838a,
0x58c08004,
0x240010e6,
0x2f008186,
- 0x2101f100,
+ 0x2101f300,
0x240018c4,
0x2f000384,
- 0x2102ec00,
+ 0x2102f100,
0x240014c4,
0x2f000384,
0x69016a17,
0x593c8004,
0x240010e6,
0x1f007a7a,
- 0x2101f100,
+ 0x2101f300,
0x2e80838e,
0x71046e04,
0x240011e6,
0x1f007a7a,
- 0x2101f100,
+ 0x2101f300,
0x09056e81,
0x09036ec1,
0x00c18181,
0x8281f38e,
0x240020c4,
0x2f000384,
- 0x2101f100,
+ 0x2101f300,
0x69026a0e,
0x59248004,
0x240010e6,
0x1f007a7a,
- 0x2101f100,
+ 0x2101f300,
0x2e80878e,
0x71106e04,
0x240012e6,
0x1f007a7a,
- 0x2101f100,
+ 0x2101f300,
0x09046e81,
0x01008181,
0x8081fa8e,
- 0x2101f100,
+ 0x2101f300,
0x69046a0b,
0x59188004,
0x240010e6,
0x1f007a7a,
- 0x2101f100,
+ 0x2101f300,
0x2e80818e,
0x1d021d1d,
0xc9006e02,
0x1f021d1d,
0x81b8338e,
- 0x2101f100,
- 0x69056a0a,
+ 0x2101f300,
+ 0x69056a0d,
0x59188004,
0x240010e6,
0x1f007a7a,
- 0x2101f100,
+ 0x2101f300,
0x2e80818e,
0x1d011d1d,
0xc9006e02,
0x1f011d1d,
- 0x2101f100,
+ 0x1d031d1d,
+ 0xc9016e02,
+ 0x1f031d1d,
+ 0x2101f300,
0x69086a1b,
0x24004cc0,
0x58c08004,
0x240010e6,
0x1f007a7a,
- 0x2101f100,
+ 0x2101f300,
0x2e808b8e,
0x240100c2,
0x51006e12,
0x2f000184,
0x2e80898f,
0x05016e6e,
- 0x2102ba00,
- 0x2101f100,
+ 0x2102bf00,
+ 0x2101f300,
0x69096a1c,
0x2400b0c0,
0x58c08004,
0x240010e6,
0x1f007a7a,
- 0x2101f100,
+ 0x2101f300,
0x2e808d8e,
0x240200c2,
0x51006e13,
0x8082fe91,
0x01108282,
0x05014e4e,
- 0x2102db00,
+ 0x2102e000,
0x240018c4,
0x2f000184,
0x2e808b8f,
0x05016e6e,
- 0x2102d500,
- 0x2101f100,
+ 0x2102da00,
+ 0x2101f300,
0x240002e6,
0x1f007a7a,
- 0x2101f100,
+ 0x2101f300,
0x240000e1,
0x240010c4,
0x2e80878e,
0x01010101,
0x0110c1c1,
0x671f01fa,
- 0x2101f100,
+ 0x2101f300,
0x2e80818a,
0x24000004,
0x240014c4,
0x10e2e2e5,
0x2f000384,
0x9083e286,
- 0x2101f100,
- 0x2101f100,
+ 0x2101f300,
+ 0x2101f300,
0x24000004,
0x240010c4,
0x2f000384,
0x2f000384,
0x9100b78e,
0x2f00858e,
- 0x2101f100,
+ 0x2101f300,
0x240058c0,
0x58c08004,
0x240010e6,
0x2f008186,
- 0x2101f100,
+ 0x2101f300,
0x2e80838a,
0x106a6a24,
0x10ebebe5,
0x01040101,
0x01012424,
0x671024fc,
- 0x2101f100,
+ 0x2101f300,
0x10d7d790,
0x24000442,
0x69026619,
0x11e08181,
0x51014703,
0x240016c1,
- 0x21034d00,
+ 0x21035200,
0x24000dc1,
0x12c18181,
0x812c07c1,
0x11c03900,
0x51000003,
0x107b7b21,
- 0x21037b00,
+ 0x21038000,
0xd1010105,
0x11073900,
0x51000003,
0x00214646,
0x00018686,
0x24000642,
- 0x21038c00,
+ 0x21039100,
0x00228686,
0xc9016809,
0x00224646,
- 0x21038c00,
+ 0x21039100,
0xc9026803,
0x007b8686,
0x24000642,
diff --git a/fw/v0/pacfgcmn.p b/fw/v0/pacfgcmn.p
--- a/fw/v0/pacfgcmn.p
+++ b/fw/v0/pacfgcmn.p
set s_runCxt.ctrlFlag.t_c2_GTPU_use_link\r
\r
l_paSysConfigPa5b:\r
+ clr s_runCxt.ctrlFlag.t_c2_GTPU_route_msg254_as_msg255\r
+ qbbc l_paSysConfigPa5c, s_paGtpuCfg.ctrlBitMap.t_pa_gtpu_msg254_as_msg255\r
+ set s_runCxt.ctrlFlag.t_c2_GTPU_route_msg254_as_msg255 \r
+\r
+l_paSysConfigPa5c:\r
jmp f_cfgReply\r
\r
.leave lut2Scope\r
diff --git a/fw/v0/pdsp_pa.h b/fw/v0/pdsp_pa.h
--- a/fw/v0/pdsp_pa.h
+++ b/fw/v0/pdsp_pa.h
.ends\r
\r
#define t_pa_gtpu_control_use_link t0\r
+#define t_pa_gtpu_msg254_as_msg255 t1\r
\r
// Packet Capture Header \r
.struct struct_pcap_hdr\r
diff --git a/fw/v0/pdsp_subs.h b/fw/v0/pdsp_subs.h
--- a/fw/v0/pdsp_subs.h
+++ b/fw/v0/pdsp_subs.h
//\r
#define t_c2_enable_IPSEC_NAT_T t2\r
\r
+// \r
+// GTPU End Marker message route as G-PDU\r
+//\r
+#define t_c2_GTPU_route_msg254_as_msg255 t3\r
+\r
+\r
#define SUBS_MAX_LUT2_ENTRIES 8192\r
\r
// Multi routing tables\r
diff --git a/fw/v1/classify2.p b/fw/v1/classify2.p
index 41e9e05bfc0c5c5d30631f5a75a4b99ed3e26271..ff12618c2d7b8dcc0276b42afa8d5670b0777133 100644 (file)
--- a/fw/v1/classify2.p
+++ b/fw/v1/classify2.p
l_c2ParseGtpu2:
qbne l_c2ParseGtpu3, s_gtp.msgType, 255
+l_c2ParseGtpu2_0:
mov r1.b1, GTPV1_HEADER_LEN_BYTES
and r1.b0, s_gtp.ctrl, GTP_CTRL_MASK
l_c2ParseGtpu7:
qbne l_c2ParseGtpu_Err, s_gtp.msgType, 254
+ // Check if the routing feature of treating End marker same as G-PDU is enabled
+ qbbc l_c2ParseGtpu7_0, s_runCxt.ctrlFlag.t_c2_GTPU_route_msg254_as_msg255
+ // Route same as message 255 if the message type is 254
+ jmp l_c2ParseGtpu2_0
+
+l_c2ParseGtpu7_0:
or s_pktCxt.eId_portNum_nextHdr.b1, s_pktCxt.eId_portNum_nextHdr.b1, EROUTE_GTPU_MESSAGE_TYPE_254 << PKT_EIDX_SHIFT
ret
xin XID_PINFO_A, s_pktExtDescr, SIZE(s_pktExtDescr)
add r0.w2, s_pktCxt.endOffset, (32+32-2)
// Extra 8 bytes are inserted during EOAM enabled case
- qbbc l_c2ParseEspDec_1, s_runCxt.flags.t_eoamEn
+ qbbc l_c2ParseEspDec_1, s_runCxt.flags.t_c2_enable_EOAM
add r0.w2, r0.w2, 8
l_c2ParseEspDec_1:
diff --git a/fw/v1/in4_pdsp1.bib b/fw/v1/in4_pdsp1.bib
index 3073dfe20861427769287c7a53c195d6e937d83a..003044933b19af4fff268663c9cbe187d61a93e0 100644 (file)
Binary files a/fw/v1/in4_pdsp1.bib and b/fw/v1/in4_pdsp1.bib differ
Binary files a/fw/v1/in4_pdsp1.bib and b/fw/v1/in4_pdsp1.bib differ
index 8f754989aa0ad315216363c50dc512679a651a01..f71b06cd442a38077d7aa5f1197b5befd3cb66c6 100644 (file)
0x21010200,
0x0b057601,
0x51000105,
- 0x530401e3,
+ 0x530401e5,
0x24801c9f,
0x1f060e0e,
0x21008100,
0x2e838786,
0x24801c83,
0x2400109e,
- 0x2103e100,
+ 0x2103e600,
0x2e838786,
0xc90d9908,
0x11033737,
0x90413882,
0xf081e286,
0x24801c83,
- 0x2103e100,
+ 0x2103e600,
0x0b0237de,
0x0904dede,
0x90def486,
0x24801c83,
0x2400109e,
- 0x2103e100,
+ 0x2103e600,
0xd106ff00,
0x9110078a,
0x24002004,
0x21001000,
0x24000c86,
0x2f0080c6,
- 0x21024c00,
+ 0x21024e00,
0xc90aff04,
0x24000a86,
0x2f0080c6,
- 0x21024c00,
+ 0x21024e00,
0x590c8004,
0x24001086,
0x2f0080c6,
- 0x21024c00,
+ 0x21024e00,
0x2e80858a,
0xd1002a06,
0x0101dddd,
0x240012d9,
0x1f047b7b,
0x1d057b7b,
- 0x21024c00,
+ 0x21024e00,
0x09044a81,
0x01018181,
0x90811001,
0xd10aff00,
0xd101ff00,
0x21001000,
- 0x21024c00,
+ 0x21024e00,
0xc90aff04,
0x24000a86,
0x2f0080c6,
- 0x21024c00,
+ 0x21024e00,
0x6900dd04,
0x24000986,
0x2f0080c6,
0x71104a04,
0x24001286,
0x2f0080c6,
- 0x21024c00,
+ 0x21024e00,
0x09044a81,
0x01018181,
0x90811001,
0xc9012a02,
0x1d001d1d,
0x8130ab92,
- 0x21024c00,
+ 0x21024e00,
0x240001e3,
0x81042b83,
0x24011a90,
0x24015bd1,
0x24018891,
0x2401a6d2,
- 0x24020792,
- 0x2401e1d3,
+ 0x24020992,
+ 0x2401e3d3,
0x8500f588,
0x2eff9f80,
0x8700f080,
0x01042121,
0xc9026607,
0x51000806,
- 0x69c00826,
- 0x69000925,
+ 0x69c00828,
+ 0x69000927,
0x01042121,
0x1f03b6b6,
0x813807a9,
0x691f4603,
0x134c3737,
0x209e0000,
- 0x69fe4603,
+ 0x69fe4605,
+ 0xc9031d02,
+ 0x2101b300,
0x13503737,
0x209e0000,
0x13543737,
0x10e9e9fa,
0x51ce0703,
0x1f077b7b,
- 0x21024c00,
+ 0x21024e00,
0x51006602,
- 0x21024c00,
+ 0x21024e00,
0x51004606,
0x05014646,
0x2f008026,
0x2400045b,
0x1f057b7b,
- 0x21024c00,
+ 0x21024e00,
0x81182788,
0x2f05098e,
0x1f067b7b,
0x5102270e,
0x5103270e,
0x5104270e,
- 0x5306279e,
+ 0x530627a1,
0x510c27f7,
- 0x530a27a0,
- 0x5308279c,
- 0x530b279c,
- 0x5309279c,
+ 0x530a27a3,
+ 0x5308279f,
+ 0x530b279f,
+ 0x5309279f,
0x5105273b,
0x24000286,
0x2f0080c6,
- 0x21024c00,
+ 0x21024e00,
0x21008d00,
0x21008d00,
0x21009000,
0x1f0f8181,
0x811007c1,
0x1f060e0e,
- 0x21027600,
+ 0x21027800,
0xc9057b04,
0x24008000,
0x81200760,
- 0x21026700,
+ 0x21026900,
0x911007c1,
0x1f0f8181,
0x811007c1,
0x81082481,
0x51003a03,
0x1f060e0e,
- 0x21027600,
+ 0x21027800,
0x8112079a,
0x101a1a05,
0x13202424,
0x59388004,
0x24001086,
0x2f0080c6,
- 0x21024c00,
+ 0x21024e00,
0x24000086,
0x2f0080c6,
0x2e80878a,
0xf1042280,
0x6f00e0ff,
0xe1042281,
- 0x21024c00,
+ 0x21024e00,
0x24000086,
0x2f0080c6,
0x2e80838a,
0x58c08004,
0x24001086,
0x2f0080c6,
- 0x21024c00,
+ 0x21024e00,
0x240018c4,
0x2f000384,
- 0x2103d200,
+ 0x2103d700,
0x240014c4,
0x2f000384,
0x69016a13,
0x592c8002,
- 0x2103cf00,
+ 0x2103d400,
0x2e80838e,
0x71046e04,
0x240011d9,
0x1f047b7b,
- 0x21024c00,
+ 0x21024e00,
0x09056e81,
0x09036ec1,
0x00c18181,
0x2e808f8e,
0x01088181,
0x8281f38e,
- 0x21024c00,
+ 0x21024e00,
0x69026a0c,
0x59148002,
- 0x2103cf00,
+ 0x2103d400,
0x2e80878e,
0x71106e04,
0x240012d9,
0x1f047b7b,
- 0x21024c00,
+ 0x21024e00,
0x09046e81,
0x01008181,
0x8081f08e,
- 0x21024c00,
+ 0x21024e00,
0x69046a09,
0x59088002,
- 0x2103cf00,
+ 0x2103d400,
0x2e80818e,
0x1d021d1d,
0xc9006e02,
0x1f021d1d,
0x81b8338e,
- 0x21024c00,
- 0x69056a08,
+ 0x21024e00,
+ 0x69056a0b,
0x59088002,
- 0x2103cf00,
+ 0x2103d400,
0x2e80818e,
0x1d011d1d,
0xc9006e02,
0x1f011d1d,
- 0x21024c00,
+ 0x1d031d1d,
+ 0xc9016e02,
+ 0x1f031d1d,
+ 0x21024e00,
0x69066a0e,
0x59148002,
- 0x2103cf00,
+ 0x2103d400,
0x2e80878e,
0x24000cc4,
0x51006e08,
0x2f000384,
0x2e80858f,
0x05016e6e,
- 0x21037a00,
- 0x21024c00,
+ 0x21037f00,
+ 0x21024e00,
0x69076a0e,
0x59148002,
- 0x2103cf00,
+ 0x2103d400,
0x2e80878e,
0x24000cc4,
0x51006e08,
0x2f000384,
0x2e80858f,
0x05016e6e,
- 0x21038800,
- 0x21024c00,
+ 0x21038d00,
+ 0x21024e00,
0x69086a19,
0x24003cc0,
0x58c08002,
- 0x2103cf00,
+ 0x2103d400,
0x2e808b8e,
0x240100c2,
0x51006e12,
0x2f000184,
0x2e80898f,
0x05016e6e,
- 0x21039700,
- 0x21024c00,
+ 0x21039c00,
+ 0x21024e00,
0x69096a1a,
0x2400a0c0,
0x58c08002,
- 0x2103cf00,
+ 0x2103d400,
0x2e808d8e,
0x240300c2,
0x51006e13,
0x8082fc91,
0x01108282,
0x05014e4e,
- 0x2103b600,
+ 0x2103bb00,
0x240018c4,
0x2f000184,
0x2e808b8f,
0x05016e6e,
- 0x2103b000,
- 0x21024c00,
+ 0x2103b500,
+ 0x21024e00,
0x690a6a08,
0x590c8002,
- 0x2103cf00,
+ 0x2103d400,
0x2e80838e,
0x24ffa8c2,
0x24100082,
0xe1d0628e,
- 0x21024c00,
+ 0x21024e00,
0x240002d9,
0x1f047b7b,
- 0x21024c00,
+ 0x21024e00,
0x240010d9,
0x1f047b7b,
- 0x21024c00,
+ 0x21024e00,
0x240000e1,
0x240010c4,
0x2e80878e,
0x01010101,
0x0110c1c1,
0x671f01fa,
- 0x21024c00,
- 0x21024c00,
- 0x21024c00,
- 0x21024c00,
- 0x21024c00,
- 0x21024c00,
+ 0x21024e00,
+ 0x21024e00,
+ 0x21024e00,
+ 0x21024e00,
+ 0x21024e00,
+ 0x21024e00,
0xc907ff00,
0x911007ca,
0x1d0f8a8a,
0x11c00101,
0x51014703,
0x24001641,
- 0x2103f200,
+ 0x2103f700,
0x24000d41,
0x12410101,
0x812607c1,
0x11c01a00,
0x51000003,
0x0b057a21,
- 0x21042400,
+ 0x21042900,
0xd1010105,
0x11071a00,
0x51000003,
0x00214646,
0x00018686,
0x24000042,
- 0x21043600,
+ 0x21043b00,
0x00228686,
0xc901680a,
0x00224646,
- 0x21043600,
+ 0x21043b00,
0xc9026804,
0x0b057a02,
0x00028686,
0x69010206,
0xd1076603,
0x2400002e,
- 0x21045f00,
+ 0x21046400,
0x2400012e,
- 0x21045f00,
+ 0x21046400,
0x69050214,
0x1046462e,
0x81186787,
diff --git a/fw/v1/pacfgcmn.p b/fw/v1/pacfgcmn.p
index 46aa353abde2614f18b667ffad20ac9d89e9de71..5ae059f9f3b032f3faaa06e0f0c1c164301228bb 100644 (file)
--- a/fw/v1/pacfgcmn.p
+++ b/fw/v1/pacfgcmn.p
set s_runCxt.ctrlFlag.t_c2_GTPU_use_link
l_paSysConfigPa5b:
+ clr s_runCxt.ctrlFlag.t_c2_GTPU_route_msg254_as_msg255
+ qbbc l_paSysConfigPa5c, s_paGtpuCfg.ctrlBitMap.t_pa_gtpu_msg254_as_msg255
+ set s_runCxt.ctrlFlag.t_c2_GTPU_route_msg254_as_msg255
+
+l_paSysConfigPa5c:
jmp f_cfgReply
.leave lut2Scope
diff --git a/fw/v1/pdsp_pa.h b/fw/v1/pdsp_pa.h
index e4a28117a6bedb0ebb053290da29b42261bc1b5f..5a589f4fcb9afe228254cf306f0f0d822f70a235 100644 (file)
--- a/fw/v1/pdsp_pa.h
+++ b/fw/v1/pdsp_pa.h
.ends
#define t_pa_gtpu_control_use_link t0
+#define t_pa_gtpu_msg254_as_msg255 t1
// Packet Capture Header
.struct struct_pcap_hdr
diff --git a/fw/v1/pdsp_subs.h b/fw/v1/pdsp_subs.h
index e6fd2792114d149e9d5bdb1fa1ceef5ae6395491..568339c580d486091432c820993cdc47277f9e60 100644 (file)
--- a/fw/v1/pdsp_subs.h
+++ b/fw/v1/pdsp_subs.h
.u8 ctrlFlag
.ends
+//
+// EOAM is disabled by default
+//
+#define t_c2_enable_EOAM t0
+
//
// GTPU is enbaled by default
// GTPU parsing should be disabled when GTPU port number (2152) is added into LUT2 table
//
#define t_c2_enable_IPSEC_NAT_T t2
+//
+// GTPU End Marker message route as G-PDU
+//
+#define t_c2_GTPU_route_msg254_as_msg255 t3
+
+
#define SUBS_MAX_LUT2_ENTRIES 8192
index caae69a358d7b72af79f75a46ef761b115484d92..401d77e0c24dc451d435874e7bf3a6e3a4fed6a1 100644 (file)
--- a/pa.h
+++ b/pa.h
/**
* @def pa_EROUTE_GTPU_MESSAGE_TYPE_254
- * GTP-U End Markr packet
+ * GTP-U End Marker packet
*/
#define pa_EROUTE_GTPU_MESSAGE_TYPE_254 20
* Clear: GTU-U classification vector consists of the 32-bit of tunnel ID only (Default)
*/
#define pa_GTPU_CTRL_USE_LINK 0x0001
+
+/**
+ * @def pa_GTPU_CTRL_ROUTE_END_MARKER_AS_GPDU
+ * Control Info -- Set: Configures the GTP-U message routing rule such that the packets with message type 254 (end markers)
+ * are routed the same way as message type 255 (G-PDU), meaning GTPU TEID would be recovered and routed for
+ * LUT2 match.
+ * Clear: End message routing send to a configured flow/exception route (Default)
+ */
+#define pa_GTPU_CTRL_ROUTE_END_MARKER_AS_GPDU 0x0002
+
/*@}*/
/** @} */
diff --git a/src/v0/pa.c b/src/v0/pa.c
index 4c762baa62bff41ee37abc3b2e2a90ea37df8a89..41e306dc3b0bf3b100e4c46df7d323e259f0cabd 100644 (file)
--- a/src/v0/pa.c
+++ b/src/v0/pa.c
PA_SET_STATE_GTPU_LINK(paInst, 0);\r
ccfg->u.gtpuCfg.ctrlBitMap = (uint8_t)0;\r
}\r
- \r
+\r
+ if (gtpuCfg->ctrlBitMap & pa_GTPU_CTRL_ROUTE_END_MARKER_AS_GPDU)
+ {
+ ccfg->u.gtpuCfg.ctrlBitMap |= (uint8_t)PAFRM_GTPU_CTRL_ROUTE_END_MARKER_AS_GPDU;
+ }
+ \r
/* GTP-U classification is at PDSP3 only */\r
*cmdDest = pa_CMD_TX_DEST_3;\r
\r
diff --git a/src/v0/pafrm.h b/src/v0/pafrm.h
--- a/src/v0/pafrm.h
+++ b/src/v0/pafrm.h
uint16_t rsvd2; /* alignment */\r
} pafrmGtpuCfg_t;\r
\r
-#define PAFRM_GTPU_CTRL_USE_LINK (1 << 0)\r
+#define PAFRM_GTPU_CTRL_USE_LINK (1 << 0)\r
+#define PAFRM_GTPU_CTRL_ROUTE_END_MARKER_AS_GPDU (1 << 1)\r
\r
/* Packet Capture configuration */\r
typedef struct pafrmPktCapIfCfg_s {\r
diff --git a/src/v1/pa.c b/src/v1/pa.c
index c06c85f4a039edaf197368e78dc57ba374821206..f092a76bbbe1a7b83a44c6fb193c7ac1a5a5e6fc 100644 (file)
--- a/src/v1/pa.c
+++ b/src/v1/pa.c
PA_SET_STATE_GTPU_LINK(paInst, 0);
ccfg->u.gtpuCfg.ctrlBitMap = (uint8_t)0;
}
+
+ if (gtpuCfg->ctrlBitMap & pa_GTPU_CTRL_ROUTE_END_MARKER_AS_GPDU)
+ {
+ ccfg->u.gtpuCfg.ctrlBitMap |= (uint8_t)PAFRM_GTPU_CTRL_ROUTE_END_MARKER_AS_GPDU;
+ }
/* GTP-U classification is at Ingress4 PDSP1 only */
*cmdDest = pa_CMD_TX_DEST_4;
diff --git a/src/v1/pafrm.h b/src/v1/pafrm.h
index c1288a85478b0c54ea18d4dff39145b91de0067e..576d70d64d5901ba03474347a7e6e5e5bb975cd2 100644 (file)
--- a/src/v1/pafrm.h
+++ b/src/v1/pafrm.h
uint16_t rsvd2; /* alignment */
} pafrmGtpuCfg_t;
-#define PAFRM_GTPU_CTRL_USE_LINK (1 << 0)
+#define PAFRM_GTPU_CTRL_USE_LINK (1 << 0)
+#define PAFRM_GTPU_CTRL_ROUTE_END_MARKER_AS_GPDU (1 << 1)
/* Packet Capture configuration */
typedef struct pafrmPktCapIfCfg_s {
return (PA_TEST_PASSED);\r
}\r
\r
-static paTestStatus_t t5GtpuConfiguration (t5TestEncap_t *tencap, int linkEn)\r
+static paTestStatus_t t5GtpuConfiguration (t5TestEncap_t *tencap, int linkEn, int routeEn)\r
{\r
int i;\r
Cppi_HostDesc *hd;\r
@@ -1399,6 +1399,13 @@ static paTestStatus_t t5GtpuConfiguration (t5TestEncap_t *tencap, int linkEn)
/* Issue the command set command */\r
ctrlInfo.code = pa_CONTROL_GTPU_CONFIG;\r
ctrlInfo.params.gtpuCfg.ctrlBitMap = linkEn?pa_GTPU_CTRL_USE_LINK:0;\r
+\r
+ /* Route End Marker as G-PDU flag */\r
+ if (routeEn)\r
+ {\r
+ ctrlInfo.params.gtpuCfg.ctrlBitMap |= pa_GTPU_CTRL_ROUTE_END_MARKER_AS_GPDU;\r
+ }\r
+ \r
cmdReply.replyId = T5_CMD_SWINFO0_GTPU_CFG_ID;\r
cmdReply.queue = tencap->tf->QGen[Q_CMD_REPLY];\r
hd = testCommonGlobalConfig (tencap->tf, &ctrlInfo, \r
Task_exit();\r
}\r
\r
+ i = setupPktTestInfo(t5GTPUPktInfo1, (sizeof(t5GTPUPktInfo1) / sizeof(pktTestInfo_t)), tfName );\r
+ if (i < 0) {\r
+ System_printf ("%s: (%s:%d): setupPktTestInfo(): setup Pkt Failed \n", tfName, __FILE__, __LINE__);\r
+ t5Encap.pat->testStatus = PA_TEST_FAILED;\r
+ Task_exit();\r
+ }\r
+\r
i = setupPktTestInfo(t5NatTPktInfo, (sizeof(t5NatTPktInfo) / sizeof(pktTestInfo_t)), tfName );\r
if (i < 0) {\r
System_printf ("%s: (%s:%d): setupPktTestInfo(): setup Pkt Failed \n", tfName, __FILE__, __LINE__);\r
System_printf ("%s (%s:%d): testCommonCheckStats Failed\n", tfName, __FILE__, __LINE__);\r
t5Cleanup (&t5Encap, PA_TEST_FAILED); /* no return */\r
} \r
- \r
- /* Delete active L5 handles */\r
+\r
+ /* GTPU Configuration (Route End Marker message same as G-PDU) */\r
+ /* Note: For NetCP1.5 device, the GTPU link is always enabled, this congiuration will be ignored by PASS */\r
+ newStatus = t5GtpuConfiguration (&t5Encap, 0, 1);\r
+ if (newStatus == PA_TEST_FAILED)\r
+ t5Cleanup (&t5Encap, newStatus); /* No return */\r
+ \r
+ /* GTPU packet testing2 */\r
+ /* Run packets through the system. the complete set of packets is run through three times. */\r
+ for (j = 0; j < T5_NUM_PACKET_ITERATIONS; j++) {\r
+ int count = 0;\r
+ for (i = 0; i < sizeof(t5GTPUPktInfo1) / sizeof(pktTestInfo_t); i++ ) {\r
+ \r
+ hd[i] = t5FormGTPUDataPacket (t5Encap.tf, t5Encap.pat, &t5GTPUPktInfo1[i]);\r
+ \r
+ if (hd[i] == NULL) {\r
+ System_printf ("%s (%s:%d): T5 GTPU packet sent: run out of buffers\n", tfName, __FILE__, __LINE__);\r
+ System_flush(); \r
+ t5Cleanup (&t5Encap, PA_TEST_FAILED); /* no return */\r
+ break;\r
+ }\r
+ \r
+ /* Inc the count if the packet is passed back to the host */\r
+ if (t5GTPUPktInfo1[i].idx < T5_MAX_GTPU_CHAN)\r
+ {\r
+ expectedPktCount[t5GTPUPktInfo1[i].idx] += 1;\r
+ count ++;\r
+ }\r
+ /* Increment any expected stats */\r
+ testCommonIncStats (t5GTPUPktInfo2[i].statsMap, &paTestL4ExpectedStats); \r
+ \r
+ }\r
+ \r
+ for (i = 0; i < sizeof(t5GTPUPktInfo1) / sizeof(pktTestInfo_t); i++)\r
+ {\r
+ //mdebugHaltPdsp(4);\r
+ Qmss_queuePush (t5Encap.tf->QPaTx[TF_PA_Q_INPUT], (Ptr)hd[i], hd[i]->buffLen, TF_SIZE_DESC, Qmss_Location_TAIL);\r
+ utilCycleDelay (5000); \r
+ //while (mdebugWait);\r
+ } \r
+ \r
+ if (t5ReceiveGTPUDataPkts (t5Encap.tf, t5Encap.pat, t5GTPUPktInfo1, sizeof(t5GTPUPktInfo1)/sizeof(pktTestInfo_t), actualPktCount, count))\r
+ {\r
+ /* Error Handling */\r
+ System_printf ("%s (%s:%d): t5ReceiveGTPUDataPkts timeout\n", tfName, __FILE__, __LINE__);\r
+ System_flush(); \r
+ t5Cleanup (&t5Encap, PA_TEST_FAILED); /* no return */\r
+ break;\r
+ } \r
+ }\r
+\r
+ /* Delete active L5 handles */\r
#ifdef NSS_GEN2\r
if (t5DeleteL5 (&t5Encap, TRUE) != PA_TEST_PASSED)\r
#else\r
\r
/* GTPU Configuration (Enable Link) */\r
/* Note: For NetCP1.5 device, the GTPU link is always enabled, this congiuration will be ignored by PASS */\r
- newStatus = t5GtpuConfiguration (&t5Encap, 1);\r
+ newStatus = t5GtpuConfiguration (&t5Encap, 1, 0);\r
if (newStatus == PA_TEST_FAILED)\r
t5Cleanup (&t5Encap, newStatus); /* No return */\r
\r
} \r
}\r
\r
- \r
/* Verify that the expected and actual received packet counts match */\r
for (i = 0; i < T5_MAX_GTPU_CHAN; i++) {\r
if (expectedPktCount[i] != actualPktCount[i]) {\r
t5Cleanup (&t5Encap, PA_TEST_FAILED);\r
}\r
\r
- /* GTPU Configuration (Disable Link) */\r
- newStatus = t5GtpuConfiguration (&t5Encap, 0);\r
+ /* GTPU Configuration (Disable Link, Disable Route of msg254 same as msg255) */\r
+ newStatus = t5GtpuConfiguration (&t5Encap, 0, 0);\r
if (newStatus == PA_TEST_FAILED)\r
t5Cleanup (&t5Encap, newStatus); /* No return */\r
\r
};\r
#endif \r
\r
+/* packet 0_3\r
+ * mac dest = 00:01:02:03:04:aa\r
+ * ip dest = 200.201.202.100\r
+ * Designed to match IP configuration 0 \r
+ * TEID = 0x01000000\r
+ * Insert the PDU number (0xface) at the packet descriptor offset 20\r
+ */\r
+#pragma DATA_SECTION (gtpuPkt0_3, ".testPkts")\r
+static uint8_t gtpuPkt0_3[] = {\r
+ 0x00, 0x01, 0x02, 0x03, 0x04, 0xaa, 0x00, 0xe0,\r
+ 0xa6, 0x66, 0x57, 0x04, 0x08, 0x00, 0x45, 0x00,\r
+ 0x00, 0x62, 0x00, 0x00, 0x00, 0x00, 0x05, 0x11,\r
+ 0x16, 0x78, 0x9e, 0xda, 0x6d, 0x0b, 0xc8, 0xc9,\r
+ 0xca, 0x64, 0xaa, 0xbb, 0x08, 0x68, 0x00, 0x4e,\r
+ 0x00, 0x00, 0x34, 0xfe, 0x00, 0x3e, 0x01, 0x00,\r
+ 0x00, 0x00, 0x6c, 0x6d, 0x01, 0xc0, 0x01, 0xfa,\r
+ 0xce, 0x00, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79,\r
+ 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 0x80, 0x81,\r
+ 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89,\r
+ 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91,\r
+ 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99,\r
+ 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xa0, 0xa1,\r
+ 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9\r
+};\r
+\r
+#pragma DATA_SECTION (t5GTPUPktInfo1, ".testPkts")\r
+static pktTestInfo_t t5GTPUPktInfo1[] = {\r
+ /* Packet 0_3, modified packet 0 to test treating msg254 same as msg255 */\r
+ { \r
+ (uint8_t *)gtpuPkt0_3,\r
+ (pasahoLongInfo_t *)>puPkt0Info,\r
+ sizeof(gtpuPkt0_3),\r
+ { (1 << TF_STATS_BM_C1_NUM_PACKETS) | (1 << TF_STATS_BM_C1_TABLE_MATCH), /* MAC match */\r
+ (1 << TF_STATS_BM_C1_NUM_PACKETS) | (1 << TF_STATS_BM_C1_TABLE_MATCH) | (1 << TF_STATS_BM_C1_NUM_IPV4), /* IP match */\r
+ (1 << TF_STATS_BM_C2_NUM_PACKETS) | (1 << TF_STATS_BM_C2_NUM_UDP) }, /* UDP match */\r
+ T5_GTPU_FIRST_PKT_INDEX\r
+ },\r
+};\r
+\r
#pragma DATA_SECTION (t5GTPUPktInfo, ".testPkts")\r
static pktTestInfo_t t5GTPUPktInfo[] = {\r
\r