LoginSignup
4
0

More than 1 year has passed since last update.

SRv6 End.DT4を試してみた

Last updated at Posted at 2021-09-13

Linuxで SRv6 End.DT4 functionがサポートされたが情報があまり公開されていないため、
利用方法をまとめてみました。

構成例

srv6-network-end-dt4.png

SRv6 End.DT4とは

SRv6ルーターのエンドポイントノードが SRヘッダーを外して、そのルーターの指定された VRF RIBをルックアップして送信する Endpointファンクションである。
End.DX4の場合、コネクテッドな IPv4 Next-hopしか送信できないため、(ルーティングテーブルを参照しない)より柔軟な構成が可能である。

Build Linux kernel & iproute2

Ubuntu20.04 Linux kernel ビルド

Linuxの End.DT4は vrf strict modeの有効化が必要なため、CONFIG_NET_VRFが有効化されたカーネルが必要がある。
Ubuntu20.04の genericカーネルでは有効化されていないため、ビルドし直す必要がある。

以下のページのカーネルビルド方法を参考に、カーネルのビルド設定ファイル .config の CONFIG_NET_VRFを有効に変更してビルドする。
(CONFIG_NET_VRF=y)

# vi .config
CONFIG_NET_VRF=y

iproute2最新版インストール

iproute2 を最新版をインストールする。

設定

細かい基礎設定は省きます。

Router A

ip route add default encap seg6 mode encap segs fd01:b::1 dev ens192
ip -6 route add fd01:a::1 encap seg6local action End.DX4 nh4 192.168.0.2 dev ens224

Router B

vrf strict modeを有効にする。

# sysctl -wq net.vrf.strict_mode=1

End.DT4は vrftableしか lookupできないので、vrfを作成する。

ip link add vrf100 type vrf table 100
ip link set vrf100 up
ip link set dev ens224 master vrf100
ip route add default via 192.168.1.1 table 100
ip route list vrf vrf100

ip route add 192.168.0.2 encap seg6 mode encap segs fd01:a::1 dev ens192 table 100
ip -6 route add fd01:b::1 encap seg6local action End.DT4 vrftable 100 dev ens192
4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0