Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
oai-upf-6g
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
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
oai-upf-6g
Commits
80334e2b
Commit
80334e2b
authored
Oct 16, 2025
by
Franck Messaoudi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update: create volatile variables for the maps sizes
parent
0024e89e
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
22 additions
and
21 deletions
+22
-21
src/upf_app/bpf/rules/include/pfcp_session_lookup_maps.h
src/upf_app/bpf/rules/include/pfcp_session_lookup_maps.h
+22
-21
No files found.
src/upf_app/bpf/rules/include/pfcp_session_lookup_maps.h
View file @
80334e2b
...
...
@@ -14,59 +14,60 @@
#include "interfaces.h"
#include "session_id.h"
#define MAX_LENGTH 10000 // 10
#define INTERFACE_ENTRIES_MAX 12
#define MAX_UEs 10000
#define MAX_PDRS_PER_SESSION 32
#define MAX_SDF_FITLER_ENTRIES 1000
struct
{
__uint
(
type
,
BPF_MAP_TYPE_HASH
);
__uint
(
max_entries
,
MAX_SDF_FITLER_ENTRIES
);
__type
(
key
,
struct
session_qfi
);
// <qfi, seid>
__type
(
value
,
struct
sdf_filtr
);
}
m_sdf_filter
SEC
(
".maps
"
);
const
volatile
int
max_upf_interfaces
SEC
(
".rodata"
);
const
volatile
int
max_upf_redirect_interfaces
SEC
(
".rodata"
);
const
volatile
int
max_pdu_session
SEC
(
".rodata"
);
const
volatile
int
max_pdrs_per_pdu_session
SEC
(
".rodata"
);
const
volatile
int
max_sdf_filters_per_pdu_session
SEC
(
".rodata"
);
const
volatile
int
max_arp_entries
SEC
(
".rodata
"
);
struct
{
__uint
(
type
,
BPF_MAP_TYPE_HASH
);
__uint
(
max_entries
,
INTERFACE_ENTRIES_MAX
);
__uint
(
max_entries
,
1
);
/* max_upf_interfaces */
__type
(
key
,
e_reference_point
);
__type
(
value
,
struct
s_interface
);
}
m_upf_interfaces
SEC
(
".maps"
);
struct
{
__uint
(
type
,
BPF_MAP_TYPE_HASH
);
__uint
(
max_entries
,
MAX_LENGTH
);
__uint
(
max_entries
,
1
);
/* max_sdf_filters_per_pdu_session */
__type
(
key
,
struct
session_qfi
);
// <qfi, seid>
__type
(
value
,
struct
sdf_filtr
);
}
m_sdf_filter
SEC
(
".maps"
);
struct
{
__uint
(
type
,
BPF_MAP_TYPE_HASH
);
__uint
(
max_entries
,
1
);
/* max_pdu_session */
__type
(
key
,
u32
);
// ue_ip_address
__type
(
value
,
struct
session_id
);
// < teid_ul, teid_dl, seid >
}
m_session_mapping
SEC
(
".maps"
);
struct
{
__uint
(
type
,
BPF_MAP_TYPE_HASH
);
__uint
(
max_entries
,
MAX_LENGTH
);
__uint
(
max_entries
,
1
);
/* max_pdrs_per_pdu_session */
__type
(
key
,
u64
);
// seid
__type
(
value
,
pfcp_pdr_t_
[
MAX_PDRS_PER_SESSION
]);
}
m_session_pdrs
SEC
(
".maps"
);
struct
{
__uint
(
type
,
BPF_MAP_TYPE_HASH
);
__uint
(
max_entries
,
MAX_LENGTH
);
// max_rules = max_pdrs_per_pdu_session * max_pdu_session
__uint
(
max_entries
,
1
);
/* max_pdrs_per_pdu_session * max_pdu_session */
__type
(
key
,
struct
pdrs_per_session
);
// < pdr_id, seid >
__type
(
value
,
struct
rules_match_pdr
);
// < FAR, QER, /* MAR, BAR, URR */ >
}
m_rules_match_pdr
SEC
(
".maps"
);
struct
{
__uint
(
type
,
BPF_MAP_TYPE_HASH
);
__uint
(
max_entries
,
MAX_LENGTH
);
// Store only one entry for the QoS flag
__uint
(
max_entries
,
1
);
/* max_pdu_session */
__type
(
key
,
u64
);
// seid
__type
(
value
,
u32
);
// Value type (0 for false, 1 for true)
}
m_qos_enabling
SEC
(
".maps"
);
struct
{
__uint
(
type
,
BPF_MAP_TYPE_HASH
);
__uint
(
max_entries
,
MAX_UEs
);
__uint
(
max_entries
,
1
);
__type
(
key
,
u32
);
// hash_framed_routing_key
__type
(
value
,
u32
);
// ue_ip
}
m_framed_route_mapping
SEC
(
".maps"
);
...
...
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