2021-11-23 13:18:44 +00:00
OsmoUPF> enable
OsmoUPF# configure terminal
OsmoUPF(config)# show running-config
...
2022-01-12 01:48:43 +00:00
OsmoUPF(config)# pfcp
OsmoUPF(config-pfcp)# list
...
local-addr IP_ADDR
OsmoUPF(config-pfcp)# local-addr?
local-addr Set the local IP address to bind on for PFCP
OsmoUPF(config-pfcp)# local-addr ?
IP_ADDR IP address
OsmoUPF(config-pfcp)# exit
2022-11-18 12:18:31 +00:00
OsmoUPF(config)# # ensure its old name "gtp" enters the tunend node
2022-01-12 01:48:43 +00:00
OsmoUPF(config)# gtp
2022-11-18 12:18:31 +00:00
OsmoUPF(config-tunend)# list
2022-01-12 01:48:43 +00:00
...
2022-11-18 12:25:32 +00:00
mockup
no mockup
2022-01-12 01:48:43 +00:00
dev create DEVNAME [LISTEN_ADDR]
2022-12-09 02:18:33 +00:00
dev use DEVNAME [LOCAL_ADDR]
2022-01-12 01:48:43 +00:00
dev delete DEVNAME
2022-11-18 12:18:31 +00:00
OsmoUPF(config-tunend)# exit
OsmoUPF(config)# tunend
OsmoUPF(config-tunend)# list
...
dev create DEVNAME [LISTEN_ADDR]
2022-12-09 02:18:33 +00:00
dev use DEVNAME [LOCAL_ADDR]
2022-11-18 12:18:31 +00:00
dev delete DEVNAME
2022-11-18 12:25:32 +00:00
2022-11-18 12:18:31 +00:00
OsmoUPF(config-tunend)# dev?
2022-01-12 01:48:43 +00:00
dev Configure the GTP device to use for encaps/decaps.
2022-11-18 12:18:31 +00:00
OsmoUPF(config-tunend)# dev ?
2022-12-09 02:18:33 +00:00
create Add GTP device, creating a new Linux kernel GTP device. Will listen on GTPv1 port 2152 and GTPv0 port 3386 on the specified LISTEN_ADDR
2022-08-10 00:10:46 +00:00
use Add GTP device, using an existing Linux kernel GTP device, e.g. created by 'gtp-link'
delete Remove a GTP device from the configuration, and delete the Linux kernel GTP device if it was created here.
2022-11-18 12:18:31 +00:00
OsmoUPF(config-tunend)# dev create ?
2022-01-12 01:48:43 +00:00
DEVNAME device name, e.g. 'apn0'
2022-11-18 12:18:31 +00:00
OsmoUPF(config-tunend)# dev create foo ?
2022-12-09 02:18:33 +00:00
[LISTEN_ADDR] IPv4 or IPv6 address to listen on, omit for ANY. LISTEN_ADDR is used to pick a GTP device matching the local address for a PFCP Network Instance, which are configured in the 'netinst' node.
OsmoUPF(config-tunend)# dev use ?
DEVNAME device name, e.g. 'apn0'
OsmoUPF(config-tunend)# dev use foo ?
[LOCAL_ADDR] The local GTP address this device listens on. It is assumed to be ANY when omitted. LOCAL_ADDR is used to pick a GTP device matching the local address for a PFCP Network Instance, which are configured in the 'netinst' node.
2022-11-18 12:18:31 +00:00
OsmoUPF(config-tunend)# dev delete ?
2022-01-12 01:48:43 +00:00
DEVNAME device name, e.g. 'apn0'
2022-11-18 12:18:31 +00:00
OsmoUPF(config-tunend)# exit
2022-11-18 12:25:32 +00:00
2022-11-18 12:18:31 +00:00
OsmoUPF(config)# # ensure its old name "nft" enters the tunmap node
2022-11-18 12:25:32 +00:00
OsmoUPF(config)# nft
2022-11-18 12:18:31 +00:00
OsmoUPF(config-tunmap)# list
2022-11-18 12:25:32 +00:00
...
mockup
no mockup
table-name TABLE_NAME
2022-12-07 23:52:49 +00:00
show nft-rule tunmap example
2022-11-18 12:18:31 +00:00
OsmoUPF(config-tunmap)# exit
2022-11-18 12:25:32 +00:00
2022-11-18 12:18:31 +00:00
OsmoUPF(config)# tunmap
OsmoUPF(config-tunmap)# list
...
mockup
no mockup
table-name TABLE_NAME
2022-12-07 23:52:49 +00:00
show nft-rule tunmap example
2022-11-18 12:18:31 +00:00
OsmoUPF(config-tunmap)# mockup?
2022-11-18 12:25:32 +00:00
mockup don't actually send rulesets to nftables, just return success
2022-11-18 12:18:31 +00:00
OsmoUPF(config-tunmap)# no ?
2023-02-03 01:15:36 +00:00
mockup operate nftables rulesets normally
2022-11-18 12:25:32 +00:00
2022-11-18 12:18:31 +00:00
OsmoUPF(config-tunmap)# table-name?
2022-11-18 12:25:32 +00:00
table-name Set the nft inet table name to create and place GTP tunnel forwarding chains in (as in 'nft add table inet foo'). If multiple instances of osmo-upf are running on the same system, each osmo-upf must have its own table name. Otherwise the names of created forwarding chains will collide. The default table name is "osmo-upf".
2022-11-18 12:18:31 +00:00
OsmoUPF(config-tunmap)# table-name ?
2022-11-18 12:25:32 +00:00
TABLE_NAME nft inet table name
2022-12-07 23:52:49 +00:00
2022-12-06 17:05:27 +00:00
OsmoUPF(config-tunmap)# nft-rule?
2023-02-03 01:15:36 +00:00
% There is no matched command.
2022-12-06 17:05:27 +00:00
OsmoUPF(config-tunmap)# nft-rule ?
2023-02-03 01:15:36 +00:00
% There is no matched command.
2022-12-06 17:05:27 +00:00
OsmoUPF(config-tunmap)# nft-rule tunmap ?
2023-02-03 01:15:36 +00:00
% There is no matched command.
2022-12-06 17:05:27 +00:00
OsmoUPF(config-tunmap)# nft-rule tunmap append ?
2023-02-03 01:15:36 +00:00
% There is no matched command.
2022-12-06 17:05:27 +00:00
2022-12-07 23:52:49 +00:00
OsmoUPF(config-tunmap)# show?
show Show running system information
OsmoUPF(config-tunmap)# show ?
...
nft-rule nftables rule specifics
...
OsmoUPF(config-tunmap)# show nft-rule ?
tunmap GTP tunmap use case (a.k.a. forwarding between two GTP tunnels)
OsmoUPF(config-tunmap)# show nft-rule tunmap ?
example Print a complete nftables ruleset for a tunmap filled with example IP addresses and TEIDs