标签为 ‘srv6’的文章

SRv6 Fabric by Sonic Switch

最近看到老东家发布了一篇很有意思的文章:Building an SRv6 uSID Data Center Fabric with SONiC,使用Sonic 构建基于SRv6 Fabric的DC架构。SRv6一般常用于骨干网和DCI,并且需要依托于BGP -> IGP迭代。其实之前在考虑城域网架构时,就思考过是否可以利用SRv6的高级特性,根据业务需求分割两个平面进行独立承载,但设备厂商提供的解决方案都是依托于IGP,而非Only BGP环境。最近阿里云在一些场合发布他们新的Peering架构ePF时提到过SRv6 only BGP,再结合这篇文章,没想到提前在Sonic Switch上先实现了,真的让人惊讶与开源社区的迭代速度。

这篇文章主要尝试下Sonic Switch,记录遇到的问题及解决方法。并测试SRv6实现到了什么程度,是否可以直接替代现有BGP Only的DC架构。PS:全部实验均是通过PNET搭建并验证,Sonic版本是从上面 那篇文章中下载的,基于202305版本,相关配置命令可以看那篇文章提到的github,以及FRR和Sonic的官方文档,为了方便,我列到了下面:


     ┌─────────┤   L2    ├──────────┐
     │         └─────────┘          │
     │Ethernet2                     │Ethernet2
┌────┴────┐                    ┌────┴────┐
│ POD1-L1 │                    │ POD2-L1 │
└────┬────┘                    └────┬────┘
     │Ethernet1                     │Ethernet1
     │                              │
     │Ethernet1                     │Ethernet1
┌────┴────┐                    ┌────┴────┐
│ POD1-L0 │                    │ POD2-L0 │
└────┬────┘                    └────┬────┘
     │Ethernet2                     │Ethernet2
     │                              │
     │eth2                          │eth0
 ┌───┴───┐                       ┌──┴────┐
 │  S1   │                       │  S2   │
 │ Server│                       │ Server│
 └───────┘                       └───────┘



Segment Routing Hands-on

I summaried the hands-on at 2019.7, public on my blog now. So you will find the version is old (652/661), new version(721/731) include more inovation features in SR solution.


I summarized SR/SRTE hands-on-deck that includes our highlight features and show information in the same topology, content includes the following topic, now revised version is v3:

  • Hands-on Brief
  • Segment Routing Basic
  • L3VPN in Segment Routing
  • Interworking between LDP and SR
  • TI-LFA in Segment Routing
  • SRTE Solution in MPLS SR
  • SR IGP Flexible Algorithms
  • Egress Peer Engineering(EPE)
  • SRv6 Solution

DX6 on Linux by uSID

The Linux come from by my compiled kernel that supports uSID, please check my last blog: Compile SRv6 uSID and VPP on ubuntu 20.04

Before doing SRv6 lab, please double confirm enable the function by following cmd:

sysctl -w net.ipv6.conf.all.forwarding=1
sysctl -w net.ipv4.conf.all.forwarding=1
sysctl -w net.ipv6.conf.all.seg6_enabled=1

Check by following cmd:

root@vm1:/home/cisco# sysctl -a |grep net.ipv6.conf.all.forwarding
net.ipv6.conf.all.forwarding = 1

Above cmd will disappear after reboot, you can permanently write to “/etc/sysctl.conf”.

Btw, how to config srv6 and usid, reference follows:

SRv6 uSID Linux Iproute2

SRv6 – Linux Kernel Implementation



Compile SRv6 uSID and VPP on ubuntu 20.04

PS: Compile Server base on “focal-server-cloudimg-amd64.vmdk”, 20200706 update.

General Config on ubuntu

Config port by new “ip” cmd, and DNS

root@server-test:/opt# ip addr add dev ens4
# config addr for one port 
root@server-test:/opt# ip addr del dev ens3
# delet addr for one port
root@server-test:/opt# ip addr
# equal with ifconfig
root@server-test:/opt# ip link set ens4 up
# up one port 
root@server-test:/opt# ip -s link ls ens4
# cool cmd, check RX/TX packets, errors, dropped, overrun, mcast
root@server-test:/opt# ip route add default via 
# config default route
root@server-test:/opt# ip route
# check v4 route table
root@server-test:/opt# ip -6 route
# check v6 route table
root@server-test:/opt# echo 'nameserver' > /etc/resolv.conf


blonde teen swallows videos