Add Ethernet PDU session support and make PDU session request configurable
This MR adds support for Ethernet PDU sessions, and makes PDU sessions
configurable: per-PDU session ID, type (IPv4/IPv4v6/IPv6/Ethernet [1]),
DNN, NSSAI.
Concretely, it adds a new configuration file section pdu_sessions below
uicc0 that looks like this if everything is specified (default values
are shown):
uicc0:
[...]
pdu_sessions:
- id: 1
type: "IPv4"
nssai_sst: 1
nssai_sd: 0xffffff
dnn: "oai"
It is possible to list multiple PDU sessions (add new line - id: 2 to
request a second PDU session). It is backwards-compatible to the current
PDU session configuration (uicc0.dnn/nssai_sst/etc), the idea being that
either legacy or new configuration could be used, but (1) if
pdu_sessions exist, it will overwrite the legacy configuration, and (2)
multiple PDU sessions, and type, can only be configured using the new
config. The old parameters --extra-pdu-id and --default-pdu-id are not
accepted anymore. Documentation has been added to the UE tutorial.
It is possible to test an Ethernet PDU session [1]. It is possible to
test the PDU session inside the UE by verifying it has an TAP interface
oaitap_ue1, and ARPing the data network (arping has been added to
oai-nr-ue container for that purpose):
ip addr add 192.168.72.140/26 dev oaitap_ue1 # same subnet as data network!
ip link set dev oaitap_ue1 up
arping -c 20 -I oaitap_ue1 192.168.72.135 # will send ARP request in Ethernet frame to get IP address of data network
[1] See description MR !3769 for more information. On the UE side, only
the type has to be changed to "Ethernet".
35 lines
809 B
YAML
35 lines
809 B
YAML
uicc0:
|
|
imsi: 208990100001100
|
|
key: fec86ba6eb707ed08905757b1bb44b8f
|
|
opc: C42449363BBAD02B66D16BC975D77CC1
|
|
pdu_sessions:
|
|
- dnn: oai
|
|
nssai_sst: 1
|
|
|
|
thread-pool: "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1"
|
|
|
|
rfsimulator:
|
|
- serveraddr: "127.0.0.1"
|
|
|
|
#/* configuration for channel modelisation */
|
|
#/* To be included in main config file when */
|
|
#/* channel modelisation is used (rfsimulator with chanmod options enabled) */
|
|
channelmod:
|
|
max_chan: 10
|
|
modellist: modellist_rfsimu_1
|
|
modellist_rfsimu_1:
|
|
- model_name: rfsimu_channel_enB0
|
|
type: AWGN
|
|
ploss_dB: 20
|
|
noise_power_dB: -4
|
|
forgetfact: 0
|
|
offset: 0
|
|
ds_tdl: 0
|
|
- model_name: rfsimu_channel_ue0
|
|
type: AWGN
|
|
ploss_dB: 20
|
|
nose_power_dB: -2
|
|
forgetfact: 0
|
|
offset: 0
|
|
ds_tdl: 0
|