mirror of
https://gitea.osmocom.org/cellular-infrastructure/osmo-upf.git
synced 2025-10-23 00:02:03 +00:00
Subsequent patch will refactor the tunmap nft ruleset. Instead of adapting the 'tunmap append' feature to the new ruleset, rather drop this feature entirely. The 'nft rule tunmap append' was intended for enabling 'trace' in the nft ruleset. However, the same can be achieved via the nft cmdline tool. For example: sudo nft 'add chain filter trace_chain { type filter hook prerouting priority -301; }' sudo nft 'add rule filter trace_chain meta nftrace set 1' Related: SYS#6327 SYS#6264 Change-Id: I1ae36f2f520217254c81fd765d27333ff0f457b2
99 lines
3.6 KiB
Plaintext
99 lines
3.6 KiB
Plaintext
OsmoUPF> enable
|
|
OsmoUPF# configure terminal
|
|
OsmoUPF(config)# show running-config
|
|
...
|
|
|
|
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
|
|
|
|
OsmoUPF(config)# # ensure its old name "gtp" enters the tunend node
|
|
OsmoUPF(config)# gtp
|
|
OsmoUPF(config-tunend)# list
|
|
...
|
|
mockup
|
|
no mockup
|
|
dev create DEVNAME [LISTEN_ADDR]
|
|
dev use DEVNAME [LOCAL_ADDR]
|
|
dev delete DEVNAME
|
|
|
|
OsmoUPF(config-tunend)# exit
|
|
OsmoUPF(config)# tunend
|
|
OsmoUPF(config-tunend)# list
|
|
...
|
|
dev create DEVNAME [LISTEN_ADDR]
|
|
dev use DEVNAME [LOCAL_ADDR]
|
|
dev delete DEVNAME
|
|
|
|
OsmoUPF(config-tunend)# dev?
|
|
dev Configure the GTP device to use for encaps/decaps.
|
|
OsmoUPF(config-tunend)# dev ?
|
|
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
|
|
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.
|
|
OsmoUPF(config-tunend)# dev create ?
|
|
DEVNAME device name, e.g. 'apn0'
|
|
OsmoUPF(config-tunend)# dev create foo ?
|
|
[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.
|
|
OsmoUPF(config-tunend)# dev delete ?
|
|
DEVNAME device name, e.g. 'apn0'
|
|
OsmoUPF(config-tunend)# exit
|
|
|
|
OsmoUPF(config)# # ensure its old name "nft" enters the tunmap node
|
|
OsmoUPF(config)# nft
|
|
OsmoUPF(config-tunmap)# list
|
|
...
|
|
mockup
|
|
no mockup
|
|
table-name TABLE_NAME
|
|
show nft-rule tunmap example
|
|
OsmoUPF(config-tunmap)# exit
|
|
|
|
OsmoUPF(config)# tunmap
|
|
OsmoUPF(config-tunmap)# list
|
|
...
|
|
mockup
|
|
no mockup
|
|
table-name TABLE_NAME
|
|
show nft-rule tunmap example
|
|
|
|
OsmoUPF(config-tunmap)# mockup?
|
|
mockup don't actually send rulesets to nftables, just return success
|
|
OsmoUPF(config-tunmap)# no ?
|
|
mockup operate nftables rulesets normally
|
|
|
|
OsmoUPF(config-tunmap)# table-name?
|
|
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".
|
|
OsmoUPF(config-tunmap)# table-name ?
|
|
TABLE_NAME nft inet table name
|
|
|
|
OsmoUPF(config-tunmap)# nft-rule?
|
|
% There is no matched command.
|
|
OsmoUPF(config-tunmap)# nft-rule ?
|
|
% There is no matched command.
|
|
OsmoUPF(config-tunmap)# nft-rule tunmap ?
|
|
% There is no matched command.
|
|
OsmoUPF(config-tunmap)# nft-rule tunmap append ?
|
|
% There is no matched command.
|
|
|
|
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
|