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
0ab4bece
Commit
0ab4bece
authored
Mar 29, 2021
by
wangyongshou
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
support the sessions 65536
parent
2f6109b0
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
11 additions
and
31 deletions
+11
-31
src/vppe/src/plugins/upf/upf.c
src/vppe/src/plugins/upf/upf.c
+2
-2
src/vppe/src/plugins/upf/upf_api.c
src/vppe/src/plugins/upf/upf_api.c
+6
-21
src/vppe/src/plugins/upf/upf_gtpu_decap.c
src/vppe/src/plugins/upf/upf_gtpu_decap.c
+1
-6
src/vppe/startup_debug.conf
src/vppe/startup_debug.conf
+2
-2
No files found.
src/vppe/src/plugins/upf/upf.c
View file @
0ab4bece
...
@@ -52,8 +52,8 @@ static fib_source_t upf_fib_source;
...
@@ -52,8 +52,8 @@ static fib_source_t upf_fib_source;
#include <arpa/inet.h>
#include <arpa/inet.h>
#define SESSIONS_MAX 1024
#define SESSIONS_MAX 1024
*64
#define UE_IPS_MAX 1024
#define UE_IPS_MAX 1024
*64
#define EXT_NUM_MAX 10
#define EXT_NUM_MAX 10
#define PEERS_NUM_MAX 32
#define PEERS_NUM_MAX 32
...
...
src/vppe/src/plugins/upf/upf_api.c
View file @
0ab4bece
...
@@ -54,11 +54,11 @@ unix_main_t *um = &unix_main;
...
@@ -54,11 +54,11 @@ unix_main_t *um = &unix_main;
extern
vlib_main_t
vlib_global_main
;
extern
vlib_main_t
vlib_global_main
;
extern
upf_ueip_dl_gtpu4_header_t
*
upf_ueip_dl_gtpu4_header
;
extern
upf_ueip_dl_gtpu4_header_t
*
upf_ueip_dl_gtpu4_header
;
extern
upf_if_info_t
*
if_info
;
extern
upf_if_info_t
*
if_info
;
#define UPF_BUF 1024
#define UPF_BUF
1024
const
u32
gtpu_n3_dst_sw_if_index
=
1
;
#define UPF_GTPU_N3_DST_SW_IF_INDEX 1
//cmd
//cmd
#define GTPU_TUNNEL_ADD "create gtpu tunnel src %s dst %s teid %u encap-vrf-id 0 decap-next node ip4-lookup\n"
#define GTPU_TUNNEL_ADD "create gtpu tunnel src %s dst %s teid %u encap-vrf-id 0 decap-next node ip4-lookup\n"
...
@@ -154,19 +154,9 @@ upf_ip_udp_gtpu_rewrite (/*upf_far_forward_t * ff */upf_far_t *ff, u32 fib_index
...
@@ -154,19 +154,9 @@ upf_ip_udp_gtpu_rewrite (/*upf_far_forward_t * ff */upf_far_t *ff, u32 fib_index
.
rw
=
0
.
rw
=
0
};
};
#if 0
if(ff->forward.rewrite)
{
clib_upf_debug(um->log_fd,"free, rewrite:%p", ff->forward.rewrite);
vec_free(ff->forward.rewrite);
}
#endif
int
len
=
is_ip4
?
sizeof
*
r
.
h4
:
sizeof
*
r
.
h6
;
int
len
=
is_ip4
?
sizeof
*
r
.
h4
:
sizeof
*
r
.
h6
;
vec_validate_aligned
(
r
.
rw
,
len
-
1
,
CLIB_CACHE_LINE_BYTES
);
vec_validate_aligned
(
r
.
rw
,
len
-
1
,
CLIB_CACHE_LINE_BYTES
);
clib_upf_debug
(
um
->
log_fd
,
"far_id:%u,rw:%p,rewrite:%p"
,
ff
->
id
,
r
.
rw
,
ff
->
forward
.
rewrite
);
clib_upf_debug
(
um
->
log_fd
,
"far_id:%u,rw:%p,rewrite:%p"
,
ff
->
id
,
r
.
rw
,
ff
->
forward
.
rewrite
);
...
@@ -193,7 +183,7 @@ upf_ip_udp_gtpu_rewrite (/*upf_far_forward_t * ff */upf_far_t *ff, u32 fib_index
...
@@ -193,7 +183,7 @@ upf_ip_udp_gtpu_rewrite (/*upf_far_forward_t * ff */upf_far_t *ff, u32 fib_index
//After gtpu N3 is created, the interface index in VPP is 1, currently fixed value;
//After gtpu N3 is created, the interface index in VPP is 1, currently fixed value;
//const u32 gtpu_n3_dst_sw_if_index = 1; //192.168.10.10
//const u32 gtpu_n3_dst_sw_if_index = 1; //192.168.10.10
ip4_address_t
src_address
=
*
(
ip4_address_t
*
)
ip_interface_get_first_ip
(
gtpu_n3_dst_sw_if_index
,
is_ip4
);
ip4_address_t
src_address
=
*
(
ip4_address_t
*
)
ip_interface_get_first_ip
(
UPF_GTPU_N3_DST_SW_IF_INDEX
,
is_ip4
);
ip
->
src_address
.
data_u32
=
src_address
.
data_u32
;
ip
->
src_address
.
data_u32
=
src_address
.
data_u32
;
ip
->
dst_address
=
ff
->
forward
.
outer_header_creation
.
ip
.
ip4
;
ip
->
dst_address
=
ff
->
forward
.
outer_header_creation
.
ip
.
ip4
;
...
@@ -960,8 +950,6 @@ bupt_handle_modify_update_pdr(upf_main_t *sm, upf_session_t *sx, vl_api_upf_ssm_
...
@@ -960,8 +950,6 @@ bupt_handle_modify_update_pdr(upf_main_t *sm, upf_session_t *sx, vl_api_upf_ssm_
{
{
u32
gnb_ip4
=
0
;
u32
gnb_ip4
=
0
;
update_pdr
->
placeholder
=
1
;
update_pdr
->
placeholder
=
1
;
update_pdr
->
precedence
=
clib_net_to_host_u16
(
mp
->
update_pdr
.
precedence
);
update_pdr
->
precedence
=
clib_net_to_host_u16
(
mp
->
update_pdr
.
precedence
);
...
@@ -1106,15 +1094,12 @@ bupt_handle_modify_update_pdr(upf_main_t *sm, upf_session_t *sx, vl_api_upf_ssm_
...
@@ -1106,15 +1094,12 @@ bupt_handle_modify_update_pdr(upf_main_t *sm, upf_session_t *sx, vl_api_upf_ssm_
//gnb old ip -> new ip
//gnb old ip -> new ip
gtpu_dl
->
gnb_ip
=
clib_net_to_host_u32
(
gnb_ip4
);
gtpu_dl
->
gnb_ip
=
clib_net_to_host_u32
(
gnb_ip4
);
//update_pdr->far_id = 1;
upf_far_t
*
far
=
NULL
;
upf_far_t
*
far
=
NULL
;
for
(
int
i
=
0
;
i
<
UPF_FAR_MAX
;
i
++
)
for
(
int
i
=
0
;
i
<
UPF_FAR_MAX
;
i
++
)
{
{
far
=
sx
->
rules
[
0
].
far
+
i
;
far
=
sx
->
rules
[
0
].
far
+
i
;
clib_upf_debug
(
um
->
log_fd
,
"far->id:%u,update_pdr->far_id:%u, gtpu_dl->far_id:%u"
,
far
->
id
,
update_pdr
->
far_id
,
gtpu_dl
->
far_id
);
clib_upf_debug
(
um
->
log_fd
,
"far->id:%u,update_pdr->far_id:%u, gtpu_dl->far_id:%u"
,
far
->
id
,
update_pdr
->
far_id
,
gtpu_dl
->
far_id
);
//if(far->id == update_pdr->far_id)
if
(
far
->
id
==
gtpu_dl
->
far_id
)
if
(
far
->
id
==
gtpu_dl
->
far_id
)
{
{
clib_upf_debug
(
um
->
log_fd
,
"find pdr_id:%u, far_id:%u"
,
update_pdr
->
id
,
far
->
id
);
clib_upf_debug
(
um
->
log_fd
,
"find pdr_id:%u, far_id:%u"
,
update_pdr
->
id
,
far
->
id
);
...
@@ -1155,7 +1140,7 @@ bupt_handle_modify_update_pdr(upf_main_t *sm, upf_session_t *sx, vl_api_upf_ssm_
...
@@ -1155,7 +1140,7 @@ bupt_handle_modify_update_pdr(upf_main_t *sm, upf_session_t *sx, vl_api_upf_ssm_
upf_ip4_to_str
(
ip
->
dst_address
.
data_u32
,
new_n3_gnb
,
UPF_BUF
);
upf_ip4_to_str
(
ip
->
dst_address
.
data_u32
,
new_n3_gnb
,
UPF_BUF
);
clib_upf_debug
(
um
->
log_fd
,
"
00000,
old_n3_gnb:%s, new_n3_gnb:%s"
,
clib_upf_debug
(
um
->
log_fd
,
"old_n3_gnb:%s, new_n3_gnb:%s"
,
old_n3_gnb
,
new_n3_gnb
);
old_n3_gnb
,
new_n3_gnb
);
}
}
...
...
src/vppe/src/plugins/upf/upf_gtpu_decap.c
View file @
0ab4bece
...
@@ -963,10 +963,6 @@ upf_gtpu_input (vlib_main_t * vm,
...
@@ -963,10 +963,6 @@ upf_gtpu_input (vlib_main_t * vm,
gtpu4_header_dl_t
*
gtpu_dl
=
upf_lookup_dl_gtpu4_header_by_ueip
(
ip4_0
->
src_address
.
as_u32
);
gtpu4_header_dl_t
*
gtpu_dl
=
upf_lookup_dl_gtpu4_header_by_ueip
(
ip4_0
->
src_address
.
as_u32
);
//Avoid copying data multiple times
//Avoid copying data multiple times
//if(gtpu_dl )
//clib_upf_debug(um->log_fd,"gtpu_dl:%p, gtpu_dl->cur_ext_num:%d", gtpu_dl, gtpu_dl->cur_ext_num);
if
(
gtpu_dl
&&
(
gtpu_dl
->
cur_ext_num
==
0
))
if
(
gtpu_dl
&&
(
gtpu_dl
->
cur_ext_num
==
0
))
{
{
gtpu_dl
->
ver_flags
=
gtpu0
->
ver_flags
;
gtpu_dl
->
ver_flags
=
gtpu0
->
ver_flags
;
...
@@ -976,8 +972,7 @@ upf_gtpu_input (vlib_main_t * vm,
...
@@ -976,8 +972,7 @@ upf_gtpu_input (vlib_main_t * vm,
gtpu_dl
->
next_ext_type
=
gtpu0
->
next_ext_type
;
gtpu_dl
->
next_ext_type
=
gtpu0
->
next_ext_type
;
gtpu_dl
->
cur_ext_num
=
cur_num
;
gtpu_dl
->
cur_ext_num
=
cur_num
;
//if(cur_num)
memcpy
(
gtpu_dl
->
ext_dl
,
gtpu_ext
,
cur_num
*
sizeof
(
gtpu_ext_header_t
));
memcpy
(
gtpu_dl
->
ext_dl
,
gtpu_ext
,
cur_num
*
sizeof
(
gtpu_ext_header_t
));
}
}
}
}
...
...
src/vppe/startup_debug.conf
View file @
0ab4bece
...
@@ -33,7 +33,7 @@ statseg {
...
@@ -33,7 +33,7 @@ statseg {
cpu
{
cpu
{
main
-
core
13
main
-
core
13
corelist
-
workers
14
corelist
-
workers
14
,
15
scheduler
-
policy
fifo
scheduler
-
policy
fifo
scheduler
-
priority
50
scheduler
-
priority
50
...
@@ -73,7 +73,7 @@ dpdk {
...
@@ -73,7 +73,7 @@ dpdk {
no
-
tx
-
checksum
-
offload
no
-
tx
-
checksum
-
offload
}
}
heapsize
2
G
heapsize
4
G
plugins
{
plugins
{
path
./
build
-
root
/
install
-
vpp_debug
-
native
/
vpp
/
lib
/
vpp_plugins
path
./
build
-
root
/
install
-
vpp_debug
-
native
/
vpp
/
lib
/
vpp_plugins
...
...
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