Replaced mLACP and NV Cluster by EVPN + Anycast IRB on NCS5500/Fretta

Introduction

There are two old great features that can achieve Active/Active in multi-chassis:

  • mLACP: ASR9k support, and by ICCP.
  • NV Cluster: only ASR9k support, not need other protocol (e.g ICCP), but not support from 6.x.

So could we have the similar solution on NCS55xx? The answer is “Yes”, we can deploy EVPN + Anycast IRB to achieve the similar function. For this article, no reference to real EVPN environment, only use multi-home A/A EVPN function. And include testing when link failure.

Conclusion

  • If you deploy EVPN + Any IRB, you must to know there are no dynamic IGP protocol between CE/mPE or Host/mPE, only Static or default GW. That due to we couldn’t deploy the same IGP process at two chassis. That should different with NV Cluster. As follow:
  • Due to deploy EVPN that belong to BGP, so we need underlay protocol that can be achieved by LDP or Segment Routing. In this example, will deploy Segment Routing.
  • Traffic(via EVPN) will not forward to the link between two PEs, so no need to deploy inter-link. Except customer has other L3 business in the same PEs.
完整阅读

EVPN Summary

EVPN

L2VPN中,我们常见的是VPLS,EoMPLS,AoTM等,这些技术主要利用伪线技术(Kompella/Martini)构造虚拟专网或专线,并由MPLS承载。虽然已经可以通过BGP自动发现并创建伪线,但基于伪线技术的L2VPN有很多缺陷,所以需要一个技术可以通过BGP来替代原来的伪线技术,因此才有了EVPN,EVPN带来最大的不同就是通过BGP控制平面来进行MAC学习,而不是数据平面。2015年提出的PBB-EVPN也是属于EVPN的一种。

EVPN带着替换伪线技术的使命而来,同之前一样,主要涉及点到点、点到多点,下图包含了我们常见的几种EVPN(我暂时没有把ETREE列出来),此篇文章主要以几类Route Type为例,展开整理EVPN的内容,以备以后复习

完整阅读

Telemetry Receiver by UDP+KV-GPB

In the article, only show as follow (because easy to show how to work):

Protocol: UDP; Port: 5234

Encoding: KV-GPB

For more detailed information, you can reference my colleague’s GitHub, which includes more examples, e.g GRPC.

AlexFengCisco / Telemetry_Receiver

GRPC Update Info:

If use GRPC not TCP/UDP, that will have standard function, you will not need to write “DECODE_FN_MAP…”, function will auto generate, direct to use. Simple list steps:

  1. Get GRPC protobuf (e.g “mdt_grpc_dialout”) from cisco / bigmuddy-network-telemetry-proto
  2. Install/use compile tools, suggest install python virtual env, you can reference 在MacOS中部署Python虚拟开发环境
(telemetry-protocol) [root@telemetry telemetry-protocol]# python -V
Python 3.6.8
(telemetry-protocol) [root@telemetry telemetry-protocol]# easy_install pip
(telemetry-protocol) [root@telemetry telemetry-protocol]# pip install grpcio
(telemetry-protocol) [root@telemetry telemetry-protocol]# pip install protobuf
(telemetry-protocol) [root@telemetry telemetry-protocol]# pip install grpcio_tools
(telemetry-protocol) [root@telemetry telemetry-protocol]# python -m grpc_tools.protoc -I. --python_out=. --grpc_python_out=. cisco_grpc_dialout.proto
(telemetry-protocol) [root@telemetry telemetry-protocol]# ls -l|grep cisco
-rw-r--r--.  1 root    root       2695 Aug 10 16:16 cisco_grpc_dialout_pb2_grpc.py   #generated
-rw-r--r--.  1 root    root       3805 Aug 10 16:16 cisco_grpc_dialout_pb2.py   #generated
-rw-r--r--.  1 root    root        485 Aug 10 16:15 cisco_grpc_dialout.proto   #proto file  
Follow all file if you need grpc protocol:
[root@telemetry grpc-dailout]# ls -l
total 36
-rw-r--r--. 1 root root  2695 Aug 10 16:16 cisco_grpc_dialout_pb2_grpc.py #Contains the server Stub class and the client Stub class, as well as the service RPC interface to be implemented.
-rw-r--r--. 1 root root  3805 Aug 10 16:16 cisco_grpc_dialout_pb2.py #message serialization classes
-rw-r--r--. 1 root root   484 Aug 10 15:36 mdt_grpc_dialout.proto 
-rw-r--r--. 1 root root  3722 Aug 10 16:11 service_grpc_dialout_no_tls.py #service python
-rw-r--r--. 1 root root 19220 Aug 10 15:58 telemetry_pb2.py  #decode gpb-kv messages, generate as below
grpc-dailout.zip

Install Protobuf of python version

完整阅读

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

Topology

完整阅读

How to deploy xrv9k in vCenter if you have only qcow2 image?

At some times, we only have a qcow2 image, but ESXI(vCenter) only supports vmdk, how to do deploy? In the video guide, I will show how to convert img to vmdk from qcow2, then deploy by import exist hardware(vmdk).

Btw, xrv9k supports only 3 virtual interfaces: e1000, virtio, and VMXnet3. Please notices not support e1000e!

完整阅读

blonde teen swallows load.xxx videos