Linux のネットワーク設定情報を取得し、描画するツール "plotnetcfg" のインストール方法や描画サンプル。
"How to" for installing / using "plotnetcfg" which scans networking config of Linux machine and plots a diagram of the configuration hierarchy.
Quick Start Guide using Virtuozzo 7 (β) on AWS EC2
Virtuozzo 7 was open sourced and available on Amazon EC2 since October 2015.
This document aims to give you a quick overview of steps to setup Virtuozzo on Amazon EC2.
Linux のネットワーク設定情報を取得し、描画するツール "plotnetcfg" のインストール方法や描画サンプル。
"How to" for installing / using "plotnetcfg" which scans networking config of Linux machine and plots a diagram of the configuration hierarchy.
Quick Start Guide using Virtuozzo 7 (β) on AWS EC2Kentaro Ebisawa
Virtuozzo 7 was open sourced and available on Amazon EC2 since October 2015.
This document aims to give you a quick overview of steps to setup Virtuozzo on Amazon EC2.
OVN (Open Virtual Network) を用いる事により、OVS (Open vSwitch)が動作する複数のサーバー(Hypervisor/Chassis)を横断する仮想ネットワークを構築する事ができます。
本スライドはOVNを用いた論理ネットワークの構成と設定サンプルのメモとなります。
Using OVN, you can build logical network among multiple servers (Hypervisor/Chassis) running OVS (Open vSwitch).
This slide is describes HOW TO example of OVN configuration to create 2 logical switch connecting 4 VMs running on 2 chassis.
In Network Computing Prototype Using P4 at KSC/KREONET 2019Kentaro Ebisawa
Case Study of P4 applying to CAN (Control Area Network) data pre-processing using FPGA + Netcope P4 compiler.
Presented at KSC / KREONET WORKSHOP 2019 | DAY 1 Session 1: SDN/NFV/P4
http://www.ksc2019.re.kr/
Comparison of SRv6 Extensions uSID, SRv6+, C-SRHKentaro Ebisawa
Comparing concept, SID and header format of compressed Segment Routing IPv6 proposals such as uSID, SRv6+, C-SRH. Slide presented at SRv6 Consortium @Tokyo on 23rd Aug 2019.
The document describes the design of p4srv6, a P4 program that implements SRv6 (Segment Routing for IPv6) functions. It discusses p4srv6's pipeline design based on the v1model.p4 architecture and includes details on the parser, ingress control, transit and end tables for SRv6, and handling of variable length SID lists. It also provides examples of configuring p4srv6 for GTP to SRv6 encapsulation and decapsulation.
SRv6 Mobile User Plane : Initial POC and ImplementationKentaro Ebisawa
SRv6 Mobile Uplane POC results and findings talked at ENOG55 @Nigata http://enog.jp/archives/2014
SRv6 functions: T.M.Tmap, End.M.GTP4.E using VPP and P4 on Tofino switch.
JANOG43 Forefront of SRv6, Open Source ImplementationsKentaro Ebisawa
Status of SRv6 Open Source Implementations including where you can find the source code. English slide comes after Japanese.
This is a session from JANOG43 "Forefront of SRv6" program held on 23 Jan 2019 @ Kohu Japan.
https://www.janog.gr.jp/meeting/janog43/program/srv6
* Introduction – Miya Kohno
* SRv6 Update – Clarence Filsfils
* SRv6 Mobile user plane Update – Satoru Matsushima
* SRv6 Open Source Implementation Update – Kentaro Ebisawa
* SRv6 Academy Update – Chunghan Lee
* Vendor Update (Huawei) – Ryuichi Takashima
* Vendor Update (Cisco) – Teppei Kamata
The document discusses configuring GTP tunnels on Linux using the libgtpnl library. Key points:
- Linux kernels since 4.7 include GTP tunnel endpoint functionality in the gtp.c driver
- Libgtpnl provides tools to configure GTP tunnels via netlink without a control plane
- Configuration involves creating veth interfaces, loopbacks, GTP devices, and tunnels between endpoints using TEIDs and IP addresses
How to build and use GTPing to generate GTP traffic for testing without eNB, SPGW etc. This work was done as part of the preparation of SRv6 mobile user plane POC at SRv6 Consortium, Data plane Study Group, which is a group of people interested in SRv6.
Slides from ONOS/CORD meetup in Tokyo 2018. 20th April 2018.
http://www.e-side.co.jp/onoscordmeetup/#P4_2
Future Mobile User Plane is heavily discussed in many SDOs like 3GPP, IETF etc. and still not concreate. P4 lang is usefull to prototype such changing protocol on software switch and on ASIC/NPU.
This slide introudce one candidate for future Mobile User Plane protocol, SRv6 for Mobile User Plane and proto-type implemented in P4-14.
https://datatracker.ietf.org/doc/draft-ietf-dmm-srv6-mobile-uplane/
Moved to https://speakerdeck.com/ebiken/zebra-srv6-cli-on-linux-dataplane-enog-number-49
Introduction to SRv6, Linux SRv6 implementation and how to add SRv6 CLI to Zebra 2.0 Open Source Network Operation Stack.
Presented at ENOG (Echigo NOG) #49.
The document discusses requirements for network nodes in the hybrid cloud era. It notes that network nodes will need to have common interfaces regardless of location, provide a seamless experience for operators via CLI, and reduce learning costs. It then provides details on Zebra 2.0, an open source network operating stack, including its architecture, modules, scalable configuration system, and support for protocols like SRv6. It demos Zebra 2.0's SRv6 CLI functionality on a Linux dataplane.
“p4alu” is a P4 program who would parse UDP packet with payload in "p4alu header format" and apply calculation.
This program is tested using BMv2 simple_switch P4 target.
zebra is an open source implementation as a successor of GNU Zebra and Quagga project. Together with openconfigd, it will work as data plane agnostic Network Operation Stack working with variable protocol / functional modules.
内製化 × グローバル化を通じた 世界水準の IT 組織づくり - ファーストリテイリング・デジタル変革の挑戦
ネットワーク機器のAPIあれこれ入門(NetOpsCoding#2)
1. ネットワーク機器のAPIあれこれ入門
How do you wan to talk with your Network Nodes?
Twitter: @ebiken | ebiken.g@gmail.com
ネットワーク機��のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 1
18. ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 21
REST (like) な API の分類 (概要)
• URI
• リソース
• リソース+操作
• 常に同じ
• エンコード
• JSON
• XML
• セッション
• 有り:URI/BODYにSessionID
• 無し
• オペレーション
• CLIをBodyに入れて送信
• HTTP METHOD + URI
• URIにコマンド入れる
RESTと記載されてても、(基本)RESTfulではない
• JSON-RPC, XML-RPC, WEB API?
19. Brocade vRouter 5600 (Vyatta)
• URI: コマンドを表す(リソースではなく)
• Encoding符号化: JSON
• 参照・設定、共にセッションを持つ
• Config Workflow
• Ops: one-time output
• Ops: continuous output
• GET /rest/op/<cmd>
• Ops with no session ID will return parameter definitions.
• Very different from RESTful concept.
ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 22
Brocade vRouter 5600 (Vyatta)
20. Brocade vRouter 5600 (Vyatta)
ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 23
設定投入&適用 Workflow
1. Begin a configuration session
• Config Session ID named "conf-id" will be
generated.
2. make configuration changes
• PUT /rest/conf/<conf-id>/set/<path>
• PUT /rest/conf/<conf-id>/delete/<path>
3. commit changes
• POST /rest/conf/<conf-id>/commit
4. optional: view config
• GET /rest/conf/<conf-id>/<path>
5. save config
• POST /rest/conf/<conf-id>/save
6. Finish configuration session
• DELETE /rest/conf/<conf-id>
CLIをURLにマップしたイメージ
21. Brocade vRouter 5600 (Vyatta)
ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 24
参照コマンド (One Time)
• Begin a ops session
• POST /rest/op/show/version
• HTTP/1.1 201 Created
• Location: rest/op/137AA3B22A362CA3
• Get output from the command just
sent
• GET /rest/op/137AA3B22A362CA3
• HTTP/1.1 200 OK
• If request 2nd time, it's gone.
• GET /rest/op/137AA3B22A362CA3
• HTTP/1.1 410 Gone
22. Brocade vRouter 5600 (Vyatta)
ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 25
参照コマンド (継続的)
• Begin a ops session (ex: ping)
• POST /rest/op/ping/10.0.0.1
• Get ouput (1st)
• GET /rest/op/02B3479CA1522F2A
• HTTP/1.1 200 OK
• PING 10.3.0.1 (10.3.0.1) 56(84) bytes of
data.
• 64 bytes from 10.3.0.1: icmp_seq=1
ttl=64 time=0.839 ms
• 64 bytes from 10.3.0.1: icmp_seq=2
ttl=64 time=0.846 ms
• ...
• 64 bytes from 10.3.0.1: icmp_seq=18
ttl=64 time=0.821 ms
• Get output (2nd)
• GET /rest/op/02B3479CA1522F2A
• HTTP/1.1 200 OK
• 64 bytes from 10.3.0.1: icmp_seq=19
ttl=64 time=0.799 ms
• 64 bytes from 10.3.0.1: icmp_seq=20
ttl=64 time=0.807 ms
• ...
• Stop a ops session (and the command
ping)
• DELETE /rest/op/02B3479CA1522F2A
.
27. device-name port
JUNOS: XML RPC Single Method
ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 30
URI Example
https://198.51.100.1:3000/rpc/get-software-information
... /get-interface-information?terse=&interface-name=ge-0/0/1
method
method parameters
参考:JunosのREST APIを使ってみる
http://qiita.com/kazubu/items/e5e0941f66f6c6f2f55a
28. JUNOS: XML RPC Single Method
ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 31
CLIコマンドに対応する RPC method 確認方法
参考:JunosのREST APIを使ってみる
http://qiita.com/kazubu/items/e5e0941f66f6c6f2f55a
30. REST (like) API のタイプ
• (URIでなく)CLIに紐づくRPC Method をBODYに複数記述
ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 33
XML RPC Multi Method型 (JUNOS Multi RPC)
Request Response