Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-UPF
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
1
Issues
1
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
OpenXG
OpenXG-UPF
Commits
cdc8770f
Commit
cdc8770f
authored
Oct 05, 2022
by
Stefan Spettel
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix(upf): remove gtp_ext_hdr.patch for N9 support (may break rfsimulator)
parent
a6a057e2
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
0 additions
and
68 deletions
+0
-68
scripts/patches/gtp_ext_hdr.patch
scripts/patches/gtp_ext_hdr.patch
+0
-68
No files found.
scripts/patches/gtp_ext_hdr.patch
deleted
100644 → 0
View file @
a6a057e2
--- a/src/plugins/upf/upf_gtpu_encap.c 2021-03-07 13:19:40.937167871 +0000
+++ b/src/plugins/upf/upf_gtpu_encap.c 2021-03-07 15:27:03.082328061 +0000
@@ -604,6 +604,7 @@
ip6_header_t *ip6_0;
udp_header_t *udp0;
gtpu_header_t *gtpu0;
+ gtpu_ext_header_t *gtpu0_ext;
u64 *copy_src0, *copy_dst0;
u32 *copy_src_last0, *copy_dst_last0;
u16 new_l0;
@@ -636,6 +637,9 @@
next0 = peer0->next_dpo.dpoi_next_node;
vnet_buffer (b0)->ip.adj_index[VLIB_TX] =
peer0->next_dpo.dpoi_index;
+
+ upf_buffer_opaque (b0)->gtpu.ext_hdr_len = 0x08;
+ vlib_buffer_advance (b0, -upf_buffer_opaque (b0)->gtpu.ext_hdr_len);
if (PREDICT_FALSE ((upf_buffer_opaque (b0)->gtpu.hdr_flags & GTPU_E_S_PN_BIT) != 0))
vlib_buffer_advance (b0, -upf_buffer_opaque (b0)->gtpu.ext_hdr_len);
@@ -681,9 +685,19 @@
new_l0 =
clib_host_to_net_u16 (vlib_buffer_length_in_chain (vm, b0) -
sizeof (*ip4_0) - sizeof (*udp0) -
- GTPU_V1_HDR_LEN);
+// GTPU_V1_HDR_LEN);
+ GTPU_V1_HDR_LEN + GTPU_V1_EXT_HDR_LEN);
gtpu0->length = new_l0;
- gtpu0->ver_flags |= (upf_buffer_opaque (b0)->gtpu.hdr_flags & GTPU_E_S_PN_BIT);
+// gtpu0->ver_flags |= (upf_buffer_opaque (b0)->gtpu.hdr_flags & GTPU_E_S_PN_BIT);
+ gtpu0->ver_flags = GTPU_EXT_HDR_PRESENT;
+ gtpu0->pdu_number = 0x00;
+ gtpu0->sequence = 0x00;
+ gtpu0->next_ext_type = GTPU_EXT_HDR_PDU_SESSION_CONTAINER;
+
+ gtpu0_ext = (gtpu_ext_header_t *) (gtpu0 + 1);
+ gtpu0_ext->type = 0x01;
+ gtpu0_ext->len = 0x00;
+ gtpu0_ext->pad = GTPU_QFI;
}
else /* ip6 path */
--- a/src/plugins/upf/upf.h 2021-03-07 13:19:40.937167871 +0000
+++ b/src/plugins/upf/upf.h 2021-03-07 12:51:36.726939875 +0000
@@ -167,7 +167,8 @@
}) gtpu_ie_recovery_t;
/* *INDENT-ON* */
-#define GTPU_V1_HDR_LEN 8
+#define GTPU_V1_HDR_LEN 8
+#define GTPU_V1_EXT_HDR_LEN 8
#define GTPU_VER_MASK (7<<5)
#define GTPU_PT_BIT (1<<4)
@@ -187,6 +188,11 @@
#define GTPU_IE_RECOVERY 14
+#define GTPU_EXT_HDR_PRESENT 52
+#define GTPU_EXT_HDR_PDU_SESSION_CONTAINER 133
+#define GTPU_NO_MORE_EXT_HDR 0
+#define GTPU_QFI 6
+
/* *INDENT-OFF* */
typedef CLIB_PACKED(struct
{
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment