Commit 0ab4bece authored by wangyongshou's avatar wangyongshou

support the sessions 65536

parent 2f6109b0
......@@ -52,8 +52,8 @@ static fib_source_t upf_fib_source;
#include <arpa/inet.h>
#define SESSIONS_MAX 1024
#define UE_IPS_MAX 1024
#define SESSIONS_MAX 1024*64
#define UE_IPS_MAX 1024*64
#define EXT_NUM_MAX 10
#define PEERS_NUM_MAX 32
......
......@@ -54,11 +54,11 @@ unix_main_t *um = &unix_main;
extern vlib_main_t vlib_global_main;
extern upf_ueip_dl_gtpu4_header_t *upf_ueip_dl_gtpu4_header;
extern upf_if_info_t *if_info ;
extern upf_ueip_dl_gtpu4_header_t *upf_ueip_dl_gtpu4_header;
extern upf_if_info_t *if_info ;
#define UPF_BUF 1024
const u32 gtpu_n3_dst_sw_if_index = 1;
#define UPF_BUF 1024
#define UPF_GTPU_N3_DST_SW_IF_INDEX 1
//cmd
#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
.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;
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);
......@@ -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;
//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->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_
{
u32 gnb_ip4 = 0;
update_pdr->placeholder = 1;
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_
//gnb old ip -> new ip
gtpu_dl->gnb_ip = clib_net_to_host_u32(gnb_ip4);
//update_pdr->far_id = 1;
upf_far_t *far = NULL;
for(int i = 0; i< UPF_FAR_MAX; 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);
//if(far->id == update_pdr->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);
......@@ -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);
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);
}
......
......@@ -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);
//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))
{
gtpu_dl->ver_flags = gtpu0->ver_flags;
......@@ -976,8 +972,7 @@ upf_gtpu_input (vlib_main_t * vm,
gtpu_dl->next_ext_type = gtpu0->next_ext_type;
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));
}
}
......
......@@ -33,7 +33,7 @@ statseg {
cpu {
main-core 13
corelist-workers 14
corelist-workers 14,15
scheduler-policy fifo
scheduler-priority 50
......@@ -73,7 +73,7 @@ dpdk {
no-tx-checksum-offload
}
heapsize 2G
heapsize 4G
plugins {
path ./build-root/install-vpp_debug-native/vpp/lib/vpp_plugins
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment