В настоящее время UPF имеет несколько параметров конфигурации, показанных ниже.
Параметры можно настроить через интерфейс командной строки, файлы конфигурации (YAML, JSON) или переменные среды.
Параметр | Описание | yaml | env | cli arg | Значение по умолчанию |
---|---|---|---|---|---|
Interface nameОбязательный |
Список сетевых интерфейсов, обрабатывающих трафик N3 (GTP) и N6 (SGi). eUPF присоединяет перехватчик XDP к каждому интерфейсу в этом списке. Формат: [ifnameA, ifnameB, ...] . |
interface_name |
UPF_INTERFACE_NAME |
--iface |
lo |
N3 address Обязательный |
IPv4 адреc для N3 интерфейса | n3_address |
UPF_N3_ADDRESS |
--n3addr |
127.0.0.1 |
N9 address Дополнительный |
IPv4 адреc для N9 интерфейса. | n9_address |
UPF_N9_ADDRESS |
--n9addr |
n3_address |
XDP mode Дополнительный |
XDP attach mode: ∘ generic – Реализация на уровне ядра. В целях оценки. ∘ native – реализация на уровне драйвера ∘ offload – реализация на уровне NIC. XDP можно загрузить и выполнить непосредственно на сетевой карте. См. Как работает XDP |
xdp_attach_mode |
UPF_XDP_ATTACH_MODE |
--attach |
generic |
API address Дополнительный |
Локальный адрес для обслуживания сервера REST API | api_address |
UPF_API_ADDRESS |
--aaddr |
:8080 |
PFCP address Дополнительный |
Локальный адрес, по которому буедт доступен PFCP server | pfcp_address |
UPF_PFCP_ADDRESS |
--paddr |
:8805 |
PFCP NodeID Дополнительный |
Локальный NodeID для PFCP protocol. Формет - IPv4 address. | pfcp_node_id |
UPF_PFCP_NODE_ID |
--nodeid |
127.0.0.1 |
GTP peer Дополнительный |
Список GTP-узлов, в сторону которых будут отправляться запросы GTP Echo Request. Формат: [хостA:портA, хостB:портB, ...] . |
gtp_peer |
UPF_GTP_PEER |
--peer |
- |
Echo request iterval Дополнительный |
Интервал отправки GTP Echo Request сообщений. Значение указывается в секундах. | echo_interval |
UPF_ECHO_INTERVAL |
--echo |
10 |
Metrics address Дополнительный |
Локальный адрес для обслуживания метрик Prometheus. | metrics_address |
UPF_METRICS_ADDRESS |
--maddr |
:9090 |
QER map size Дополнительный |
Размер eBPF map для параметров QER | qer_map_size |
UPF_QER_MAP_SIZE |
--qersize |
1024 |
FAR map size Дополнительный |
Размер eBPF map для параметров FAR | far_map_size |
UPF_FAR_MAP_SIZE |
--farsize |
1024 |
PDR map size Дополнительный |
Размер eBPF map для параметров PDR | pdr_map_size |
UPF_PDR_MAP_SIZE |
--pdrsize |
1024 |
Logging level Дополнительный |
Журналы уровня <= выбранного уровня будут записаны на stdout. | logging_level |
UPF_LOGGING_LEVEL |
--loglvl |
info |
FTUP Feature Дополнительный |
Поддержка опции распределения TEID | feature_ftup |
UPF_FEATURE_FTUP |
--feature_ftup |
false |
TEID Pool Дополнительный |
Пул TEID, необходимый для выделения TEID, когда опция FTUP включена | teid_pool |
UPF_TEID_POOL |
--teid_pool |
65536 |
Мы использьуем Viper для работы с конфигурациями, Viper использует следующий порядок приоритета. Каждый элемент имеет приоритет над элементом, находящимся под ним:
- аргумент CLI
- переменная окружения
- значение в конфигурационных файлах
- значение по умолчанию
ЗАМЕЧАНИЕ: commit на текущий момент мы поддерживаем только IPv4 NodeID.
interface_name: [lo]
xdp_attach_mode: generic
api_address: :8080
pfcp_address: :8805
pfcp_node_id: 127.0.0.1
metrics_address: :9090
n3_address: 127.0.0.1
n9_address: 127.0.0.1
qer_map_size: 1024
far_map_size: 1024
pdr_map_size: 1024
feature_ftup: true
teid_pool: 65536
UPF_INTERFACE_NAME="[eth0, n6]"
UPF_XDP_ATTACH_MODE=generic
UPF_API_ADDRESS=:8081
UPF_PFCP_ADDRESS=:8806
UPF_METRICS_ADDRESS=:9091
UPF_PFCP_NODE_ID: 10.100.50.241 # address on n4 interface
UPF_N3_ADDRESS: 10.100.50.233
UPF_N9_ADDRESS: 10.100.50.233
eupf \
--iface n3 \
--iface n6 \
--attach generic \
--aaddr :8081 \
--paddr :8086 \
--nodeid 127.0.0.1 \
--maddr :9090 \
--n3addr 10.100.50.233