Gtpu cli reference
create gtpu forward
create gtpu forward dst <local-tep-addr> {unknown-teid|unknown-type|bad-header} [decap-next [l2|ip4|ip6|node <name>]] [encap-vrf-id <nn>] [del]
Declaration: gtpu_forward_command
src/plugins/gtpu/gtpu.c line 1581
Implementation: gtpu_forward_command_fn
create gtpu tunnel
create gtpu tunnel src <local-tep-addr> {dst <remote-tep-addr>|group <mcast-addr> <intf-name>} teid <nn> [tteid <nn>] [encap-vrf-id <nn>] [decap-next [l2|ip4|ip6|node <name>]] [qfi <nn>] [del | upd-tteid <nn>]
Add or delete a GTPU Tunnel.
GTPU can be used to transport Ethernet packets as its PDU type to provides allow L2 network or bridge domains (BDs) to span multiple servers. This is done by building an L2 overlay on top of an L3 network underlay using GTPU tunnels.
GTPU can also be used to transport IP packets as its PDU type to allow IP forwarding over underlay network, e.g. between RAN and UPF for mobility deployments.
Example of how to create a GTPU Tunnel:
create gtpu tunnel src 10.0.3.1 dst 10.0.3.3 teid 13 tteid 55 encap-vrf-id 7
Example of how to delete a GTPU Tunnel:
create gtpu tunnel src 10.0.3.1 dst 10.0.3.3 teid 13 encap-vrf-id 7 del
Example of how to update tx TEID of a GTPU Tunnel:
create gtpu tunnel src 10.0.3.1 dst 10.0.3.3 encap-vrf-id 7 upd-tteid 55
Declaration: create_gtpu_tunnel_command
src/plugins/gtpu/gtpu.c line 1110
Implementation: gtpu_add_del_tunnel_command_fn
set flow-offload gtpu
set flow-offload gtpu hw <inerface-name> rx <tunnel-name> [del]
Declaration: gtpu_offload_command
src/plugins/gtpu/gtpu.c line 1449
Implementation: gtpu_offload_command_fn
set interface ip gtpu-bypass
set interface ip gtpu-bypass <interface> [del]
This command adds the 'ip4-gtpu-bypass' graph node for a given interface. By adding the IPv4 gtpu-bypass graph node to an interface, the node checks for and validate input gtpu packet and bypass ip4-lookup, ip4-local, ip4-udp-lookup nodes to speedup gtpu packet forwarding. This node will cause extra overhead to for non-gtpu packets which is kept at a minimum.
Example of graph node before ip4-gtpu-bypass is enabled:
show vlib graph ip4-gtpu-bypass
Name Next Previous
ip4-gtpu-bypass error-drop [0]
gtpu4-input [1]
ip4-lookup [2]
Example of how to enable ip4-gtpu-bypass on an interface:
set interface ip gtpu-bypass GigabitEthernet2/0/0
Example of graph node after ip4-gtpu-bypass is enabled:
show vlib graph ip4-gtpu-bypass
Name Next Previous
ip4-gtpu-bypass error-drop [0] ip4-input
gtpu4-input [1] ip4-input-no-checksum
ip4-lookup [2]
Example of how to display the feature enabled on an interface:
show ip interface features GigabitEthernet2/0/0
IP feature paths configured on GigabitEthernet2/0/0...
...
ipv4 unicast:
ip4-gtpu-bypass
ip4-lookup
...
Example of how to disable ip4-gtpu-bypass on an interface:
set interface ip gtpu-bypass GigabitEthernet2/0/0 del
Declaration: set_interface_ip_gtpu_bypass_command
src/plugins/gtpu/gtpu.c line 1263
Implementation: set_ip4_gtpu_bypass
set interface ip6 gtpu-bypass
set interface ip6 gtpu-bypass <interface> [del]
This command adds the 'ip6-gtpu-bypass' graph node for a given interface. By adding the IPv6 gtpu-bypass graph node to an interface, the node checks for and validate input gtpu packet and bypass ip6-lookup, ip6-local, ip6-udp-lookup nodes to speedup gtpu packet forwarding. This node will cause extra overhead to for non-gtpu packets which is kept at a minimum.
Example of graph node before ip6-gtpu-bypass is enabled:
show vlib graph ip6-gtpu-bypass
Name Next Previous
ip6-gtpu-bypass error-drop [0]
gtpu6-input [1]
ip6-lookup [2]
Example of how to enable ip6-gtpu-bypass on an interface:
set interface ip6 gtpu-bypass GigabitEthernet2/0/0
Example of graph node after ip6-gtpu-bypass is enabled:
show vlib graph ip6-gtpu-bypass
Name Next Previous
ip6-gtpu-bypass error-drop [0] ip6-input
gtpu6-input [1] ip4-input-no-checksum
ip6-lookup [2]
Example of how to display the feature enabled on an interface:
show ip interface features GigabitEthernet2/0/0
IP feature paths configured on GigabitEthernet2/0/0...
...
ipv6 unicast:
ip6-gtpu-bypass
ip6-lookup
...
Example of how to disable ip6-gtpu-bypass on an interface:
set interface ip6 gtpu-bypass GigabitEthernet2/0/0 del
Declaration: set_interface_ip6_gtpu_bypass_command
src/plugins/gtpu/gtpu.c line 1320
Implementation: set_ip6_gtpu_bypass
show gtpu tunnel
show gtpu tunnel
Display all the GTPU Tunnel entries.
Example of how to display the GTPU Tunnel entries:
show gtpu tunnel
[0] src 10.0.3.1 dst 10.0.3.3 teid 13 tx-teid 55 encap_fib_index 0
sw_if_index 5 decap_next l2 pdu-disabled
Declaration: show_gtpu_tunnel_command
src/plugins/gtpu/gtpu.c line 1151
Implementation: show_gtpu_tunnel_command_fn