25-Feb-2015
SAKURA Internet Research Center.
Senior Researcher / Naoto MATSUMOTO
Basic Ideas
L2TPv3 Tunnel termination over IPv6 network
How does it work?
Up to 9M L2TPv3 tunnels or 16M vSwitches
How to build it (CentOS7)
OSPFv3 & L2TPv3 Configuration
vSwitch(Bridge) Configuration
Check your L2TPv3 tunnel
# tcpdump -i eeaaaaaa1065530
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eeaaaaaa1065530, link-type EN10MB (Ethernet), ...
...178229 ARP, Request who-has 10.255.255.255 (Broadcast) ...
...179250 ARP, Request who-has 10.255.255.255 (Broadcast) ...
...180326 ARP, Request who-has 10.255.255.255 (Broadcast) ...
:
# arping 10.255.255.255 -I eeaaaaaa1065530
:
^C
Fast OSPFv3 Link Update
# vtysh
# configure terminal
# interface eth0
# ipv6 ospf6 hello-interval 1
# ipv6 ospf6 retransmit-interval 2
# ipv6 ospf6 dead-interval 3
# interface eth1
# ipv6 ospf6 hello-interval 1
# ipv6 ospf6 retransmit-interval 2
# ipv6 ospf6 dead-interval 3
:
# end
# write
# quit
# vtysh
# configure terminal
# interface eth0
# ipv6 ospf6 hello-interval 1
# ipv6 ospf6 retransmit-interval 2
# ipv6 ospf6 dead-interval 3
# interface eth1
# ipv6 ospf6 hello-interval 1
# ipv6 ospf6 retransmit-interval 2
# ipv6 ospf6 dead-interval 3
:
# end
# write
# quit
vSwitch High Availability
L2TPv3 Tunnel failover using OSPFv3 LSA update
L2TPv3 Tunnel kickstart script
#!/bin/bash
exec 2> /tmp/eeaaaaaa1065530.log
exec 1>&2
set -x
while true; do
sleep 10
ip l2tp add tunnel 
local fd50:eeaa:aaaa:ffff:eeaa:aaaa:106:5530 
remote fd50:d026:7eee:1001:eeaa:aaaa:106:5530 
tunnel_id 1065530 peer_tunnel_id 1065530 
udp_sport 1701 udp_dport 1701 encap udp
ip l2tp add session name eeaaaaaa1065530 
tunnel_id 1065530 session_id 1065530 
peer_session_id 1065530
nmcli device disconnect eeaaaaaa1065530
if [ $(/usr/sbin/ip link show | grep -o eeaaaaaa1065530 | wc -l ) -ne 0 ]; then
break
fi
done
exit 0
Thanks for your interset.
SAKURA Internet Research Center.

Large Scale L2TPv3 Overlay Networking with OSPFv3(DRAFT)

  • 1.
    25-Feb-2015 SAKURA Internet ResearchCenter. Senior Researcher / Naoto MATSUMOTO
  • 2.
    Basic Ideas L2TPv3 Tunneltermination over IPv6 network
  • 3.
    How does itwork? Up to 9M L2TPv3 tunnels or 16M vSwitches
  • 4.
    How to buildit (CentOS7)
  • 5.
    OSPFv3 & L2TPv3Configuration
  • 6.
  • 7.
    Check your L2TPv3tunnel # tcpdump -i eeaaaaaa1065530 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eeaaaaaa1065530, link-type EN10MB (Ethernet), ... ...178229 ARP, Request who-has 10.255.255.255 (Broadcast) ... ...179250 ARP, Request who-has 10.255.255.255 (Broadcast) ... ...180326 ARP, Request who-has 10.255.255.255 (Broadcast) ... : # arping 10.255.255.255 -I eeaaaaaa1065530 : ^C
  • 8.
    Fast OSPFv3 LinkUpdate # vtysh # configure terminal # interface eth0 # ipv6 ospf6 hello-interval 1 # ipv6 ospf6 retransmit-interval 2 # ipv6 ospf6 dead-interval 3 # interface eth1 # ipv6 ospf6 hello-interval 1 # ipv6 ospf6 retransmit-interval 2 # ipv6 ospf6 dead-interval 3 : # end # write # quit # vtysh # configure terminal # interface eth0 # ipv6 ospf6 hello-interval 1 # ipv6 ospf6 retransmit-interval 2 # ipv6 ospf6 dead-interval 3 # interface eth1 # ipv6 ospf6 hello-interval 1 # ipv6 ospf6 retransmit-interval 2 # ipv6 ospf6 dead-interval 3 : # end # write # quit
  • 9.
    vSwitch High Availability L2TPv3Tunnel failover using OSPFv3 LSA update
  • 10.
    L2TPv3 Tunnel kickstartscript #!/bin/bash exec 2> /tmp/eeaaaaaa1065530.log exec 1>&2 set -x while true; do sleep 10 ip l2tp add tunnel local fd50:eeaa:aaaa:ffff:eeaa:aaaa:106:5530 remote fd50:d026:7eee:1001:eeaa:aaaa:106:5530 tunnel_id 1065530 peer_tunnel_id 1065530 udp_sport 1701 udp_dport 1701 encap udp ip l2tp add session name eeaaaaaa1065530 tunnel_id 1065530 session_id 1065530 peer_session_id 1065530 nmcli device disconnect eeaaaaaa1065530 if [ $(/usr/sbin/ip link show | grep -o eeaaaaaa1065530 | wc -l ) -ne 0 ]; then break fi done exit 0
  • 11.
    Thanks for yourinterset. SAKURA Internet Research Center.