Archive

‘Linux’ 分类存档

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

完整阅读

1+

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

完整阅读

0

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 10.75.37.59/24 dev ens4
# config addr for one port 
root@server-test:/opt# ip addr del 172.16.1.163/24 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 10.75.37.1 
# 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 64.104.123.144' > /etc/resolv.conf

完整阅读

1+

Cisco 网络自动化展示

PS:视频在油管上,需要搭梯子……

Summary intros session, and there are two separate demo sessions to deep dive, as follow:

完整阅读

0

Direct boot eXR ISO by iPXE

The article should applies to all eXR platform, include ASR9k, Cisco8000, NCS5500, NCS6k. The output information maybe different by diff platform, but the iPXE method should same. Btw in eXR, if you want to recovery password, will require iPXE.

Enable HTTP Service at linux

[root@nso exr]# python -m SimpleHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...

完整阅读

1+
blonde teen swallows load.xxx videos