2. VPP Prototyping for Stateless SRv6/GTP-U Translation | FD.io / VPP ユーザ有志の会 #1 | 2019/05/28 @東京ミッドタウン
SRv6 on VPP (Vector Packet Processing)
https://fd.io/technology/
• Input as Packet Vector
• Process based on graph of nodes
(ethernet, mpls, ip6, arp …)
• New functionality could be added by
customizing node or creating plugin
SRv6 node: sr_localsid_node, sr_policy_*_node
DPDK (User Land)
3. VPP Prototyping for Stateless SRv6/GTP-U Translation | FD.io / VPP ユーザ有志の会 #1 | 2019/05/28 @東京ミッドタウン
SRv6 on VPP (by FD.io project)
Supported functions as of 2019/05/27
http://www.segment-routing.net/open-software/vpp/
5. VPP Prototyping for Stateless SRv6/GTP-U Translation | FD.io / VPP ユーザ有志の会 #1 | 2019/05/28 @東京ミッドタウン
IETF 104 Hackathon @Prague, Czech
Target Function Description
End.MAP Forwards the receiving IPv6 packet and update the IPv6 DA
with mapped SID.
End.M.GTP6.D Decap the receiving GTP/UDP/IPv6 packet and encap with
IPv6 header, or IPv6 header with SRH based on the
address/ID mapping rule and binding SR-Policy
End.M.GTP6.E Decap the receiving IPv6+SRH packet and encap with
IPv6/UDP/GTP-U header based on the address/ID mapping
rule.
End.M.GTP4.E
(SRv6 -> GTP-U)
Decap the receiving IPv6+SRH packet and encap with
IPv4/UDP/GTP-U header base on the address/ID mapping
rule.
T.M.Tmap
(GTP-U -> SRv6)
Decap the receiving GTP/UDP/IPv4 packet and encap with
IPv6 header, or IPv6 header with SRH based on the
address/ID mapping rule and binding SR-Policy.
End.Limit Limit the throughput of the packet flow with mapped SID.
**NEW** Translate GTP-U Echo Request to ICMP Echo Request and vice
versa
**NEW** Translate GTP-U Echo Reply to ICMP Echo Request and vice
versa
6. VPP Prototyping for Stateless SRv6/GTP-U Translation | FD.io / VPP ユーザ有志の会 #1 | 2019/05/28 @東京ミッドタウン
Hackathon Topology and CLI (ConfigCommands)
Hack target
VPP1
VPP4
D4::
IPv4 over GTP/UDP/IPv4 IPv4 over SRH/IPv6
VPP2
D2::
IPv4 over IPv6 IPv4 over GTP/UDP/IPv4
T.M.Tmap End.M.GTP4.E
VPP3
D3::
scapy scapy
T.M.Tmap
sr policy add bsid <bsid> next A1:: next B1:: next C1:: (weight 5) (fib-table 3) gtp4_removal
sr-prefix <ipv6_prefix_interworking>/<mask> local-prefix <src_prefix>/<mask>
sr steer l3 <IPv4 dst addr of GTP-U>/<mask> via bsid <bsid>
End.M.GTP4.E
sr localsid (del) address <IPv6 address of SRGW>/<mask> behavior end.m.gtp4.e