Re: [vpp-dev] VPP Linux-CP/Linux-NL : MPLS?
Hoi, MPLS is not supported in Linux CP. It is a regularly requested feature, but not quite as straight forward. Contributions welcome! groet, Pim On Tue, Jan 24, 2023 at 5:16 PM wrote: > Hello, > > I'm trying to populate MPLS FIB via Linux-CP plugin. > MPLS records are created via FRR and populated to Linux Kernel routing > table (I use default ns). Below one can see "push" operation and "swap" > operation. > mpls table 0 was created in vpp by "mpls table add 0" command. > mpls was enabled on all the interfaces, both towards media and taps. > Still, do not see anything in FIB. Should MPLS tables sync work, or may be, > I forgot setup something in VPP? > > root@tn3:/home/abramov# ip -f mpls route show > 40050 as to 41000 via inet6 fd00:200::2 dev Ten0.1914 proto static > root@tn3:/home/abramov# ip -6 route show | grep 4 > fd00:100::4 nhid 209 encap mpls 4 via fd00:200::2 dev Ten0.1914 > proto static metric 20 pref medium > root@tn3:/home/abramov# vppctl > > vpp# show mpls fib 0 40050 > MPLS-VRF:0, fib_index:1 locks:[interface:4, CLI:1, ] > vpp# show ip6 fib > ipv6-VRF:0, fib_index:0, flow hash:[src dst sport dport proto flowlabel ] > epoch:0 flags:none locks:[adjacency:1, default-route:1, lcp-rt:1, ] > ::/0 > unicast-ip6-chain > [@0]: dpo-load-balance: [proto:ip6 index:6 buckets:1 uRPF:5 to:[0:0]] > [0] [@0]: dpo-drop ip6 > fd00:100::4/128 > unicast-ip6-chain > [@0]: dpo-load-balance: [proto:ip6 index:17 buckets:1 uRPF:17 to:[0:0]] > [0] [@5]: ipv6 via fd00:200::2 TenGigabitEthernet1c/0/1.1914: mtu:9000 > next:5 flags:[] 2af08d2cf6163cecef5f778f8100077a86dd > fd00:200::/64 > unicast-ip6-chain > [@0]: dpo-load-balance: [proto:ip6 index:15 buckets:1 uRPF:14 to:[0:0]] > [0] [@4]: ipv6-glean: [src:fd00:200::/64] > TenGigabitEthernet1c/0/1.1914: mtu:9000 next:2 flags:[] > 3cecef5f778f8100077a86dd > fd00:200::1/128 > unicast-ip6-chain > [@0]: dpo-load-balance: [proto:ip6 index:16 buckets:1 uRPF:15 > to:[10:848]] > [0] [@20]: dpo-receive: fd00:200::1 on TenGigabitEthernet1c/0/1.1914 > fd00:200::2/128 > unicast-ip6-chain > [@0]: dpo-load-balance: [proto:ip6 index:18 buckets:1 uRPF:12 to:[0:0]] > [0] [@5]: ipv6 via fd00:200::2 TenGigabitEthernet1c/0/1.1914: mtu:9000 > next:5 flags:[] 2af08d2cf6163cecef5f778f8100077a86dd > fe80::/10 > unicast-ip6-chain > [@0]: dpo-load-balance: [proto:ip6 index:7 buckets:1 uRPF:6 to:[8:544]] > [0] [@14]: ip6-link-local > vpp# show mpls fib > MPLS-VRF:0, fib_index:1 locks:[interface:4, CLI:1, ] > ip4-explicit-null:neos/21 fib:1 index:30 locks:2 > special refs:1 entry-flags:exclusive, > src-flags:added,contributing,active, > path-list:[43] locks:2 flags:exclusive, uPRF-list:31 len:0 itfs:[] > path:[53] pl-index:43 mpls weight=1 pref=0 exclusive: > oper-flags:resolved, cfg-flags:exclusive, > [@0]: dst-address,unicast lookup in interface's mpls table > > forwarding: mpls-neos-chain > [@0]: dpo-load-balance: [proto:mpls index:33 buckets:1 uRPF:31 to:[0:0]] > [0] [@4]: dst-address,unicast lookup in interface's mpls table > ip4-explicit-null:eos/21 fib:1 index:29 locks:2 > special refs:1 entry-flags:exclusive, > src-flags:added,contributing,active, > path-list:[42] locks:2 flags:exclusive, uPRF-list:30 len:0 itfs:[] > path:[52] pl-index:42 mpls weight=1 pref=0 exclusive: > oper-flags:resolved, cfg-flags:exclusive, > [@0]: dst-address,unicast lookup in interface's ip4 table > > forwarding: mpls-eos-chain > [@0]: dpo-load-balance: [proto:mpls index:32 buckets:1 uRPF:30 to:[0:0]] > [0] [@3]: dst-address,unicast lookup in interface's ip4 table > router-alert:neos/21 fib:1 index:27 locks:2 > special refs:1 entry-flags:exclusive, > src-flags:added,contributing,active, > path-list:[40] locks:2 flags:exclusive, uPRF-list:28 len:0 itfs:[] > path:[50] pl-index:40 mpls weight=1 pref=0 exclusive: > oper-flags:resolved, cfg-flags:exclusive, > [@0]: dpo-punt > > forwarding: mpls-neos-chain > [@0]: dpo-load-balance: [proto:mpls index:30 buckets:1 uRPF:28 to:[0:0]] > [0] [@2]: dpo-punt > router-alert:eos/21 fib:1 index:28 locks:2 > special refs:1 entry-flags:exclusive, > src-flags:added,contributing,active, > path-list:[41] locks:2 flags:exclusive, uPRF-list:29 len:0 itfs:[] > path:[51] pl-index:41 mpls weight=1 pref=0 exclusive: > oper-flags:resolved, cfg-flags:exclusive, > [@0]: dpo-punt > > forwarding: mpls-eos-chain > [@0]: dpo-load-balance: [proto:mpls index:31 buckets:1 uRPF:29 to:[0:0]] > [0] [@2]: dpo-punt > ipv6-explicit-null:neos/21 fib:1 index:32 locks:2 > special refs:1 entry-flags:exclusive, > src-flags:added,contributing,active, > path-list:[45] locks:2 flags:exclusive, uPRF-list:33 len:0 itfs:[] > path:[55] pl-index:45 mpls weight=1 pref=0 exclusive: > oper-flags:resolved, cfg-flags:exclusive, > [@0]: dst-address,unicast lookup in interface's mpls table > > forwarding:
Re: [vpp-dev] VPP Linux-CP/Linux-NL : MPLS?
No, this is not currently supported. MPLS configuration is not synched from the host system using linux-nl. IP routes/addresses/neighbors and some interface attributes (admin state, MTU, MAC address) are synched. -Matt On Tue, Jan 24, 2023 at 10:16 AM wrote: > Hello, > > I'm trying to populate MPLS FIB via Linux-CP plugin. > MPLS records are created via FRR and populated to Linux Kernel routing > table (I use default ns). Below one can see "push" operation and "swap" > operation. > mpls table 0 was created in vpp by "mpls table add 0" command. > mpls was enabled on all the interfaces, both towards media and taps. > Still, do not see anything in FIB. Should MPLS tables sync work, or may be, > I forgot setup something in VPP? > > root@tn3:/home/abramov# ip -f mpls route show > 40050 as to 41000 via inet6 fd00:200::2 dev Ten0.1914 proto static > root@tn3:/home/abramov# ip -6 route show | grep 4 > fd00:100::4 nhid 209 encap mpls 4 via fd00:200::2 dev Ten0.1914 > proto static metric 20 pref medium > root@tn3:/home/abramov# vppctl > > vpp# show mpls fib 0 40050 > MPLS-VRF:0, fib_index:1 locks:[interface:4, CLI:1, ] > vpp# show ip6 fib > ipv6-VRF:0, fib_index:0, flow hash:[src dst sport dport proto flowlabel ] > epoch:0 flags:none locks:[adjacency:1, default-route:1, lcp-rt:1, ] > ::/0 > unicast-ip6-chain > [@0]: dpo-load-balance: [proto:ip6 index:6 buckets:1 uRPF:5 to:[0:0]] > [0] [@0]: dpo-drop ip6 > fd00:100::4/128 > unicast-ip6-chain > [@0]: dpo-load-balance: [proto:ip6 index:17 buckets:1 uRPF:17 to:[0:0]] > [0] [@5]: ipv6 via fd00:200::2 TenGigabitEthernet1c/0/1.1914: mtu:9000 > next:5 flags:[] 2af08d2cf6163cecef5f778f8100077a86dd > fd00:200::/64 > unicast-ip6-chain > [@0]: dpo-load-balance: [proto:ip6 index:15 buckets:1 uRPF:14 to:[0:0]] > [0] [@4]: ipv6-glean: [src:fd00:200::/64] > TenGigabitEthernet1c/0/1.1914: mtu:9000 next:2 flags:[] > 3cecef5f778f8100077a86dd > fd00:200::1/128 > unicast-ip6-chain > [@0]: dpo-load-balance: [proto:ip6 index:16 buckets:1 uRPF:15 > to:[10:848]] > [0] [@20]: dpo-receive: fd00:200::1 on TenGigabitEthernet1c/0/1.1914 > fd00:200::2/128 > unicast-ip6-chain > [@0]: dpo-load-balance: [proto:ip6 index:18 buckets:1 uRPF:12 to:[0:0]] > [0] [@5]: ipv6 via fd00:200::2 TenGigabitEthernet1c/0/1.1914: mtu:9000 > next:5 flags:[] 2af08d2cf6163cecef5f778f8100077a86dd > fe80::/10 > unicast-ip6-chain > [@0]: dpo-load-balance: [proto:ip6 index:7 buckets:1 uRPF:6 to:[8:544]] > [0] [@14]: ip6-link-local > vpp# show mpls fib > MPLS-VRF:0, fib_index:1 locks:[interface:4, CLI:1, ] > ip4-explicit-null:neos/21 fib:1 index:30 locks:2 > special refs:1 entry-flags:exclusive, > src-flags:added,contributing,active, > path-list:[43] locks:2 flags:exclusive, uPRF-list:31 len:0 itfs:[] > path:[53] pl-index:43 mpls weight=1 pref=0 exclusive: > oper-flags:resolved, cfg-flags:exclusive, > [@0]: dst-address,unicast lookup in interface's mpls table > > forwarding: mpls-neos-chain > [@0]: dpo-load-balance: [proto:mpls index:33 buckets:1 uRPF:31 to:[0:0]] > [0] [@4]: dst-address,unicast lookup in interface's mpls table > ip4-explicit-null:eos/21 fib:1 index:29 locks:2 > special refs:1 entry-flags:exclusive, > src-flags:added,contributing,active, > path-list:[42] locks:2 flags:exclusive, uPRF-list:30 len:0 itfs:[] > path:[52] pl-index:42 mpls weight=1 pref=0 exclusive: > oper-flags:resolved, cfg-flags:exclusive, > [@0]: dst-address,unicast lookup in interface's ip4 table > > forwarding: mpls-eos-chain > [@0]: dpo-load-balance: [proto:mpls index:32 buckets:1 uRPF:30 to:[0:0]] > [0] [@3]: dst-address,unicast lookup in interface's ip4 table > router-alert:neos/21 fib:1 index:27 locks:2 > special refs:1 entry-flags:exclusive, > src-flags:added,contributing,active, > path-list:[40] locks:2 flags:exclusive, uPRF-list:28 len:0 itfs:[] > path:[50] pl-index:40 mpls weight=1 pref=0 exclusive: > oper-flags:resolved, cfg-flags:exclusive, > [@0]: dpo-punt > > forwarding: mpls-neos-chain > [@0]: dpo-load-balance: [proto:mpls index:30 buckets:1 uRPF:28 to:[0:0]] > [0] [@2]: dpo-punt > router-alert:eos/21 fib:1 index:28 locks:2 > special refs:1 entry-flags:exclusive, > src-flags:added,contributing,active, > path-list:[41] locks:2 flags:exclusive, uPRF-list:29 len:0 itfs:[] > path:[51] pl-index:41 mpls weight=1 pref=0 exclusive: > oper-flags:resolved, cfg-flags:exclusive, > [@0]: dpo-punt > > forwarding: mpls-eos-chain > [@0]: dpo-load-balance: [proto:mpls index:31 buckets:1 uRPF:29 to:[0:0]] > [0] [@2]: dpo-punt > ipv6-explicit-null:neos/21 fib:1 index:32 locks:2 > special refs:1 entry-flags:exclusive, > src-flags:added,contributing,active, > path-list:[45] locks:2 flags:exclusive, uPRF-list:33 len:0 itfs:[] > path:[55] pl-index:45 mpls weight=1 pref=0 exclusive: > oper-flags:resolved, cfg-flags:exclusive, > [@0]:
[vpp-dev] VPP Linux-CP/Linux-NL : MPLS?
Hello, I'm trying to populate MPLS FIB via Linux-CP plugin. MPLS records are created via FRR and populated to Linux Kernel routing table (I use default ns). Below one can see "push" operation and "swap" operation. mpls table 0 was created in vpp by "mpls table add 0" command. mpls was enabled on all the interfaces, both towards media and taps. Still, do not see anything in FIB. Should MPLS tables sync work, or may be, I forgot setup something in VPP? root@tn3:/home/abramov# ip -f mpls route show 40050 as to 41000 via inet6 fd00:200::2 dev Ten0.1914 proto static root@tn3:/home/abramov# ip -6 route show | grep 4 fd00:100::4 nhid 209 encap mpls 4 via fd00:200::2 dev Ten0.1914 proto static metric 20 pref medium root@tn3:/home/abramov# vppctl vpp# show mpls fib 0 40050 MPLS-VRF:0, fib_index:1 locks:[interface:4, CLI:1, ] vpp# show ip6 fib ipv6-VRF:0, fib_index:0, flow hash:[src dst sport dport proto flowlabel ] epoch:0 flags:none locks:[adjacency:1, default-route:1, lcp-rt:1, ] ::/0 unicast-ip6-chain [@0]: dpo-load-balance: [proto:ip6 index:6 buckets:1 uRPF:5 to:[0:0]] [0] [@0]: dpo-drop ip6 fd00:100::4/128 unicast-ip6-chain [@0]: dpo-load-balance: [proto:ip6 index:17 buckets:1 uRPF:17 to:[0:0]] [0] [@5]: ipv6 via fd00:200::2 TenGigabitEthernet1c/0/1.1914: mtu:9000 next:5 flags:[] 2af08d2cf6163cecef5f778f8100077a86dd fd00:200::/64 unicast-ip6-chain [@0]: dpo-load-balance: [proto:ip6 index:15 buckets:1 uRPF:14 to:[0:0]] [0] [@4]: ipv6-glean: [src:fd00:200::/64] TenGigabitEthernet1c/0/1.1914: mtu:9000 next:2 flags:[] 3cecef5f778f8100077a86dd fd00:200::1/128 unicast-ip6-chain [@0]: dpo-load-balance: [proto:ip6 index:16 buckets:1 uRPF:15 to:[10:848]] [0] [@20]: dpo-receive: fd00:200::1 on TenGigabitEthernet1c/0/1.1914 fd00:200::2/128 unicast-ip6-chain [@0]: dpo-load-balance: [proto:ip6 index:18 buckets:1 uRPF:12 to:[0:0]] [0] [@5]: ipv6 via fd00:200::2 TenGigabitEthernet1c/0/1.1914: mtu:9000 next:5 flags:[] 2af08d2cf6163cecef5f778f8100077a86dd fe80::/10 unicast-ip6-chain [@0]: dpo-load-balance: [proto:ip6 index:7 buckets:1 uRPF:6 to:[8:544]] [0] [@14]: ip6-link-local vpp# show mpls fib MPLS-VRF:0, fib_index:1 locks:[interface:4, CLI:1, ] ip4-explicit-null:neos/21 fib:1 index:30 locks:2 special refs:1 entry-flags:exclusive, src-flags:added,contributing,active, path-list:[43] locks:2 flags:exclusive, uPRF-list:31 len:0 itfs:[] path:[53] pl-index:43 mpls weight=1 pref=0 exclusive: oper-flags:resolved, cfg-flags:exclusive, [@0]: dst-address,unicast lookup in interface's mpls table forwarding: mpls-neos-chain [@0]: dpo-load-balance: [proto:mpls index:33 buckets:1 uRPF:31 to:[0:0]] [0] [@4]: dst-address,unicast lookup in interface's mpls table ip4-explicit-null:eos/21 fib:1 index:29 locks:2 special refs:1 entry-flags:exclusive, src-flags:added,contributing,active, path-list:[42] locks:2 flags:exclusive, uPRF-list:30 len:0 itfs:[] path:[52] pl-index:42 mpls weight=1 pref=0 exclusive: oper-flags:resolved, cfg-flags:exclusive, [@0]: dst-address,unicast lookup in interface's ip4 table forwarding: mpls-eos-chain [@0]: dpo-load-balance: [proto:mpls index:32 buckets:1 uRPF:30 to:[0:0]] [0] [@3]: dst-address,unicast lookup in interface's ip4 table router-alert:neos/21 fib:1 index:27 locks:2 special refs:1 entry-flags:exclusive, src-flags:added,contributing,active, path-list:[40] locks:2 flags:exclusive, uPRF-list:28 len:0 itfs:[] path:[50] pl-index:40 mpls weight=1 pref=0 exclusive: oper-flags:resolved, cfg-flags:exclusive, [@0]: dpo-punt forwarding: mpls-neos-chain [@0]: dpo-load-balance: [proto:mpls index:30 buckets:1 uRPF:28 to:[0:0]] [0] [@2]: dpo-punt router-alert:eos/21 fib:1 index:28 locks:2 special refs:1 entry-flags:exclusive, src-flags:added,contributing,active, path-list:[41] locks:2 flags:exclusive, uPRF-list:29 len:0 itfs:[] path:[51] pl-index:41 mpls weight=1 pref=0 exclusive: oper-flags:resolved, cfg-flags:exclusive, [@0]: dpo-punt forwarding: mpls-eos-chain [@0]: dpo-load-balance: [proto:mpls index:31 buckets:1 uRPF:29 to:[0:0]] [0] [@2]: dpo-punt ipv6-explicit-null:neos/21 fib:1 index:32 locks:2 special refs:1 entry-flags:exclusive, src-flags:added,contributing,active, path-list:[45] locks:2 flags:exclusive, uPRF-list:33 len:0 itfs:[] path:[55] pl-index:45 mpls weight=1 pref=0 exclusive: oper-flags:resolved, cfg-flags:exclusive, [@0]: dst-address,unicast lookup in interface's mpls table forwarding: mpls-neos-chain [@0]: dpo-load-balance: [proto:mpls index:35 buckets:1 uRPF:33 to:[0:0]] [0] [@4]: dst-address,unicast lookup in interface's mpls table ipv6-explicit-null:eos/21 fib:1 index:31 locks:2 special refs:1 entry-flags:exclusive, src-flags:added,contributing,active, path-list:[44] locks:2 flags:exclusive, uPRF-list:32 len:0 itfs:[] path:[54] pl-index:44 mpls weight=1 pref=0 exclusive: oper-flags:resolved, cfg-flags:exclusive, [@0]: dst-address,unicast lookup in interface's ip6 table forwarding: mpls-eos-chain [@0]: dpo-load-balance: [proto:mpls