Compare commits

..

17 Commits

Author SHA1 Message Date
Pim van Pelt
5edda90b62 Move to vppcfg based configs - generate the initial config in vpp.service. Needs 20260406-2 2026-04-07 17:43:01 +00:00
Pim van Pelt
5838702459 Remove 'rc-local-perms' again, it's already present in common 2026-02-23 09:45:44 +00:00
Pim van Pelt
dc25568bf9 Bump to 20260223-release with eVPN 2026-02-23 09:41:53 +00:00
Pim van Pelt
40a1a7c633 Add rc.local for host* that explains which vpp:port it is connected to 2026-02-23 09:15:52 +00:00
Pim van Pelt
e5d34e5a69 Fix ipv6 loopback 2026-02-22 20:00:53 +00:00
Pim van Pelt
ad72430086 Add srv6 2026-02-22 19:44:04 +00:00
Pim van Pelt
14c20554b8 Remove hvn2/hvn3.lab, they have been decommissioned 2026-02-22 19:43:52 +00:00
Pim van Pelt
1575b4f6d6 Move to Trixie by default 2025-09-29 21:48:55 +00:00
Pim van Pelt
a130d293e1 Remove CPU configs, just use host passthrough 2025-09-29 20:48:35 +00:00
Pim van Pelt
4b0088f935 add sflow config 2024-10-28 16:36:06 +00:00
Pim van Pelt
1d10a2c67b Bump to 2024-10-28, with sFlow 2024-10-28 16:23:12 +00:00
Pim van Pelt
a21e523ba5 Bump version to 2024-09-06, which includes sflow 2024-09-06 12:40:05 +00:00
Pim van Pelt
491987d90c Rewrite bird configs: include babel.conf; Restrict OSPF to its own lab net + defaults 2024-04-07 09:51:45 +00:00
Pim van Pelt
22b17f5db0 Add babel (commented out), allow RTS_BABEL into ospf, remove hvn2 user key, rebuild 2024-03-10 16:19:41 +00:00
Pim van Pelt
6e5773d5f4 Add Tom Jones' key 2024-02-08 16:28:39 +00:00
Pim van Pelt
0321ea9aee Refactor ovs-config.sh 2024-02-08 16:28:06 +00:00
Pim van Pelt
14ab4d4054 Remove sshd for FreeBSD build 2024-02-07 22:07:19 +00:00
896 changed files with 1385 additions and 16509 deletions

View File

@@ -0,0 +1,5 @@
#!/bin/sh
for port in 0 1 2 3; do
ip link set enp16s0f${port} up mtu 1500 alias "vpp0-${port}:Gi10/0/2"
done

View File

@@ -4,4 +4,4 @@ echo " * Disabling VPP, Bird and FRR"
for i in vpp vppcfg bird-dataplane frr; do
rm -f /etc/systemd/system/multi-user.target.wants/${i}.service
ln -sf /dev/null /etc/systemd/system/${i}.service
done
done

View File

@@ -21,30 +21,7 @@
<apic/>
<vmport state='off'/>
</features>
<cpu mode='custom' match='exact' check='full'>
<model fallback='forbid'>SandyBridge-IBRS</model>
<vendor>Intel</vendor>
<feature policy='require' name='vme'/>
<feature policy='require' name='ss'/>
<feature policy='require' name='vmx'/>
<feature policy='require' name='pdcm'/>
<feature policy='require' name='pcid'/>
<feature policy='require' name='hypervisor'/>
<feature policy='require' name='arat'/>
<feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='umip'/>
<feature policy='require' name='md-clear'/>
<feature policy='require' name='stibp'/>
<feature policy='require' name='arch-capabilities'/>
<feature policy='require' name='ssbd'/>
<feature policy='require' name='xsaveopt'/>
<feature policy='require' name='pdpe1gb'/>
<feature policy='require' name='ibpb'/>
<feature policy='require' name='amd-stibp'/>
<feature policy='require' name='amd-ssbd'/>
<feature policy='require' name='skip-l1dfl-vmentry'/>
<feature policy='require' name='pschange-mc-no'/>
</cpu>
<cpu mode='host-passthrough'/>
<clock offset='utc'>
<timer name='rtc' tickpolicy='catchup'/>
<timer name='pit' tickpolicy='delay'/>

View File

@@ -0,0 +1,5 @@
#!/bin/sh
for port in 0 1 2 3; do
ip link set enp16s0f${port} up mtu 1500 alias "vpp0-${port}:Gi10/0/3"
done

View File

@@ -4,4 +4,4 @@ echo " * Disabling VPP, Bird and FRR"
for i in vpp vppcfg bird-dataplane frr; do
rm -f /etc/systemd/system/multi-user.target.wants/${i}.service
ln -sf /dev/null /etc/systemd/system/${i}.service
done
done

View File

@@ -21,30 +21,7 @@
<apic/>
<vmport state='off'/>
</features>
<cpu mode='custom' match='exact' check='full'>
<model fallback='forbid'>SandyBridge-IBRS</model>
<vendor>Intel</vendor>
<feature policy='require' name='vme'/>
<feature policy='require' name='ss'/>
<feature policy='require' name='vmx'/>
<feature policy='require' name='pdcm'/>
<feature policy='require' name='pcid'/>
<feature policy='require' name='hypervisor'/>
<feature policy='require' name='arat'/>
<feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='umip'/>
<feature policy='require' name='md-clear'/>
<feature policy='require' name='stibp'/>
<feature policy='require' name='arch-capabilities'/>
<feature policy='require' name='ssbd'/>
<feature policy='require' name='xsaveopt'/>
<feature policy='require' name='pdpe1gb'/>
<feature policy='require' name='ibpb'/>
<feature policy='require' name='amd-stibp'/>
<feature policy='require' name='amd-ssbd'/>
<feature policy='require' name='skip-l1dfl-vmentry'/>
<feature policy='require' name='pschange-mc-no'/>
</cpu>
<cpu mode='host-passthrough'/>
<clock offset='utc'>
<timer name='rtc' tickpolicy='catchup'/>
<timer name='pit' tickpolicy='delay'/>

View File

@@ -4,4 +4,4 @@ echo " * Disabling VPP, Bird and FRR"
for i in vpp vppcfg bird-dataplane frr; do
rm -f /etc/systemd/system/multi-user.target.wants/${i}.service
ln -sf /dev/null /etc/systemd/system/${i}.service
done
done

View File

@@ -21,30 +21,7 @@
<apic/>
<vmport state='off'/>
</features>
<cpu mode='custom' match='exact' check='full'>
<model fallback='forbid'>SandyBridge-IBRS</model>
<vendor>Intel</vendor>
<feature policy='require' name='vme'/>
<feature policy='require' name='ss'/>
<feature policy='require' name='vmx'/>
<feature policy='require' name='pdcm'/>
<feature policy='require' name='pcid'/>
<feature policy='require' name='hypervisor'/>
<feature policy='require' name='arat'/>
<feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='umip'/>
<feature policy='require' name='md-clear'/>
<feature policy='require' name='stibp'/>
<feature policy='require' name='arch-capabilities'/>
<feature policy='require' name='ssbd'/>
<feature policy='require' name='xsaveopt'/>
<feature policy='require' name='pdpe1gb'/>
<feature policy='require' name='ibpb'/>
<feature policy='require' name='amd-stibp'/>
<feature policy='require' name='amd-ssbd'/>
<feature policy='require' name='skip-l1dfl-vmentry'/>
<feature policy='require' name='pschange-mc-no'/>
</cpu>
<cpu mode='host-passthrough'/>
<clock offset='utc'>
<timer name='rtc' tickpolicy='catchup'/>
<timer name='pit' tickpolicy='delay'/>

View File

@@ -17,4 +17,5 @@ protocol kernel kernel6 {
include "core/static.conf";
include "core/bfd.conf";
include "core/ospf.conf";
# include "core/babel.conf";
include "manual.conf";

View File

@@ -0,0 +1,13 @@
protocol babel {
interface "e0", "e1" {
type wired;
extended next hop on;
rtt cost 1000;
rtt min 5ms;
rtt max 30ms;
authentication mac permissive;
password "IPng loves bird";
};
ipv6 { import all; export all; };
ipv4 { import all; export all; };
}

View File

@@ -1,21 +1,17 @@
protocol ospf v2 ospf4 {
ipv4 { export where (source = RTS_DEVICE || source = RTS_STATIC); import all; };
ipv4 { export where net ~ [ 192.168.10.0/24+, 0.0.0.0/0 ]; import where net ~ [ 192.168.10.0/24+, 0.0.0.0/0 ]; };
area 0 {
interface "loop0" { stub yes; };
interface "e0" { type pointopoint; cost 5; bfd off; };
interface "e1" { type pointopoint; cost 5; bfd off; };
interface "e2" { type pointopoint; cost 5; bfd off; };
interface "e3" { type pointopoint; cost 5; bfd off; };
};
}
protocol ospf v3 ospf6 {
ipv6 { export where (source = RTS_DEVICE || source = RTS_STATIC); import all; };
ipv6 { export where net ~ [ 2001:678:d78:200::/60+, ::/0 ]; import where net ~ [ 2001:678:d78:200::/60+, ::/0]; };
area 0 {
interface "loop0" { stub yes; };
interface "e0" { type pointopoint; cost 5; bfd off; };
interface "e1" { type pointopoint; cost 5; bfd off; };
interface "e2" { type pointopoint; cost 5; bfd off; };
interface "e3" { type pointopoint; cost 5; bfd off; };
};
}

View File

@@ -1,15 +1,12 @@
protocol static static4 {
ipv4 { export all; };
# route 192.0.2.0/24 via 10.0.0.1;
route 192.168.10.0/24 unreachable;
route 0.0.0.0/0 via 192.168.10.4;
# route 192.0.2.0/24 via 10.0.0.1;
}
protocol static static6 {
ipv6 { export all; };
# route 2001:db8:cafe::/48 via 2001:db8::1;;
route 2001:678:d78:200::/60 unreachable;
route ::/0 via 2001:678:d78:201::ffff;
route 2001:678:d78:20f::/112 unreachable;
# route 2001:db8:cafe::/48 via 2001:db8::1;
}

View File

@@ -1,11 +1,5 @@
comment { Apply system defaults from the build }
exec /etc/vpp/config/defaults.vpp
exec /etc/vpp/config/loopback.vpp
exec /etc/vpp/config/interface.vpp
exec /etc/vpp/config/lcp.vpp
exec /etc/vpp/config/mpls.vpp
comment { exec /etc/vpp/config/flowprobe.vpp }
comment { Allow user to set persistent manual configs }
exec /etc/vpp/config/manual.vpp
exec /etc/vpp/config/manual-pre.vpp
exec /etc/vpp/config/vppcfg.vpp
exec /etc/vpp/config/srv6.vpp
exec /etc/vpp/config/manual-post.vpp

View File

@@ -3,3 +3,4 @@ lcp default netns dataplane
lcp lcp-sync on
lcp lcp-auto-subint off
mpls table add 0

View File

@@ -1,10 +0,0 @@
comment { Generate full IPFIX stats, send them to lab.ipng.ch }
set ipfix exporter collector 194.1.163.86 src 192.168.10.0 port 4739 path-mtu 1450 template-interval 30
flowprobe params record l2 l3 l4 active 10 passive 60
flowprobe feature add-del GigabitEthernet10/0/0 l2 both
flowprobe feature add-del GigabitEthernet10/0/1 l2 both
flowprobe feature add-del GigabitEthernet10/0/2 l2 both
flowprobe feature add-del GigabitEthernet10/0/3 l2 both

View File

@@ -1,24 +0,0 @@
comment { Gi10/0/0 is connected to lab.ipng.ch:lab0 }
set interface mtu 9000 GigabitEthernet10/0/0
set interface mtu packet 9000 GigabitEthernet10/0/0
set interface ip address GigabitEthernet10/0/0 2001:678:d78:201::0:fffe/112
set interface ip address GigabitEthernet10/0/0 192.168.10.5/31
set interface state GigabitEthernet10/0/0 up
comment { Gi10/0/1 is connected to vpp0-1:Gi10/0/0 }
set interface mtu 9000 GigabitEthernet10/0/1
set interface mtu packet 9000 GigabitEthernet10/0/1
set interface ip address GigabitEthernet10/0/1 2001:678:d78:201::1:00/112
set interface ip address GigabitEthernet10/0/1 192.168.10.6/31
set interface state GigabitEthernet10/0/1 up
comment { Gi10/0/2 is free to use }
set interface mtu 9000 GigabitEthernet10/0/2
set interface mtu packet 9000 GigabitEthernet10/0/2
set interface state GigabitEthernet10/0/2 down
comment { Gi10/0/3 is free to use }
set interface mtu 9000 GigabitEthernet10/0/3
set interface mtu packet 9000 GigabitEthernet10/0/3
set interface state GigabitEthernet10/0/3 down

View File

@@ -1,7 +0,0 @@
comment { Create one LinuxCP Interface Pair for each phy }
lcp create loop0 host-if loop0
lcp create GigabitEthernet10/0/0 host-if e0
lcp create GigabitEthernet10/0/1 host-if e1
lcp create GigabitEthernet10/0/2 host-if e2
lcp create GigabitEthernet10/0/3 host-if e3

View File

@@ -1,6 +0,0 @@
comment { Create a loopback interface }
create loopback interface instance 0
set interface state loop0 up
set interface ip address loop0 192.168.10.0/32
set interface ip address loop0 2001:678:d78:200::/128

View File

@@ -1,2 +0,0 @@
mpls table add 0
set interface mpls GigabitEthernet10/0/1 enable

View File

@@ -0,0 +1,2 @@
set sr encaps source addr 2001:678:d78:200::
sr localsid address 2001:678:d78:20f:: behavior end

View File

@@ -0,0 +1 @@
comment { This file is autogenerated from /etc/vpp/vppcfg.yaml at boot time }

View File

@@ -0,0 +1,30 @@
loopbacks:
loop0:
description: 'Core: vpp0-0'
mtu: 9000
lcp: loop0
addresses: [ 192.168.10.0/32, 2001:678:d78:200::/128 ]
interfaces:
GigabitEthernet10/0/0:
description: 'Gi10/0/0 is connected to lab.ipng.ch:lab0'
addresses: [ 192.168.10.5/31, 2001:678:d78:201::fffe/112 ]
lcp: e0
mtu: 9000
sflow: true
GigabitEthernet10/0/1:
description: 'Gi10/0/1 is connected to vpp0-1:Gi10/0/0'
addresses: [ 192.168.10.6/31, 2001:678:d78:201::1:00/112 ]
mpls: true
lcp: e1
mtu: 9000
sflow: true
GigabitEthernet10/0/2:
description: 'Gi10/0/2 is connected to host0-0:enp16s0f0'
lcp: e2
mtu: 9000
sflow: true
GigabitEthernet10/0/3:
description: 'Gi10/0/3 is connected to host0-1:enp16s0f0'
lcp: e3
mtu: 9000
sflow: true

View File

@@ -0,0 +1,19 @@
[Unit]
Description=vector packet processing engine
After=network.target
[Service]
Type=simple
ExecStartPre=-/sbin/modprobe uio_pci_generic
ExecStartPre=-/usr/local/bin/vppcfg plan --novpp -c /etc/vpp/vppcfg.yaml -o /etc/vpp/config/vppcfg.vpp
ExecStart=/usr/bin/vpp -c /etc/vpp/startup.conf
ExecStopPost=/bin/rm -f /dev/shm/db /dev/shm/global_vm /dev/shm/vpe-api
Restart=always
# Uncomment the following line to enable VPP coredumps on crash
# You still need to configure the rest of the system to collect them, see
# https://fdio-vpp.readthedocs.io/en/latest/troubleshooting/reportingissues/reportingissues.html#core-files
# for details
#LimitCORE=infinity
[Install]
WantedBy=multi-user.target

View File

@@ -4,4 +4,9 @@ echo " * Disabling FRR"
for i in frr; do
rm -f /etc/systemd/system/multi-user.target.wants/${i}.service
ln -sf /dev/null /etc/systemd/system/${i}.service
done
echo " * Enabling Bird"
for i in bird-dataplane; do
ln -sf /lib/systemd/system/${i}.service /etc/systemd/system/multi-user.target.wants/${i}.service
done

View File

@@ -21,30 +21,7 @@
<apic/>
<vmport state='off'/>
</features>
<cpu mode='custom' match='exact' check='full'>
<model fallback='forbid'>SandyBridge-IBRS</model>
<vendor>Intel</vendor>
<feature policy='require' name='vme'/>
<feature policy='require' name='ss'/>
<feature policy='require' name='vmx'/>
<feature policy='require' name='pdcm'/>
<feature policy='require' name='pcid'/>
<feature policy='require' name='hypervisor'/>
<feature policy='require' name='arat'/>
<feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='umip'/>
<feature policy='require' name='md-clear'/>
<feature policy='require' name='stibp'/>
<feature policy='require' name='arch-capabilities'/>
<feature policy='require' name='ssbd'/>
<feature policy='require' name='xsaveopt'/>
<feature policy='require' name='pdpe1gb'/>
<feature policy='require' name='ibpb'/>
<feature policy='require' name='amd-stibp'/>
<feature policy='require' name='amd-ssbd'/>
<feature policy='require' name='skip-l1dfl-vmentry'/>
<feature policy='require' name='pschange-mc-no'/>
</cpu>
<cpu mode='host-passthrough'/>
<clock offset='utc'>
<timer name='rtc' tickpolicy='catchup'/>
<timer name='pit' tickpolicy='delay'/>

View File

@@ -17,4 +17,5 @@ protocol kernel kernel6 {
include "core/static.conf";
include "core/bfd.conf";
include "core/ospf.conf";
# include "core/babel.conf";
include "manual.conf";

View File

@@ -0,0 +1,13 @@
protocol babel {
interface "e0", "e1" {
type wired;
extended next hop on;
rtt cost 1000;
rtt min 5ms;
rtt max 30ms;
authentication mac permissive;
password "IPng loves bird";
};
ipv6 { import all; export all; };
ipv4 { import all; export all; };
}

View File

@@ -1,21 +1,17 @@
protocol ospf v2 ospf4 {
ipv4 { export where (source = RTS_DEVICE || source = RTS_STATIC); import all; };
ipv4 { export where net ~ [ 192.168.10.0/24+, 0.0.0.0/0 ]; import where net ~ [ 192.168.10.0/24+, 0.0.0.0/0 ]; };
area 0 {
interface "loop0" { stub yes; };
interface "e0" { type pointopoint; cost 5; bfd off; };
interface "e1" { type pointopoint; cost 5; bfd off; };
interface "e2" { type pointopoint; cost 5; bfd off; };
interface "e3" { type pointopoint; cost 5; bfd off; };
};
}
protocol ospf v3 ospf6 {
ipv6 { export where (source = RTS_DEVICE || source = RTS_STATIC); import all; };
ipv6 { export where net ~ [ 2001:678:d78:200::/60+, ::/0 ]; import where net ~ [ 2001:678:d78:200::/60+, ::/0]; };
area 0 {
interface "loop0" { stub yes; };
interface "e0" { type pointopoint; cost 5; bfd off; };
interface "e1" { type pointopoint; cost 5; bfd off; };
interface "e2" { type pointopoint; cost 5; bfd off; };
interface "e3" { type pointopoint; cost 5; bfd off; };
};
}

View File

@@ -1,13 +1,12 @@
protocol static static4 {
ipv4 { export all; };
# route 192.0.2.0/24 via 10.0.0.1;
route 192.168.10.0/24 unreachable;
# route 192.0.2.0/24 via 10.0.0.1;
}
protocol static static6 {
ipv6 { export all; };
# route 2001:db8:cafe::/48 via 2001:db8::1;;
route 2001:678:d78:200::/60 unreachable;
route 2001:678:d78:20f::1:0/112 unreachable;
# route 2001:db8:cafe::/48 via 2001:db8::1;
}

View File

@@ -1,11 +1,5 @@
comment { Apply system defaults from the build }
exec /etc/vpp/config/defaults.vpp
exec /etc/vpp/config/loopback.vpp
exec /etc/vpp/config/interface.vpp
exec /etc/vpp/config/lcp.vpp
exec /etc/vpp/config/mpls.vpp
comment { exec /etc/vpp/config/flowprobe.vpp }
comment { Allow user to set persistent manual configs }
exec /etc/vpp/config/manual.vpp
exec /etc/vpp/config/manual-pre.vpp
exec /etc/vpp/config/vppcfg.vpp
exec /etc/vpp/config/srv6.vpp
exec /etc/vpp/config/manual-post.vpp

View File

@@ -3,3 +3,4 @@ lcp default netns dataplane
lcp lcp-sync on
lcp lcp-auto-subint off
mpls table add 0

View File

@@ -1,10 +0,0 @@
comment { Generate full IPFIX stats, send them to lab.ipng.ch }
set ipfix exporter collector 194.1.163.86 src 192.168.10.1 port 4739 path-mtu 1450 template-interval 30
flowprobe params record l2 l3 l4 active 10 passive 60
flowprobe feature add-del GigabitEthernet10/0/0 l2 both
flowprobe feature add-del GigabitEthernet10/0/1 l2 both
flowprobe feature add-del GigabitEthernet10/0/2 l2 both
flowprobe feature add-del GigabitEthernet10/0/3 l2 both

View File

@@ -1,24 +0,0 @@
comment { Gi10/0/0 is connected to vpp0-0:Gi10/0/1 }
set interface mtu 9000 GigabitEthernet10/0/0
set interface mtu packet 9000 GigabitEthernet10/0/0
set interface ip address GigabitEthernet10/0/0 2001:678:d78:201::1:01/112
set interface ip address GigabitEthernet10/0/0 192.168.10.7/31
set interface state GigabitEthernet10/0/0 up
comment { Gi10/0/1 is connected to vpp0-2:Gi10/0/0 }
set interface mtu 9000 GigabitEthernet10/0/1
set interface mtu packet 9000 GigabitEthernet10/0/1
set interface ip address GigabitEthernet10/0/1 2001:678:d78:201::2:01/112
set interface ip address GigabitEthernet10/0/1 192.168.10.8/31
set interface state GigabitEthernet10/0/1 up
comment { Gi10/0/2 is free to use }
set interface mtu 9000 GigabitEthernet10/0/2
set interface mtu packet 9000 GigabitEthernet10/0/2
set interface state GigabitEthernet10/0/2 down
comment { Gi10/0/3 is free to use }
set interface mtu 9000 GigabitEthernet10/0/3
set interface mtu packet 9000 GigabitEthernet10/0/3
set interface state GigabitEthernet10/0/3 down

View File

@@ -1,7 +0,0 @@
comment { Create one LinuxCP Interface Pair for each phy }
lcp create loop0 host-if loop0
lcp create GigabitEthernet10/0/0 host-if e0
lcp create GigabitEthernet10/0/1 host-if e1
lcp create GigabitEthernet10/0/2 host-if e2
lcp create GigabitEthernet10/0/3 host-if e3

View File

@@ -1,6 +0,0 @@
comment { Create a loopback interface }
create loopback interface instance 0
set interface state loop0 up
set interface ip address loop0 192.168.10.1/32
set interface ip address loop0 2001:678:d78:200::1/128

View File

@@ -1,3 +0,0 @@
mpls table add 0
set interface mpls GigabitEthernet10/0/0 enable
set interface mpls GigabitEthernet10/0/1 enable

View File

@@ -0,0 +1,2 @@
set sr encaps source addr 2001:678:d78:200::1
sr localsid address 2001:678:d78:20f::1:0 behavior end

View File

@@ -0,0 +1 @@
comment { This file is autogenerated from /etc/vpp/vppcfg.yaml at boot time }

View File

@@ -0,0 +1,31 @@
loopbacks:
loop0:
description: 'Core: vpp0-1'
mtu: 9000
lcp: loop0
addresses: [ 192.168.10.1/32, 2001:678:d78:200::1/128 ]
interfaces:
GigabitEthernet10/0/0:
description: 'Gi10/0/0 is connected to vpp0-0:Gi10/0/1'
addresses: [ 192.168.10.7/31, 2001:678:d78:201::1:01/112 ]
mpls: true
lcp: e0
mtu: 9000
sflow: true
GigabitEthernet10/0/1:
description: 'Gi10/0/1 is connected to vpp0-2:Gi10/0/0'
addresses: [ 192.168.10.8/31, 2001:678:d78:201::2:01/112 ]
mpls: true
lcp: e1
mtu: 9000
sflow: true
GigabitEthernet10/0/2:
description: 'Gi10/0/2 is connected to host0-0:enp16s0f1'
lcp: e2
mtu: 9000
sflow: true
GigabitEthernet10/0/3:
description: 'Gi10/0/3 is connected to host0-1:enp16s0f1'
lcp: e3
mtu: 9000
sflow: true

View File

@@ -0,0 +1,19 @@
[Unit]
Description=vector packet processing engine
After=network.target
[Service]
Type=simple
ExecStartPre=-/sbin/modprobe uio_pci_generic
ExecStartPre=-/usr/local/bin/vppcfg plan --novpp -c /etc/vpp/vppcfg.yaml -o /etc/vpp/config/vppcfg.vpp
ExecStart=/usr/bin/vpp -c /etc/vpp/startup.conf
ExecStopPost=/bin/rm -f /dev/shm/db /dev/shm/global_vm /dev/shm/vpe-api
Restart=always
# Uncomment the following line to enable VPP coredumps on crash
# You still need to configure the rest of the system to collect them, see
# https://fdio-vpp.readthedocs.io/en/latest/troubleshooting/reportingissues/reportingissues.html#core-files
# for details
#LimitCORE=infinity
[Install]
WantedBy=multi-user.target

View File

@@ -4,4 +4,9 @@ echo " * Disabling FRR"
for i in frr; do
rm -f /etc/systemd/system/multi-user.target.wants/${i}.service
ln -sf /dev/null /etc/systemd/system/${i}.service
done
echo " * Enabling Bird"
for i in bird-dataplane; do
ln -sf /lib/systemd/system/${i}.service /etc/systemd/system/multi-user.target.wants/${i}.service
done

View File

@@ -21,30 +21,7 @@
<apic/>
<vmport state='off'/>
</features>
<cpu mode='custom' match='exact' check='full'>
<model fallback='forbid'>SandyBridge-IBRS</model>
<vendor>Intel</vendor>
<feature policy='require' name='vme'/>
<feature policy='require' name='ss'/>
<feature policy='require' name='vmx'/>
<feature policy='require' name='pdcm'/>
<feature policy='require' name='pcid'/>
<feature policy='require' name='hypervisor'/>
<feature policy='require' name='arat'/>
<feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='umip'/>
<feature policy='require' name='md-clear'/>
<feature policy='require' name='stibp'/>
<feature policy='require' name='arch-capabilities'/>
<feature policy='require' name='ssbd'/>
<feature policy='require' name='xsaveopt'/>
<feature policy='require' name='pdpe1gb'/>
<feature policy='require' name='ibpb'/>
<feature policy='require' name='amd-stibp'/>
<feature policy='require' name='amd-ssbd'/>
<feature policy='require' name='skip-l1dfl-vmentry'/>
<feature policy='require' name='pschange-mc-no'/>
</cpu>
<cpu mode='host-passthrough'/>
<clock offset='utc'>
<timer name='rtc' tickpolicy='catchup'/>
<timer name='pit' tickpolicy='delay'/>

View File

@@ -17,4 +17,5 @@ protocol kernel kernel6 {
include "core/static.conf";
include "core/bfd.conf";
include "core/ospf.conf";
# include "core/babel.conf";
include "manual.conf";

View File

@@ -0,0 +1,13 @@
protocol babel {
interface "e0", "e1" {
type wired;
extended next hop on;
rtt cost 1000;
rtt min 5ms;
rtt max 30ms;
authentication mac permissive;
password "IPng loves bird";
};
ipv6 { import all; export all; };
ipv4 { import all; export all; };
}

View File

@@ -1,21 +1,17 @@
protocol ospf v2 ospf4 {
ipv4 { export where (source = RTS_DEVICE || source = RTS_STATIC); import all; };
ipv4 { export where net ~ [ 192.168.10.0/24+, 0.0.0.0/0 ]; import where net ~ [ 192.168.10.0/24+, 0.0.0.0/0 ]; };
area 0 {
interface "loop0" { stub yes; };
interface "e0" { type pointopoint; cost 5; bfd off; };
interface "e1" { type pointopoint; cost 5; bfd off; };
interface "e2" { type pointopoint; cost 5; bfd off; };
interface "e3" { type pointopoint; cost 5; bfd off; };
};
}
protocol ospf v3 ospf6 {
ipv6 { export where (source = RTS_DEVICE || source = RTS_STATIC); import all; };
ipv6 { export where net ~ [ 2001:678:d78:200::/60+, ::/0 ]; import where net ~ [ 2001:678:d78:200::/60+, ::/0]; };
area 0 {
interface "loop0" { stub yes; };
interface "e0" { type pointopoint; cost 5; bfd off; };
interface "e1" { type pointopoint; cost 5; bfd off; };
interface "e2" { type pointopoint; cost 5; bfd off; };
interface "e3" { type pointopoint; cost 5; bfd off; };
};
}

View File

@@ -1,13 +1,12 @@
protocol static static4 {
ipv4 { export all; };
# route 192.0.2.0/24 via 10.0.0.1;
route 192.168.10.0/24 unreachable;
# route 192.0.2.0/24 via 10.0.0.1;
}
protocol static static6 {
ipv6 { export all; };
# route 2001:db8:cafe::/48 via 2001:db8::1;;
route 2001:678:d78:200::/60 unreachable;
route 2001:678:d78:20f::2:0/112 unreachable;
# route 2001:db8:cafe::/48 via 2001:db8::1;
}

View File

@@ -1,11 +1,5 @@
comment { Apply system defaults from the build }
exec /etc/vpp/config/defaults.vpp
exec /etc/vpp/config/loopback.vpp
exec /etc/vpp/config/interface.vpp
exec /etc/vpp/config/lcp.vpp
exec /etc/vpp/config/mpls.vpp
comment { exec /etc/vpp/config/flowprobe.vpp }
comment { Allow user to set persistent manual configs }
exec /etc/vpp/config/manual.vpp
exec /etc/vpp/config/manual-pre.vpp
exec /etc/vpp/config/vppcfg.vpp
exec /etc/vpp/config/srv6.vpp
exec /etc/vpp/config/manual-post.vpp

View File

@@ -3,3 +3,4 @@ lcp default netns dataplane
lcp lcp-sync on
lcp lcp-auto-subint off
mpls table add 0

View File

@@ -1,10 +0,0 @@
comment { Generate full IPFIX stats, send them to lab.ipng.ch }
set ipfix exporter collector 194.1.163.86 src 192.168.10.2 port 4739 path-mtu 1450 template-interval 30
flowprobe params record l2 l3 l4 active 10 passive 60
flowprobe feature add-del GigabitEthernet10/0/0 l2 both
flowprobe feature add-del GigabitEthernet10/0/1 l2 both
flowprobe feature add-del GigabitEthernet10/0/2 l2 both
flowprobe feature add-del GigabitEthernet10/0/3 l2 both

View File

@@ -1,24 +0,0 @@
comment { Gi10/0/0 is connected to vpp0-1:Gi10/0/1 }
set interface mtu 9000 GigabitEthernet10/0/0
set interface mtu packet 9000 GigabitEthernet10/0/0
set interface ip address GigabitEthernet10/0/0 2001:678:d78:201::2:02/112
set interface ip address GigabitEthernet10/0/0 192.168.10.9/31
set interface state GigabitEthernet10/0/0 up
comment { Gi10/0/1 is connected to vpp0-3:Gi10/0/0 }
set interface mtu 9000 GigabitEthernet10/0/1
set interface mtu packet 9000 GigabitEthernet10/0/1
set interface ip address GigabitEthernet10/0/1 2001:678:d78:201::3:02/112
set interface ip address GigabitEthernet10/0/1 192.168.10.10/31
set interface state GigabitEthernet10/0/1 up
comment { Gi10/0/2 is free to use }
set interface mtu 9000 GigabitEthernet10/0/2
set interface mtu packet 9000 GigabitEthernet10/0/2
set interface state GigabitEthernet10/0/2 down
comment { Gi10/0/3 is free to use }
set interface mtu 9000 GigabitEthernet10/0/3
set interface mtu packet 9000 GigabitEthernet10/0/3
set interface state GigabitEthernet10/0/3 down

View File

@@ -1,7 +0,0 @@
comment { Create one LinuxCP Interface Pair for each phy }
lcp create loop0 host-if loop0
lcp create GigabitEthernet10/0/0 host-if e0
lcp create GigabitEthernet10/0/1 host-if e1
lcp create GigabitEthernet10/0/2 host-if e2
lcp create GigabitEthernet10/0/3 host-if e3

View File

@@ -1,6 +0,0 @@
comment { Create a loopback interface }
create loopback interface instance 0
set interface state loop0 up
set interface ip address loop0 192.168.10.2/32
set interface ip address loop0 2001:678:d78:200::2/128

View File

@@ -1,3 +0,0 @@
mpls table add 0
set interface mpls GigabitEthernet10/0/0 enable
set interface mpls GigabitEthernet10/0/1 enable

View File

@@ -0,0 +1,2 @@
set sr encaps source addr 2001:678:d78:200::2
sr localsid address 2001:678:d78:20f::2:0 behavior end

View File

@@ -0,0 +1 @@
comment { This file is autogenerated from /etc/vpp/vppcfg.yaml at boot time }

View File

@@ -0,0 +1,31 @@
loopbacks:
loop0:
description: 'Core: vpp0-2'
mtu: 9000
lcp: loop0
addresses: [ 192.168.10.2/32, 2001:678:d78:200::2/128 ]
interfaces:
GigabitEthernet10/0/0:
description: 'Gi10/0/0 is connected to vpp0-1:Gi10/0/1'
addresses: [ 192.168.10.9/31, 2001:678:d78:201::2:02/112 ]
mpls: true
lcp: e0
mtu: 9000
sflow: true
GigabitEthernet10/0/1:
description: 'Gi10/0/1 is connected to vpp0-3:Gi10/0/0'
addresses: [ 192.168.10.10/31, 2001:678:d78:201::3:02/112 ]
mpls: true
lcp: e1
mtu: 9000
sflow: true
GigabitEthernet10/0/2:
description: 'Gi10/0/2 is connected to host0-0:enp16s0f2'
lcp: e2
mtu: 9000
sflow: true
GigabitEthernet10/0/3:
description: 'Gi10/0/3 is connected to host0-1:enp16s0f2'
lcp: e3
mtu: 9000
sflow: true

View File

@@ -0,0 +1,19 @@
[Unit]
Description=vector packet processing engine
After=network.target
[Service]
Type=simple
ExecStartPre=-/sbin/modprobe uio_pci_generic
ExecStartPre=-/usr/local/bin/vppcfg plan --novpp -c /etc/vpp/vppcfg.yaml -o /etc/vpp/config/vppcfg.vpp
ExecStart=/usr/bin/vpp -c /etc/vpp/startup.conf
ExecStopPost=/bin/rm -f /dev/shm/db /dev/shm/global_vm /dev/shm/vpe-api
Restart=always
# Uncomment the following line to enable VPP coredumps on crash
# You still need to configure the rest of the system to collect them, see
# https://fdio-vpp.readthedocs.io/en/latest/troubleshooting/reportingissues/reportingissues.html#core-files
# for details
#LimitCORE=infinity
[Install]
WantedBy=multi-user.target

View File

@@ -4,4 +4,9 @@ echo " * Disabling FRR"
for i in frr; do
rm -f /etc/systemd/system/multi-user.target.wants/${i}.service
ln -sf /dev/null /etc/systemd/system/${i}.service
done
echo " * Enabling Bird"
for i in bird-dataplane; do
ln -sf /lib/systemd/system/${i}.service /etc/systemd/system/multi-user.target.wants/${i}.service
done

View File

@@ -21,30 +21,7 @@
<apic/>
<vmport state='off'/>
</features>
<cpu mode='custom' match='exact' check='full'>
<model fallback='forbid'>SandyBridge-IBRS</model>
<vendor>Intel</vendor>
<feature policy='require' name='vme'/>
<feature policy='require' name='ss'/>
<feature policy='require' name='vmx'/>
<feature policy='require' name='pdcm'/>
<feature policy='require' name='pcid'/>
<feature policy='require' name='hypervisor'/>
<feature policy='require' name='arat'/>
<feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='umip'/>
<feature policy='require' name='md-clear'/>
<feature policy='require' name='stibp'/>
<feature policy='require' name='arch-capabilities'/>
<feature policy='require' name='ssbd'/>
<feature policy='require' name='xsaveopt'/>
<feature policy='require' name='pdpe1gb'/>
<feature policy='require' name='ibpb'/>
<feature policy='require' name='amd-stibp'/>
<feature policy='require' name='amd-ssbd'/>
<feature policy='require' name='skip-l1dfl-vmentry'/>
<feature policy='require' name='pschange-mc-no'/>
</cpu>
<cpu mode='host-passthrough'/>
<clock offset='utc'>
<timer name='rtc' tickpolicy='catchup'/>
<timer name='pit' tickpolicy='delay'/>

View File

@@ -17,4 +17,5 @@ protocol kernel kernel6 {
include "core/static.conf";
include "core/bfd.conf";
include "core/ospf.conf";
# include "core/babel.conf";
include "manual.conf";

View File

@@ -0,0 +1,13 @@
protocol babel {
interface "e0", "e1" {
type wired;
extended next hop on;
rtt cost 1000;
rtt min 5ms;
rtt max 30ms;
authentication mac permissive;
password "IPng loves bird";
};
ipv6 { import all; export all; };
ipv4 { import all; export all; };
}

View File

@@ -1,21 +1,17 @@
protocol ospf v2 ospf4 {
ipv4 { export where (source = RTS_DEVICE || source = RTS_STATIC); import all; };
ipv4 { export where net ~ [ 192.168.10.0/24+, 0.0.0.0/0 ]; import where net ~ [ 192.168.10.0/24+, 0.0.0.0/0 ]; };
area 0 {
interface "loop0" { stub yes; };
interface "e0" { type pointopoint; cost 5; bfd off; };
interface "e1" { type pointopoint; cost 5; bfd off; };
interface "e2" { type pointopoint; cost 5; bfd off; };
interface "e3" { type pointopoint; cost 5; bfd off; };
};
}
protocol ospf v3 ospf6 {
ipv6 { export where (source = RTS_DEVICE || source = RTS_STATIC); import all; };
ipv6 { export where net ~ [ 2001:678:d78:200::/60+, ::/0 ]; import where net ~ [ 2001:678:d78:200::/60+, ::/0]; };
area 0 {
interface "loop0" { stub yes; };
interface "e0" { type pointopoint; cost 5; bfd off; };
interface "e1" { type pointopoint; cost 5; bfd off; };
interface "e2" { type pointopoint; cost 5; bfd off; };
interface "e3" { type pointopoint; cost 5; bfd off; };
};
}

View File

@@ -1,13 +1,12 @@
protocol static static4 {
ipv4 { export all; };
# route 192.0.2.0/24 via 10.0.0.1;
route 192.168.10.0/24 unreachable;
# route 192.0.2.0/24 via 10.0.0.1;
}
protocol static static6 {
ipv6 { export all; };
# route 2001:db8:cafe::/48 via 2001:db8::1;;
route 2001:678:d78:200::/60 unreachable;
route 2001:678:d78:20f::3:0/112 unreachable;
# route 2001:db8:cafe::/48 via 2001:db8::1;
}

View File

@@ -1,11 +1,5 @@
comment { Apply system defaults from the build }
exec /etc/vpp/config/defaults.vpp
exec /etc/vpp/config/loopback.vpp
exec /etc/vpp/config/interface.vpp
exec /etc/vpp/config/lcp.vpp
exec /etc/vpp/config/mpls.vpp
comment { exec /etc/vpp/config/flowprobe.vpp }
comment { Allow user to set persistent manual configs }
exec /etc/vpp/config/manual.vpp
exec /etc/vpp/config/manual-pre.vpp
exec /etc/vpp/config/vppcfg.vpp
exec /etc/vpp/config/srv6.vpp
exec /etc/vpp/config/manual-post.vpp

View File

@@ -3,3 +3,4 @@ lcp default netns dataplane
lcp lcp-sync on
lcp lcp-auto-subint off
mpls table add 0

View File

@@ -1,10 +0,0 @@
comment { Generate full IPFIX stats, send them to lab.ipng.ch }
set ipfix exporter collector 194.1.163.86 src 192.168.10.3 port 4739 path-mtu 1450 template-interval 30
flowprobe params record l2 l3 l4 active 10 passive 60
flowprobe feature add-del GigabitEthernet10/0/0 l2 both
flowprobe feature add-del GigabitEthernet10/0/1 l2 both
flowprobe feature add-del GigabitEthernet10/0/2 l2 both
flowprobe feature add-del GigabitEthernet10/0/3 l2 both

View File

@@ -1,22 +0,0 @@
comment { Gi10/0/0 is connected to vpp0-2:Gi10/0/1 }
set interface mtu 9000 GigabitEthernet10/0/0
set interface mtu packet 9000 GigabitEthernet10/0/0
set interface ip address GigabitEthernet10/0/0 2001:678:d78:201::3:03/112
set interface ip address GigabitEthernet10/0/0 192.168.10.11/31
set interface state GigabitEthernet10/0/0 up
comment { Gi10/0/1 is free to use }
set interface mtu 9000 GigabitEthernet10/0/1
set interface mtu packet 9000 GigabitEthernet10/0/1
set interface state GigabitEthernet10/0/1 down
comment { Gi10/0/2 is free to use }
set interface mtu 9000 GigabitEthernet10/0/2
set interface mtu packet 9000 GigabitEthernet10/0/2
set interface state GigabitEthernet10/0/2 down
comment { Gi10/0/3 is free to use }
set interface mtu 9000 GigabitEthernet10/0/3
set interface mtu packet 9000 GigabitEthernet10/0/3
set interface state GigabitEthernet10/0/3 down

View File

@@ -1,7 +0,0 @@
comment { Create one LinuxCP Interface Pair for each phy }
lcp create loop0 host-if loop0
lcp create GigabitEthernet10/0/0 host-if e0
lcp create GigabitEthernet10/0/1 host-if e1
lcp create GigabitEthernet10/0/2 host-if e2
lcp create GigabitEthernet10/0/3 host-if e3

View File

@@ -1,6 +0,0 @@
comment { Create a loopback interface }
create loopback interface instance 0
set interface state loop0 up
set interface ip address loop0 192.168.10.3/32
set interface ip address loop0 2001:678:d78:200::3/128

View File

@@ -1,2 +0,0 @@
mpls table add 0
set interface mpls GigabitEthernet10/0/0 enable

View File

@@ -0,0 +1,2 @@
set sr encaps source addr 2001:678:d78:200::3
sr localsid address 2001:678:d78:20f::3:0 behavior end

View File

@@ -0,0 +1 @@
comment { This file is autogenerated from /etc/vpp/vppcfg.yaml at boot time }

View File

@@ -0,0 +1,30 @@
loopbacks:
loop0:
description: 'Core: vpp0-3'
mtu: 9000
lcp: loop0
addresses: [ 192.168.10.3/32, 2001:678:d78:200::3/128 ]
interfaces:
GigabitEthernet10/0/0:
description: 'Gi10/0/0 is connected to vpp0-2:Gi10/0/1'
addresses: [ 192.168.10.11/31, 2001:678:d78:201::3:03/112 ]
mpls: true
lcp: e0
mtu: 9000
sflow: true
GigabitEthernet10/0/1:
description: 'Gi10/0/1 is free to use'
state: down
lcp: e1
mtu: 9000
sflow: true
GigabitEthernet10/0/2:
description: 'Gi10/0/2 is connected to host0-0:enp16s0f3'
lcp: e2
mtu: 9000
sflow: true
GigabitEthernet10/0/3:
description: 'Gi10/0/3 is connected to host0-1:enp16s0f3'
lcp: e3
mtu: 9000
sflow: true

View File

@@ -0,0 +1,19 @@
[Unit]
Description=vector packet processing engine
After=network.target
[Service]
Type=simple
ExecStartPre=-/sbin/modprobe uio_pci_generic
ExecStartPre=-/usr/local/bin/vppcfg plan --novpp -c /etc/vpp/vppcfg.yaml -o /etc/vpp/config/vppcfg.vpp
ExecStart=/usr/bin/vpp -c /etc/vpp/startup.conf
ExecStopPost=/bin/rm -f /dev/shm/db /dev/shm/global_vm /dev/shm/vpe-api
Restart=always
# Uncomment the following line to enable VPP coredumps on crash
# You still need to configure the rest of the system to collect them, see
# https://fdio-vpp.readthedocs.io/en/latest/troubleshooting/reportingissues/reportingissues.html#core-files
# for details
#LimitCORE=infinity
[Install]
WantedBy=multi-user.target

View File

@@ -4,4 +4,9 @@ echo " * Disabling FRR"
for i in frr; do
rm -f /etc/systemd/system/multi-user.target.wants/${i}.service
ln -sf /dev/null /etc/systemd/system/${i}.service
done
echo " * Enabling Bird"
for i in bird-dataplane; do
ln -sf /lib/systemd/system/${i}.service /etc/systemd/system/multi-user.target.wants/${i}.service
done

View File

@@ -21,30 +21,7 @@
<apic/>
<vmport state='off'/>
</features>
<cpu mode='custom' match='exact' check='full'>
<model fallback='forbid'>SandyBridge-IBRS</model>
<vendor>Intel</vendor>
<feature policy='require' name='vme'/>
<feature policy='require' name='ss'/>
<feature policy='require' name='vmx'/>
<feature policy='require' name='pdcm'/>
<feature policy='require' name='pcid'/>
<feature policy='require' name='hypervisor'/>
<feature policy='require' name='arat'/>
<feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='umip'/>
<feature policy='require' name='md-clear'/>
<feature policy='require' name='stibp'/>
<feature policy='require' name='arch-capabilities'/>
<feature policy='require' name='ssbd'/>
<feature policy='require' name='xsaveopt'/>
<feature policy='require' name='pdpe1gb'/>
<feature policy='require' name='ibpb'/>
<feature policy='require' name='amd-stibp'/>
<feature policy='require' name='amd-ssbd'/>
<feature policy='require' name='skip-l1dfl-vmentry'/>
<feature policy='require' name='pschange-mc-no'/>
</cpu>
<cpu mode='host-passthrough'/>
<clock offset='utc'>
<timer name='rtc' tickpolicy='catchup'/>
<timer name='pit' tickpolicy='delay'/>

View File

@@ -0,0 +1,5 @@
#!/bin/sh
for port in 0 1 2 3; do
ip link set enp16s0f${port} up mtu 1500 alias "vpp1-${port}:Gi10/0/2"
done

View File

@@ -4,4 +4,4 @@ echo " * Disabling VPP, Bird and FRR"
for i in vpp vppcfg bird-dataplane frr; do
rm -f /etc/systemd/system/multi-user.target.wants/${i}.service
ln -sf /dev/null /etc/systemd/system/${i}.service
done
done

View File

@@ -21,30 +21,7 @@
<apic/>
<vmport state='off'/>
</features>
<cpu mode='custom' match='exact' check='full'>
<model fallback='forbid'>SandyBridge-IBRS</model>
<vendor>Intel</vendor>
<feature policy='require' name='vme'/>
<feature policy='require' name='ss'/>
<feature policy='require' name='vmx'/>
<feature policy='require' name='pdcm'/>
<feature policy='require' name='pcid'/>
<feature policy='require' name='hypervisor'/>
<feature policy='require' name='arat'/>
<feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='umip'/>
<feature policy='require' name='md-clear'/>
<feature policy='require' name='stibp'/>
<feature policy='require' name='arch-capabilities'/>
<feature policy='require' name='ssbd'/>
<feature policy='require' name='xsaveopt'/>
<feature policy='require' name='pdpe1gb'/>
<feature policy='require' name='ibpb'/>
<feature policy='require' name='amd-stibp'/>
<feature policy='require' name='amd-ssbd'/>
<feature policy='require' name='skip-l1dfl-vmentry'/>
<feature policy='require' name='pschange-mc-no'/>
</cpu>
<cpu mode='host-passthrough'/>
<clock offset='utc'>
<timer name='rtc' tickpolicy='catchup'/>
<timer name='pit' tickpolicy='delay'/>

View File

@@ -0,0 +1,5 @@
#!/bin/sh
for port in 0 1 2 3; do
ip link set enp16s0f${port} up mtu 1500 alias "vpp1-${port}:Gi10/0/3"
done

View File

@@ -4,4 +4,4 @@ echo " * Disabling VPP, Bird and FRR"
for i in vpp vppcfg bird-dataplane frr; do
rm -f /etc/systemd/system/multi-user.target.wants/${i}.service
ln -sf /dev/null /etc/systemd/system/${i}.service
done
done

View File

@@ -21,30 +21,7 @@
<apic/>
<vmport state='off'/>
</features>
<cpu mode='custom' match='exact' check='full'>
<model fallback='forbid'>SandyBridge-IBRS</model>
<vendor>Intel</vendor>
<feature policy='require' name='vme'/>
<feature policy='require' name='ss'/>
<feature policy='require' name='vmx'/>
<feature policy='require' name='pdcm'/>
<feature policy='require' name='pcid'/>
<feature policy='require' name='hypervisor'/>
<feature policy='require' name='arat'/>
<feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='umip'/>
<feature policy='require' name='md-clear'/>
<feature policy='require' name='stibp'/>
<feature policy='require' name='arch-capabilities'/>
<feature policy='require' name='ssbd'/>
<feature policy='require' name='xsaveopt'/>
<feature policy='require' name='pdpe1gb'/>
<feature policy='require' name='ibpb'/>
<feature policy='require' name='amd-stibp'/>
<feature policy='require' name='amd-ssbd'/>
<feature policy='require' name='skip-l1dfl-vmentry'/>
<feature policy='require' name='pschange-mc-no'/>
</cpu>
<cpu mode='host-passthrough'/>
<clock offset='utc'>
<timer name='rtc' tickpolicy='catchup'/>
<timer name='pit' tickpolicy='delay'/>

View File

@@ -4,4 +4,4 @@ echo " * Disabling VPP, Bird and FRR"
for i in vpp vppcfg bird-dataplane frr; do
rm -f /etc/systemd/system/multi-user.target.wants/${i}.service
ln -sf /dev/null /etc/systemd/system/${i}.service
done
done

View File

@@ -21,30 +21,7 @@
<apic/>
<vmport state='off'/>
</features>
<cpu mode='custom' match='exact' check='full'>
<model fallback='forbid'>SandyBridge-IBRS</model>
<vendor>Intel</vendor>
<feature policy='require' name='vme'/>
<feature policy='require' name='ss'/>
<feature policy='require' name='vmx'/>
<feature policy='require' name='pdcm'/>
<feature policy='require' name='pcid'/>
<feature policy='require' name='hypervisor'/>
<feature policy='require' name='arat'/>
<feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='umip'/>
<feature policy='require' name='md-clear'/>
<feature policy='require' name='stibp'/>
<feature policy='require' name='arch-capabilities'/>
<feature policy='require' name='ssbd'/>
<feature policy='require' name='xsaveopt'/>
<feature policy='require' name='pdpe1gb'/>
<feature policy='require' name='ibpb'/>
<feature policy='require' name='amd-stibp'/>
<feature policy='require' name='amd-ssbd'/>
<feature policy='require' name='skip-l1dfl-vmentry'/>
<feature policy='require' name='pschange-mc-no'/>
</cpu>
<cpu mode='host-passthrough'/>
<clock offset='utc'>
<timer name='rtc' tickpolicy='catchup'/>
<timer name='pit' tickpolicy='delay'/>

View File

@@ -17,4 +17,5 @@ protocol kernel kernel6 {
include "core/static.conf";
include "core/bfd.conf";
include "core/ospf.conf";
# include "core/babel.conf";
include "manual.conf";

View File

@@ -0,0 +1,13 @@
protocol babel {
interface "e0", "e1" {
type wired;
extended next hop on;
rtt cost 1000;
rtt min 5ms;
rtt max 30ms;
authentication mac permissive;
password "IPng loves bird";
};
ipv6 { import all; export all; };
ipv4 { import all; export all; };
}

View File

@@ -1,21 +1,17 @@
protocol ospf v2 ospf4 {
ipv4 { export where (source = RTS_DEVICE || source = RTS_STATIC); import all; };
ipv4 { export where net ~ [ 192.168.11.0/24+, 0.0.0.0/0 ]; import where net ~ [ 192.168.11.0/24+, 0.0.0.0/0 ]; };
area 0 {
interface "loop0" { stub yes; };
interface "e0" { type pointopoint; cost 5; bfd off; };
interface "e1" { type pointopoint; cost 5; bfd off; };
interface "e2" { type pointopoint; cost 5; bfd off; };
interface "e3" { type pointopoint; cost 5; bfd off; };
};
}
protocol ospf v3 ospf6 {
ipv6 { export where (source = RTS_DEVICE || source = RTS_STATIC); import all; };
ipv6 { export where net ~ [ 2001:678:d78:210::/60+, ::/0 ]; import where net ~ [ 2001:678:d78:210::/60+, ::/0]; };
area 0 {
interface "loop0" { stub yes; };
interface "e0" { type pointopoint; cost 5; bfd off; };
interface "e1" { type pointopoint; cost 5; bfd off; };
interface "e2" { type pointopoint; cost 5; bfd off; };
interface "e3" { type pointopoint; cost 5; bfd off; };
};
}

View File

@@ -1,15 +1,12 @@
protocol static static4 {
ipv4 { export all; };
# route 192.0.2.0/24 via 10.0.0.1;
route 192.168.11.0/24 unreachable;
route 0.0.0.0/0 via 192.168.11.4;
# route 192.0.2.0/24 via 10.0.0.1;
}
protocol static static6 {
ipv6 { export all; };
# route 2001:db8:cafe::/48 via 2001:db8::1;;
route 2001:678:d78:210::/60 unreachable;
route ::/0 via 2001:678:d78:211::ffff;
route 2001:678:d78:21f::/112 unreachable;
# route 2001:db8:cafe::/48 via 2001:db8::1;
}

View File

@@ -1,11 +1,5 @@
comment { Apply system defaults from the build }
exec /etc/vpp/config/defaults.vpp
exec /etc/vpp/config/loopback.vpp
exec /etc/vpp/config/interface.vpp
exec /etc/vpp/config/lcp.vpp
exec /etc/vpp/config/mpls.vpp
comment { exec /etc/vpp/config/flowprobe.vpp }
comment { Allow user to set persistent manual configs }
exec /etc/vpp/config/manual.vpp
exec /etc/vpp/config/manual-pre.vpp
exec /etc/vpp/config/vppcfg.vpp
exec /etc/vpp/config/srv6.vpp
exec /etc/vpp/config/manual-post.vpp

View File

@@ -3,3 +3,4 @@ lcp default netns dataplane
lcp lcp-sync on
lcp lcp-auto-subint off
mpls table add 0

View File

@@ -1,10 +0,0 @@
comment { Generate full IPFIX stats, send them to lab.ipng.ch }
set ipfix exporter collector 194.1.163.86 src 192.168.11.0 port 4739 path-mtu 1450 template-interval 30
flowprobe params record l2 l3 l4 active 10 passive 60
flowprobe feature add-del GigabitEthernet10/0/0 l2 both
flowprobe feature add-del GigabitEthernet10/0/1 l2 both
flowprobe feature add-del GigabitEthernet10/0/2 l2 both
flowprobe feature add-del GigabitEthernet10/0/3 l2 both

View File

@@ -1,24 +0,0 @@
comment { Gi10/0/0 is connected to lab.ipng.ch:lab1 }
set interface mtu 9000 GigabitEthernet10/0/0
set interface mtu packet 9000 GigabitEthernet10/0/0
set interface ip address GigabitEthernet10/0/0 2001:678:d78:211::0:fffe/112
set interface ip address GigabitEthernet10/0/0 192.168.11.5/31
set interface state GigabitEthernet10/0/0 up
comment { Gi10/0/1 is connected to vpp1-1:Gi10/0/0 }
set interface mtu 9000 GigabitEthernet10/0/1
set interface mtu packet 9000 GigabitEthernet10/0/1
set interface ip address GigabitEthernet10/0/1 2001:678:d78:211::1:10/112
set interface ip address GigabitEthernet10/0/1 192.168.11.6/31
set interface state GigabitEthernet10/0/1 up
comment { Gi10/0/2 is free to use }
set interface mtu 9000 GigabitEthernet10/0/2
set interface mtu packet 9000 GigabitEthernet10/0/2
set interface state GigabitEthernet10/0/2 down
comment { Gi10/0/3 is free to use }
set interface mtu 9000 GigabitEthernet10/0/3
set interface mtu packet 9000 GigabitEthernet10/0/3
set interface state GigabitEthernet10/0/3 down

Some files were not shown because too many files have changed in this diff Show More