SlideShare a Scribd company logo
1 of 14
Download to read offline
VPP Prototyping for Stateless
SRv6/GTP-U Translation
2019.05.28
S.Matsushima, K.Ebisawa
Objectives
• Implements the key SRv6 functions defined by “I-D.ietf-dmm-srv6-
mobile-uplane*”
• Needs a flexible platform to impalement all possible functions
• Try to hack the missing features already known.
• Disclose the implementation codes as open source
• Provides feedbacks to the I-D through the hack
• To Improve the specs.
• Identify the hidden missing parts of the spec.
*: https://datatracker.ietf.org/doc/draft-ietf-dmm-srv6-mobile-uplane/
SRv6 Mobile Upane Functions
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 Decap the receiving IPv6+SRH packet and encap with
IPv4/UDP/GTP-U header base on the address/ID mapping
rule.
T.M.Tmap 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** Encoding GTP-U Messages into SRH.
**NEW** Decoding GTP-U Messages from SRH.
End.MAP in Downlink
Internet
gNBUE
N3 N9 N6
IPv6 Hdr SA = U2::, DA = G::1
IPv6 Hdr SA = Z::, DA = A::
IPv6 Hdr SA = Z::, DA = A:: IPv6 HdrSA = U2::, DA = U1::
IPv6
Hdr
SA = Z::, DA = A::
IPv6 HdrSA = Z::, DA = A::
End.DX End.MAP T.Encaps.Red
UPF1
U1
UPF2
U2
SMF
AMF
N2
N11
N4
Payload
Payload
Payload
Payload
G::1
End.M.GTP6.D in Uplink
IPv6 Hdr SA = A::, DA = Z::
Payload
IPv6 Hdr SA = G1::, DA = X:A::1
UDP -
GTP
SA = A::, DA = Z::
Payload
TEID: 1234
IPv6 Hdr
• Without modifying the N2 interface we are steering the UE
packets to an SRGW along the designated algorithm path.
IPv6 Hdr SA = X::, DA = S1::
SR Hdr (U2::, C1::) SL=2
Payload
IPv6 Hdr SA = A::, DA = Z::
IPv6 Hdr SA = X::, DA = C1::
SR Hdr (U2::, C1::) SL=1
Payload
IPv6 Hdr SA = A::, DA = Z::
IPv6 Hdr SA = X::, DA = U2::
Payload
IPv6 Hdr SA = A::, DA = Z:: Payload
IPv6 Hdr SA = A::, DA = Z::
• SRGW advertise SID in LOC(64b of X ) + Algorithm(8b of A and B) format :
• X:A::/72 -> Low latency
• X:B::/72 -> High bandwidth
• SRGW does End.M.GTP6.D function for X:A:: and X:B::.
• X:A::1 is a type of End.M.GTP6.D SID that pops the GTP header without lookup
and pushes an outer header with SID list
• X:A:1 could be a flex-alg SID (end-to-end network slicing) for other SRv6 nodes.
• X:A::1 can be shared across UEs
SMF
InternetSR GW
X
UPF
U2
AMF
N2
N9 N6
N4
N11
Old: IPv6 addr “X::1” + TEID (1234)
New: IPv6 SID “X:A::1” + TEID (1234)
X:A:1 is BSID at X
TEID (1234) could be dummy
TE
C1
NFV
S1 N9N9
gNB
A
G1
UE
N3
End.M.GTP.6.D End.DT6End.* End.*
End.*: Appropriate SRv6 End function type for the purposes.
End.M.GTP6.E in Downlink
SMF
SR GW
X
AMF
IPv6 Hdr SA = Z::, DA = A::
Payload
IPv6 Hdr SA = X::, DA = G1::
UDP -
GTP
SA = Z::, DA = A::
Payload
TEID: 3456
IPv6 Hdr
• SRGW does End.M.GTP6.E function.
• X::2 is an SRv6 End.M.GTP6.E SID.
• Removes SRH, adds UDP and GTP with TEID received in SID ARGs
• IPv6 DA is the last segment of the SRH
• Scales (no state per UE in SR gateway)
• gNB could configure an IPv6 addresses per network slice.
• G1::1 -> Low latency
• G1::2 -> High bandwidth
IPv6 Hdr SA= U2::, DA= X::2:3456
SR Hdr ( G1::, X::2:3456, S1::) SL=1
IPv6 Hdr SA = Z::, DA = A::
Payload
IPv6 Hdr SA = Z::, DA = A::
Payload
• UPF U2 (anchor point) maintains state of A:
• FIB lookup: A/128 is matched to <C1::, S1::, X::2:3456, G1::>
• SRGW SID X:: need be pre-configured, or through N4 or other means.
N2
N4
N11
UPF
U2N9 N6N9N9
IPv6 Hdr SA= U2::, DA= S1
SR Hdr ( G1::, X::2:3456, S1::) SL=2
IPv6 Hdr SA = Z::, DA = A::
Payload
IPv6 Hdr SA= U2::, DA= C1
SR Hdr ( G1::, X::2:3456, S1::) SL=3
IPv6 Hdr SA = Z::, DA = A::
Payload
Remote Endpoint ==
G1:: + TEID (3456)
G1:: is a gNB IPv6 addr
TE
C1
NFV
S1
Internet
gNB
A
G1
UE
N3
End.M.GTP.6.E T.Encaps.RedEnd.*End.*
End.*: Appropriate SRv6 End function type for the purposes.
End.M.GTP4.E in Downlink
SMF
SR GW
X
AMF
N2
N11
UPF
U2N9 N6
N4
N9N9
IPv6 Hdr SA = Z::, DA = A::
Payload
IPv4 Hdr SA = SRGW, DA = G1
UDP -
GTP
SA = Z::, DA = A::
Payload
TEID: 3456
IPv6 Hdr
IPv6 Hdr
SA= U2::,
DA= X::G1:SRGW:3456
SR Hdr (X::G1:SRGW:3456, S1::)SL=0
IPv6 Hdr SA = Z::, DA = A::
IPv6 Hdr SA = Z::, DA = A::
Payload
IPv6 Hdr SA= U2::, DA= S1
SR Hdr (X::G1:SRGW:3456, S1::) SL=1
IPv6 Hdr SA = Z::, DA = A::
Payload
IPv6 Hdr SA= U2::, DA= C1
SR Hdr (X::G1:SRGW:3456, S1::) SL=2
IPv6 Hdr SA = Z::, DA = A::
Payload
• X::G1:SRGW:3456is an SRv6 End.M.GTP4.E function
• Removes SRH, adds IPv4/UDP and GTP
• IPv4 SA, DA and GTP TEID are part of the SID’s arguments
• Scales (no state per UE in SR gateway)
Payload
IPv4 addr of gNB + TEID (3456)
TE
C1
NFV
S1
Internet
gNB
A
G1
UE
N3
End.M.GTP.4.E T.Encaps.RedEnd.* End.*
End.*: Appropriate SRv6 End function type for the purposes.
SMF
SR GW
X
AMF
N2
N11
T.M.Tmap in Uplink
UPF
U2N9 N6
N4
N9N9
IPv6 Hdr SA = A::, DA = Z::
Payload
IPv4 Hdr SA = G1, DA = SRGW
UDP -
GTP
SA = A::, DA = Z::
Payload
TEID: 1234
IPv6 Hdr
IPv6 Hdr SA = X::, DA = S1::
SR Hdr (U2::, C1::) SL=2
Payload
IPv6 Hdr SA = A::, DA = Z::
IPv6 Hdr SA = X::, DA = C1::
SR Hdr (U2::, C1::) SL=1
Payload
IPv6 Hdr SA = A::, DA = Z::
IPv6 Hdr SA = X::, DA = U2::
Payload
IPv6 Hdr SA = A::, DA = Z:: Payload
IPv6 Hdr SA = A::, DA = Z::
• SRGW does T.M.Tmap function.
• SRGW is a UPF Uplink Classifier. Coexist with current UPFs.
• Steers traffic into SR policy.
IPv4 addr of SRGW + TEID (1234)
TE
C1
NFV
S1
Internet
gNB
A
G1
UE
N3
T.M.Tmap End.DTEnd.* End.*
End.*: Appropriate SRv6 End function type for the purposes.
SRv6 Mobile User Plane in IETF104 Hackathon
Feedback from Hackathon
• Two target functions has been implemented for VPP and P4 Switch.
• New mapping rule of GTP-U<->SRv6 has been studied
• It is possible to support both ‘Args.Mob.Session’ and ‘Drop-in’ scenario.
• The codes are now open-sourced:
• VPP and P4
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
Hackathon Topology
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
VPP Command Lines for SRv6 Mobile UPlane
Function Command Line
End.M.GTP4.E “sr localsid (del) address <IPv6 address of SRGW>/<mask> behavior end.m.gtp4.e”
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>”
ToDo:
• Contribute stateless GTP-U/SRv6 translation to FD.io
• Need ”T.M.tmap” and “End.M.GTP4.E” refactoring to be integrated into VPP
distribution.
• Support IPv6 over GTP-U case with “T.M.Tmap” and “End.M.GTP4.E”.
• Implement rest of the functions:
• End.M.GTP6.E/D
• End.MAP
• Encode/decode GTP-U Messages to/from SRH
SRv6 Mobile Hackathon team
in IETF104@Prague

More Related Content

What's hot

SRv6 Network Programming: deployment use-cases
SRv6 Network Programming: deployment use-cases SRv6 Network Programming: deployment use-cases
SRv6 Network Programming: deployment use-cases APNIC
 
Introduction to DPDK
Introduction to DPDKIntroduction to DPDK
Introduction to DPDKKernel TLV
 
Ieee nfv-sdn-2020-srv6-tutorial
Ieee nfv-sdn-2020-srv6-tutorialIeee nfv-sdn-2020-srv6-tutorial
Ieee nfv-sdn-2020-srv6-tutorialStefano Salsano
 
Cisco Live! :: Introduction to Segment Routing :: BRKRST-2124 | Las Vegas 2017
Cisco Live! :: Introduction to Segment Routing :: BRKRST-2124  | Las Vegas 2017Cisco Live! :: Introduction to Segment Routing :: BRKRST-2124  | Las Vegas 2017
Cisco Live! :: Introduction to Segment Routing :: BRKRST-2124 | Las Vegas 2017Bruno Teixeira
 
Tutorial: Using GoBGP as an IXP connecting router
Tutorial: Using GoBGP as an IXP connecting routerTutorial: Using GoBGP as an IXP connecting router
Tutorial: Using GoBGP as an IXP connecting routerShu Sugimoto
 
BGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみたBGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみたakira6592
 
Linux Networking Explained
Linux Networking ExplainedLinux Networking Explained
Linux Networking ExplainedThomas Graf
 
LinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking WalkthroughLinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking WalkthroughThomas Graf
 
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...VirtualTech Japan Inc.
 
HPCユーザが知っておきたいTCP/IPの話 ~クラスタ・グリッド環境の落とし穴~
HPCユーザが知っておきたいTCP/IPの話 ~クラスタ・グリッド環境の落とし穴~HPCユーザが知っておきたいTCP/IPの話 ~クラスタ・グリッド環境の落とし穴~
HPCユーザが知っておきたいTCP/IPの話 ~クラスタ・グリッド環境の落とし穴~Ryousei Takano
 
Segment Routing Lab
Segment Routing Lab Segment Routing Lab
Segment Routing Lab Cisco Canada
 
"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越Kentaro Ebisawa
 
SIP and DNS - federation, failover, load balancing and more
SIP and DNS - federation, failover, load balancing and moreSIP and DNS - federation, failover, load balancing and more
SIP and DNS - federation, failover, load balancing and moreOlle E Johansson
 
DPDK in Containers Hands-on Lab
DPDK in Containers Hands-on LabDPDK in Containers Hands-on Lab
DPDK in Containers Hands-on LabMichelle Holley
 
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)Thomas Graf
 
Implementing IPv6 Segment Routing in the Linux kernel
Implementing IPv6 Segment Routing in the Linux kernelImplementing IPv6 Segment Routing in the Linux kernel
Implementing IPv6 Segment Routing in the Linux kernelOlivier Bonaventure
 
Cfgmgmtcamp 2023 — eBPF Superpowers
Cfgmgmtcamp 2023 — eBPF SuperpowersCfgmgmtcamp 2023 — eBPF Superpowers
Cfgmgmtcamp 2023 — eBPF SuperpowersRaphaël PINSON
 
Poll mode driver integration into dpdk
Poll mode driver integration into dpdkPoll mode driver integration into dpdk
Poll mode driver integration into dpdkVipin Varghese
 

What's hot (20)

SRv6 Network Programming: deployment use-cases
SRv6 Network Programming: deployment use-cases SRv6 Network Programming: deployment use-cases
SRv6 Network Programming: deployment use-cases
 
Introduction to DPDK
Introduction to DPDKIntroduction to DPDK
Introduction to DPDK
 
Ieee nfv-sdn-2020-srv6-tutorial
Ieee nfv-sdn-2020-srv6-tutorialIeee nfv-sdn-2020-srv6-tutorial
Ieee nfv-sdn-2020-srv6-tutorial
 
Cisco Live! :: Introduction to Segment Routing :: BRKRST-2124 | Las Vegas 2017
Cisco Live! :: Introduction to Segment Routing :: BRKRST-2124  | Las Vegas 2017Cisco Live! :: Introduction to Segment Routing :: BRKRST-2124  | Las Vegas 2017
Cisco Live! :: Introduction to Segment Routing :: BRKRST-2124 | Las Vegas 2017
 
Tutorial: Using GoBGP as an IXP connecting router
Tutorial: Using GoBGP as an IXP connecting routerTutorial: Using GoBGP as an IXP connecting router
Tutorial: Using GoBGP as an IXP connecting router
 
BGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみたBGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみた
 
Linux Networking Explained
Linux Networking ExplainedLinux Networking Explained
Linux Networking Explained
 
LinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking WalkthroughLinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking Walkthrough
 
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
 
HPCユーザが知っておきたいTCP/IPの話 ~クラスタ・グリッド環境の落とし穴~
HPCユーザが知っておきたいTCP/IPの話 ~クラスタ・グリッド環境の落とし穴~HPCユーザが知っておきたいTCP/IPの話 ~クラスタ・グリッド環境の落とし穴~
HPCユーザが知っておきたいTCP/IPの話 ~クラスタ・グリッド環境の落とし穴~
 
Segment Routing Lab
Segment Routing Lab Segment Routing Lab
Segment Routing Lab
 
"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越
 
SIP and DNS - federation, failover, load balancing and more
SIP and DNS - federation, failover, load balancing and moreSIP and DNS - federation, failover, load balancing and more
SIP and DNS - federation, failover, load balancing and more
 
DPDK in Containers Hands-on Lab
DPDK in Containers Hands-on LabDPDK in Containers Hands-on Lab
DPDK in Containers Hands-on Lab
 
Sipwise rtpengine
Sipwise rtpengineSipwise rtpengine
Sipwise rtpengine
 
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
 
DPDK In Depth
DPDK In DepthDPDK In Depth
DPDK In Depth
 
Implementing IPv6 Segment Routing in the Linux kernel
Implementing IPv6 Segment Routing in the Linux kernelImplementing IPv6 Segment Routing in the Linux kernel
Implementing IPv6 Segment Routing in the Linux kernel
 
Cfgmgmtcamp 2023 — eBPF Superpowers
Cfgmgmtcamp 2023 — eBPF SuperpowersCfgmgmtcamp 2023 — eBPF Superpowers
Cfgmgmtcamp 2023 — eBPF Superpowers
 
Poll mode driver integration into dpdk
Poll mode driver integration into dpdkPoll mode driver integration into dpdk
Poll mode driver integration into dpdk
 

Similar to VPP for Stateless SRv6/GTP-U Translation

18-20180514_SRv6_RIPE.pdf
18-20180514_SRv6_RIPE.pdf18-20180514_SRv6_RIPE.pdf
18-20180514_SRv6_RIPE.pdfYunLiu75
 
Leveraging IPv6 extension header for traffic engineering, by Eric Vyncke [APN...
Leveraging IPv6 extension header for traffic engineering, by Eric Vyncke [APN...Leveraging IPv6 extension header for traffic engineering, by Eric Vyncke [APN...
Leveraging IPv6 extension header for traffic engineering, by Eric Vyncke [APN...APNIC
 
WAN SDN meet Segment Routing
WAN SDN meet Segment RoutingWAN SDN meet Segment Routing
WAN SDN meet Segment RoutingAPNIC
 
Traffic Engineering Using Segment Routing
Traffic Engineering Using Segment Routing Traffic Engineering Using Segment Routing
Traffic Engineering Using Segment Routing Cisco Canada
 
Brkrst 3123 previdi-final
Brkrst 3123 previdi-finalBrkrst 3123 previdi-final
Brkrst 3123 previdi-finalStefano Previdi
 
JCSA2013 04 Laurent Toutain - La frange polymorphe de l'Internet
JCSA2013 04 Laurent Toutain - La frange polymorphe de l'InternetJCSA2013 04 Laurent Toutain - La frange polymorphe de l'Internet
JCSA2013 04 Laurent Toutain - La frange polymorphe de l'InternetAfnic
 
redGuardian DP100 large scale DDoS mitigation solution
redGuardian DP100 large scale DDoS mitigation solutionredGuardian DP100 large scale DDoS mitigation solution
redGuardian DP100 large scale DDoS mitigation solutionRedge Technologies
 
Performance Evaluation of GTP-U and SRv6 Stateless Translation
Performance Evaluation of GTP-U and SRv6 Stateless TranslationPerformance Evaluation of GTP-U and SRv6 Stateless Translation
Performance Evaluation of GTP-U and SRv6 Stateless TranslationChunghan Lee
 
PGW GGSN Optional Services Configuration
PGW GGSN Optional Services ConfigurationPGW GGSN Optional Services Configuration
PGW GGSN Optional Services ConfigurationMustafa Golam
 
Hardware Accelerated Software Defined Radio
Hardware Accelerated Software Defined Radio Hardware Accelerated Software Defined Radio
Hardware Accelerated Software Defined Radio Tarik Kazaz
 
1 bonica tutorial_segment_routing
1 bonica tutorial_segment_routing1 bonica tutorial_segment_routing
1 bonica tutorial_segment_routinghptoga
 
Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...
Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...
Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...Nelson Calero
 
p4srv6 (P4-16) design document rev1.0
p4srv6 (P4-16) design document rev1.0p4srv6 (P4-16) design document rev1.0
p4srv6 (P4-16) design document rev1.0Kentaro Ebisawa
 
SRv6 Mobile User Plane : Initial POC and Implementation
SRv6 Mobile User Plane : Initial POC and ImplementationSRv6 Mobile User Plane : Initial POC and Implementation
SRv6 Mobile User Plane : Initial POC and ImplementationKentaro Ebisawa
 
EIGRP (Enhanced Interior Gateway Routing Protocol)
EIGRP (Enhanced Interior Gateway Routing Protocol)EIGRP (Enhanced Interior Gateway Routing Protocol)
EIGRP (Enhanced Interior Gateway Routing Protocol)NetProtocol Xpert
 
Bruno Decraene - Improving network availability through the graceful shutdown...
Bruno Decraene - Improving network availability through the graceful shutdown...Bruno Decraene - Improving network availability through the graceful shutdown...
Bruno Decraene - Improving network availability through the graceful shutdown...PROIDEA
 
NetFlow Data processing using Hadoop and Vertica
NetFlow Data processing using Hadoop and VerticaNetFlow Data processing using Hadoop and Vertica
NetFlow Data processing using Hadoop and VerticaJosef Niedermeier
 
7nm "Navi" GPU - A GPU Built For Performance
7nm "Navi" GPU - A GPU Built For Performance 7nm "Navi" GPU - A GPU Built For Performance
7nm "Navi" GPU - A GPU Built For Performance AMD
 

Similar to VPP for Stateless SRv6/GTP-U Translation (20)

18-20180514_SRv6_RIPE.pdf
18-20180514_SRv6_RIPE.pdf18-20180514_SRv6_RIPE.pdf
18-20180514_SRv6_RIPE.pdf
 
Leveraging IPv6 extension header for traffic engineering, by Eric Vyncke [APN...
Leveraging IPv6 extension header for traffic engineering, by Eric Vyncke [APN...Leveraging IPv6 extension header for traffic engineering, by Eric Vyncke [APN...
Leveraging IPv6 extension header for traffic engineering, by Eric Vyncke [APN...
 
WAN SDN meet Segment Routing
WAN SDN meet Segment RoutingWAN SDN meet Segment Routing
WAN SDN meet Segment Routing
 
Design Of 10 gbps
Design Of 10 gbpsDesign Of 10 gbps
Design Of 10 gbps
 
Traffic Engineering Using Segment Routing
Traffic Engineering Using Segment Routing Traffic Engineering Using Segment Routing
Traffic Engineering Using Segment Routing
 
Brkrst 3123 previdi-final
Brkrst 3123 previdi-finalBrkrst 3123 previdi-final
Brkrst 3123 previdi-final
 
JCSA2013 04 Laurent Toutain - La frange polymorphe de l'Internet
JCSA2013 04 Laurent Toutain - La frange polymorphe de l'InternetJCSA2013 04 Laurent Toutain - La frange polymorphe de l'Internet
JCSA2013 04 Laurent Toutain - La frange polymorphe de l'Internet
 
redGuardian DP100 large scale DDoS mitigation solution
redGuardian DP100 large scale DDoS mitigation solutionredGuardian DP100 large scale DDoS mitigation solution
redGuardian DP100 large scale DDoS mitigation solution
 
Performance Evaluation of GTP-U and SRv6 Stateless Translation
Performance Evaluation of GTP-U and SRv6 Stateless TranslationPerformance Evaluation of GTP-U and SRv6 Stateless Translation
Performance Evaluation of GTP-U and SRv6 Stateless Translation
 
PGW GGSN Optional Services Configuration
PGW GGSN Optional Services ConfigurationPGW GGSN Optional Services Configuration
PGW GGSN Optional Services Configuration
 
Hardware Accelerated Software Defined Radio
Hardware Accelerated Software Defined Radio Hardware Accelerated Software Defined Radio
Hardware Accelerated Software Defined Radio
 
1 bonica tutorial_segment_routing
1 bonica tutorial_segment_routing1 bonica tutorial_segment_routing
1 bonica tutorial_segment_routing
 
Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...
Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...
Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...
 
p4srv6 (P4-16) design document rev1.0
p4srv6 (P4-16) design document rev1.0p4srv6 (P4-16) design document rev1.0
p4srv6 (P4-16) design document rev1.0
 
SRv6 Mobile User Plane : Initial POC and Implementation
SRv6 Mobile User Plane : Initial POC and ImplementationSRv6 Mobile User Plane : Initial POC and Implementation
SRv6 Mobile User Plane : Initial POC and Implementation
 
EIGRP (Enhanced Interior Gateway Routing Protocol)
EIGRP (Enhanced Interior Gateway Routing Protocol)EIGRP (Enhanced Interior Gateway Routing Protocol)
EIGRP (Enhanced Interior Gateway Routing Protocol)
 
Deploying IPv6 on OpenStack
Deploying IPv6 on OpenStackDeploying IPv6 on OpenStack
Deploying IPv6 on OpenStack
 
Bruno Decraene - Improving network availability through the graceful shutdown...
Bruno Decraene - Improving network availability through the graceful shutdown...Bruno Decraene - Improving network availability through the graceful shutdown...
Bruno Decraene - Improving network availability through the graceful shutdown...
 
NetFlow Data processing using Hadoop and Vertica
NetFlow Data processing using Hadoop and VerticaNetFlow Data processing using Hadoop and Vertica
NetFlow Data processing using Hadoop and Vertica
 
7nm "Navi" GPU - A GPU Built For Performance
7nm "Navi" GPU - A GPU Built For Performance 7nm "Navi" GPU - A GPU Built For Performance
7nm "Navi" GPU - A GPU Built For Performance
 

Recently uploaded

SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENTSIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENTxtailishbaloch
 
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptxEmil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptxNeo4j
 
Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.IPLOOK Networks
 
UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3DianaGray10
 
Planetek Italia Srl - Corporate Profile Brochure
Planetek Italia Srl - Corporate Profile BrochurePlanetek Italia Srl - Corporate Profile Brochure
Planetek Italia Srl - Corporate Profile BrochurePlanetek Italia Srl
 
.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptx.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptxHansamali Gamage
 
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdfQ4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdfTejal81
 
Oracle Database 23c Security New Features.pptx
Oracle Database 23c Security New Features.pptxOracle Database 23c Security New Features.pptx
Oracle Database 23c Security New Features.pptxSatishbabu Gunukula
 
UiPath Studio Web workshop series - Day 1
UiPath Studio Web workshop series  - Day 1UiPath Studio Web workshop series  - Day 1
UiPath Studio Web workshop series - Day 1DianaGray10
 
Top 10 Squarespace Development Companies
Top 10 Squarespace Development CompaniesTop 10 Squarespace Development Companies
Top 10 Squarespace Development CompaniesTopCSSGallery
 
LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0DanBrown980551
 
Extra-120324-Visite-Entreprise-icare.pdf
Extra-120324-Visite-Entreprise-icare.pdfExtra-120324-Visite-Entreprise-icare.pdf
Extra-120324-Visite-Entreprise-icare.pdfInfopole1
 
CyberSecurity - Computers In Libraries 2024
CyberSecurity - Computers In Libraries 2024CyberSecurity - Computers In Libraries 2024
CyberSecurity - Computers In Libraries 2024Brian Pichman
 
The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)codyslingerland1
 
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxGraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxNeo4j
 
How to become a GDSC Lead GDSC MI AOE.pptx
How to become a GDSC Lead GDSC MI AOE.pptxHow to become a GDSC Lead GDSC MI AOE.pptx
How to become a GDSC Lead GDSC MI AOE.pptxKaustubhBhavsar6
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
 
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024Alkin Tezuysal
 
Introduction to RAG (Retrieval Augmented Generation) and its application
Introduction to RAG (Retrieval Augmented Generation) and its applicationIntroduction to RAG (Retrieval Augmented Generation) and its application
Introduction to RAG (Retrieval Augmented Generation) and its applicationKnoldus Inc.
 
UiPath Studio Web workshop series - Day 4
UiPath Studio Web workshop series - Day 4UiPath Studio Web workshop series - Day 4
UiPath Studio Web workshop series - Day 4DianaGray10
 

Recently uploaded (20)

SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENTSIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
 
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptxEmil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
 
Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.
 
UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3
 
Planetek Italia Srl - Corporate Profile Brochure
Planetek Italia Srl - Corporate Profile BrochurePlanetek Italia Srl - Corporate Profile Brochure
Planetek Italia Srl - Corporate Profile Brochure
 
.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptx.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptx
 
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdfQ4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
 
Oracle Database 23c Security New Features.pptx
Oracle Database 23c Security New Features.pptxOracle Database 23c Security New Features.pptx
Oracle Database 23c Security New Features.pptx
 
UiPath Studio Web workshop series - Day 1
UiPath Studio Web workshop series  - Day 1UiPath Studio Web workshop series  - Day 1
UiPath Studio Web workshop series - Day 1
 
Top 10 Squarespace Development Companies
Top 10 Squarespace Development CompaniesTop 10 Squarespace Development Companies
Top 10 Squarespace Development Companies
 
LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0
 
Extra-120324-Visite-Entreprise-icare.pdf
Extra-120324-Visite-Entreprise-icare.pdfExtra-120324-Visite-Entreprise-icare.pdf
Extra-120324-Visite-Entreprise-icare.pdf
 
CyberSecurity - Computers In Libraries 2024
CyberSecurity - Computers In Libraries 2024CyberSecurity - Computers In Libraries 2024
CyberSecurity - Computers In Libraries 2024
 
The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)
 
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxGraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
 
How to become a GDSC Lead GDSC MI AOE.pptx
How to become a GDSC Lead GDSC MI AOE.pptxHow to become a GDSC Lead GDSC MI AOE.pptx
How to become a GDSC Lead GDSC MI AOE.pptx
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
 
Introduction to RAG (Retrieval Augmented Generation) and its application
Introduction to RAG (Retrieval Augmented Generation) and its applicationIntroduction to RAG (Retrieval Augmented Generation) and its application
Introduction to RAG (Retrieval Augmented Generation) and its application
 
UiPath Studio Web workshop series - Day 4
UiPath Studio Web workshop series - Day 4UiPath Studio Web workshop series - Day 4
UiPath Studio Web workshop series - Day 4
 

VPP for Stateless SRv6/GTP-U Translation

  • 1. VPP Prototyping for Stateless SRv6/GTP-U Translation 2019.05.28 S.Matsushima, K.Ebisawa
  • 2. Objectives • Implements the key SRv6 functions defined by “I-D.ietf-dmm-srv6- mobile-uplane*” • Needs a flexible platform to impalement all possible functions • Try to hack the missing features already known. • Disclose the implementation codes as open source • Provides feedbacks to the I-D through the hack • To Improve the specs. • Identify the hidden missing parts of the spec. *: https://datatracker.ietf.org/doc/draft-ietf-dmm-srv6-mobile-uplane/
  • 3. SRv6 Mobile Upane Functions 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 Decap the receiving IPv6+SRH packet and encap with IPv4/UDP/GTP-U header base on the address/ID mapping rule. T.M.Tmap 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** Encoding GTP-U Messages into SRH. **NEW** Decoding GTP-U Messages from SRH.
  • 4. End.MAP in Downlink Internet gNBUE N3 N9 N6 IPv6 Hdr SA = U2::, DA = G::1 IPv6 Hdr SA = Z::, DA = A:: IPv6 Hdr SA = Z::, DA = A:: IPv6 HdrSA = U2::, DA = U1:: IPv6 Hdr SA = Z::, DA = A:: IPv6 HdrSA = Z::, DA = A:: End.DX End.MAP T.Encaps.Red UPF1 U1 UPF2 U2 SMF AMF N2 N11 N4 Payload Payload Payload Payload G::1
  • 5. End.M.GTP6.D in Uplink IPv6 Hdr SA = A::, DA = Z:: Payload IPv6 Hdr SA = G1::, DA = X:A::1 UDP - GTP SA = A::, DA = Z:: Payload TEID: 1234 IPv6 Hdr • Without modifying the N2 interface we are steering the UE packets to an SRGW along the designated algorithm path. IPv6 Hdr SA = X::, DA = S1:: SR Hdr (U2::, C1::) SL=2 Payload IPv6 Hdr SA = A::, DA = Z:: IPv6 Hdr SA = X::, DA = C1:: SR Hdr (U2::, C1::) SL=1 Payload IPv6 Hdr SA = A::, DA = Z:: IPv6 Hdr SA = X::, DA = U2:: Payload IPv6 Hdr SA = A::, DA = Z:: Payload IPv6 Hdr SA = A::, DA = Z:: • SRGW advertise SID in LOC(64b of X ) + Algorithm(8b of A and B) format : • X:A::/72 -> Low latency • X:B::/72 -> High bandwidth • SRGW does End.M.GTP6.D function for X:A:: and X:B::. • X:A::1 is a type of End.M.GTP6.D SID that pops the GTP header without lookup and pushes an outer header with SID list • X:A:1 could be a flex-alg SID (end-to-end network slicing) for other SRv6 nodes. • X:A::1 can be shared across UEs SMF InternetSR GW X UPF U2 AMF N2 N9 N6 N4 N11 Old: IPv6 addr “X::1” + TEID (1234) New: IPv6 SID “X:A::1” + TEID (1234) X:A:1 is BSID at X TEID (1234) could be dummy TE C1 NFV S1 N9N9 gNB A G1 UE N3 End.M.GTP.6.D End.DT6End.* End.* End.*: Appropriate SRv6 End function type for the purposes.
  • 6. End.M.GTP6.E in Downlink SMF SR GW X AMF IPv6 Hdr SA = Z::, DA = A:: Payload IPv6 Hdr SA = X::, DA = G1:: UDP - GTP SA = Z::, DA = A:: Payload TEID: 3456 IPv6 Hdr • SRGW does End.M.GTP6.E function. • X::2 is an SRv6 End.M.GTP6.E SID. • Removes SRH, adds UDP and GTP with TEID received in SID ARGs • IPv6 DA is the last segment of the SRH • Scales (no state per UE in SR gateway) • gNB could configure an IPv6 addresses per network slice. • G1::1 -> Low latency • G1::2 -> High bandwidth IPv6 Hdr SA= U2::, DA= X::2:3456 SR Hdr ( G1::, X::2:3456, S1::) SL=1 IPv6 Hdr SA = Z::, DA = A:: Payload IPv6 Hdr SA = Z::, DA = A:: Payload • UPF U2 (anchor point) maintains state of A: • FIB lookup: A/128 is matched to <C1::, S1::, X::2:3456, G1::> • SRGW SID X:: need be pre-configured, or through N4 or other means. N2 N4 N11 UPF U2N9 N6N9N9 IPv6 Hdr SA= U2::, DA= S1 SR Hdr ( G1::, X::2:3456, S1::) SL=2 IPv6 Hdr SA = Z::, DA = A:: Payload IPv6 Hdr SA= U2::, DA= C1 SR Hdr ( G1::, X::2:3456, S1::) SL=3 IPv6 Hdr SA = Z::, DA = A:: Payload Remote Endpoint == G1:: + TEID (3456) G1:: is a gNB IPv6 addr TE C1 NFV S1 Internet gNB A G1 UE N3 End.M.GTP.6.E T.Encaps.RedEnd.*End.* End.*: Appropriate SRv6 End function type for the purposes.
  • 7. End.M.GTP4.E in Downlink SMF SR GW X AMF N2 N11 UPF U2N9 N6 N4 N9N9 IPv6 Hdr SA = Z::, DA = A:: Payload IPv4 Hdr SA = SRGW, DA = G1 UDP - GTP SA = Z::, DA = A:: Payload TEID: 3456 IPv6 Hdr IPv6 Hdr SA= U2::, DA= X::G1:SRGW:3456 SR Hdr (X::G1:SRGW:3456, S1::)SL=0 IPv6 Hdr SA = Z::, DA = A:: IPv6 Hdr SA = Z::, DA = A:: Payload IPv6 Hdr SA= U2::, DA= S1 SR Hdr (X::G1:SRGW:3456, S1::) SL=1 IPv6 Hdr SA = Z::, DA = A:: Payload IPv6 Hdr SA= U2::, DA= C1 SR Hdr (X::G1:SRGW:3456, S1::) SL=2 IPv6 Hdr SA = Z::, DA = A:: Payload • X::G1:SRGW:3456is an SRv6 End.M.GTP4.E function • Removes SRH, adds IPv4/UDP and GTP • IPv4 SA, DA and GTP TEID are part of the SID’s arguments • Scales (no state per UE in SR gateway) Payload IPv4 addr of gNB + TEID (3456) TE C1 NFV S1 Internet gNB A G1 UE N3 End.M.GTP.4.E T.Encaps.RedEnd.* End.* End.*: Appropriate SRv6 End function type for the purposes.
  • 8. SMF SR GW X AMF N2 N11 T.M.Tmap in Uplink UPF U2N9 N6 N4 N9N9 IPv6 Hdr SA = A::, DA = Z:: Payload IPv4 Hdr SA = G1, DA = SRGW UDP - GTP SA = A::, DA = Z:: Payload TEID: 1234 IPv6 Hdr IPv6 Hdr SA = X::, DA = S1:: SR Hdr (U2::, C1::) SL=2 Payload IPv6 Hdr SA = A::, DA = Z:: IPv6 Hdr SA = X::, DA = C1:: SR Hdr (U2::, C1::) SL=1 Payload IPv6 Hdr SA = A::, DA = Z:: IPv6 Hdr SA = X::, DA = U2:: Payload IPv6 Hdr SA = A::, DA = Z:: Payload IPv6 Hdr SA = A::, DA = Z:: • SRGW does T.M.Tmap function. • SRGW is a UPF Uplink Classifier. Coexist with current UPFs. • Steers traffic into SR policy. IPv4 addr of SRGW + TEID (1234) TE C1 NFV S1 Internet gNB A G1 UE N3 T.M.Tmap End.DTEnd.* End.* End.*: Appropriate SRv6 End function type for the purposes.
  • 9. SRv6 Mobile User Plane in IETF104 Hackathon
  • 10. Feedback from Hackathon • Two target functions has been implemented for VPP and P4 Switch. • New mapping rule of GTP-U<->SRv6 has been studied • It is possible to support both ‘Args.Mob.Session’ and ‘Drop-in’ scenario. • The codes are now open-sourced: • VPP and P4 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
  • 11. Hackathon Topology 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
  • 12. VPP Command Lines for SRv6 Mobile UPlane Function Command Line End.M.GTP4.E “sr localsid (del) address <IPv6 address of SRGW>/<mask> behavior end.m.gtp4.e” 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>”
  • 13. ToDo: • Contribute stateless GTP-U/SRv6 translation to FD.io • Need ”T.M.tmap” and “End.M.GTP4.E” refactoring to be integrated into VPP distribution. • Support IPv6 over GTP-U case with “T.M.Tmap” and “End.M.GTP4.E”. • Implement rest of the functions: • End.M.GTP6.E/D • End.MAP • Encode/decode GTP-U Messages to/from SRH
  • 14. SRv6 Mobile Hackathon team in IETF104@Prague