Move to vppcfg based configs - generate the initial config in vpp.service. Needs 20260406-2
This commit is contained in:
@@ -1,14 +1,6 @@
|
||||
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
|
||||
exec /etc/vpp/config/manual-pre.vpp
|
||||
exec /etc/vpp/config/vppcfg.vpp
|
||||
exec /etc/vpp/config/srv6.vpp
|
||||
exec /etc/vpp/config/sflow.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-post.vpp
|
||||
|
||||
|
||||
@@ -3,4 +3,5 @@ lcp default netns dataplane
|
||||
lcp lcp-sync on
|
||||
lcp lcp-auto-subint off
|
||||
|
||||
mpls table add 0
|
||||
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
comment { Generate full IPFIX stats, send them to lab.ipng.ch }
|
||||
|
||||
set ipfix exporter collector 194.1.163.86 src {{node.loopback.ipv4.split("/")[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
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
{% if node.id == 0 %}
|
||||
comment { Gi10/0/0 is connected to lab.ipng.ch:lab{{lab.id}} }
|
||||
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:2{{lab.id}}1::{{node.id}}:fffe/112
|
||||
set interface ip address GigabitEthernet10/0/0 192.168.{{10+lab.id}}.{{5+2*node.id}}/31
|
||||
set interface state GigabitEthernet10/0/0 up
|
||||
{% else %}
|
||||
comment { Gi10/0/0 is connected to vpp{{lab.id}}-{{node.id-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:2{{lab.id}}1::{{node.id}}:{{lab.id}}{{node.id}}/112
|
||||
set interface ip address GigabitEthernet10/0/0 192.168.{{10+lab.id}}.{{5+2*node.id}}/31
|
||||
set interface state GigabitEthernet10/0/0 up
|
||||
{% endif %}
|
||||
|
||||
{% if node.id < 3 %}
|
||||
comment { Gi10/0/1 is connected to vpp{{lab.id}}-{{node.id+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:2{{lab.id}}1::{{node.id+1}}:{{lab.id}}{{node.id}}/112
|
||||
set interface ip address GigabitEthernet10/0/1 192.168.{{10+lab.id}}.{{6+2*node.id}}/31
|
||||
set interface state GigabitEthernet10/0/1 up
|
||||
{% else %}
|
||||
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
|
||||
{% endif %}
|
||||
|
||||
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
|
||||
|
||||
|
||||
@@ -1,8 +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
|
||||
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
comment { Create a loopback interface }
|
||||
create loopback interface instance 0
|
||||
set interface state loop0 up
|
||||
set interface ip address loop0 {{ node.loopback.ipv4 }}
|
||||
set interface ip address loop0 {{ node.loopback.ipv6 }}
|
||||
|
||||
3
overlays/_common/vpp/etc/vpp/config/manual-pre.vpp.j2
Normal file
3
overlays/_common/vpp/etc/vpp/config/manual-pre.vpp.j2
Normal file
@@ -0,0 +1,3 @@
|
||||
comment { Put any config for {{ node.hostname }} you'd like here. }
|
||||
comment { It will persist across restarts of VPP and reboots of the VM. }
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
mpls table add 0
|
||||
{% if node.id > 0 %}
|
||||
set interface mpls GigabitEthernet10/0/0 enable
|
||||
{% endif %}
|
||||
{% if node.id < 3 %}
|
||||
set interface mpls GigabitEthernet10/0/1 enable
|
||||
{% endif %}
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
sflow header-bytes 128
|
||||
sflow sampling-rate 100
|
||||
sflow polling-interval 10
|
||||
|
||||
{% for i in range(4) %}
|
||||
sflow enable GigabitEthernet10/0/{{ i }}
|
||||
{% endfor %}
|
||||
|
||||
1
overlays/_common/vpp/etc/vpp/config/vppcfg.vpp
Normal file
1
overlays/_common/vpp/etc/vpp/config/vppcfg.vpp
Normal file
@@ -0,0 +1 @@
|
||||
comment { This file is autogenerated from /etc/vpp/vppcfg.yaml at boot time }
|
||||
42
overlays/_common/vpp/etc/vpp/vppcfg.yaml.j2
Normal file
42
overlays/_common/vpp/etc/vpp/vppcfg.yaml.j2
Normal file
@@ -0,0 +1,42 @@
|
||||
loopbacks:
|
||||
loop0:
|
||||
description: 'Core: vpp{{lab.id}}-{{node.id}}'
|
||||
mtu: 9000
|
||||
lcp: loop0
|
||||
addresses: [ {{node.loopback.ipv4}}, {{node.loopback.ipv6}} ]
|
||||
interfaces:
|
||||
GigabitEthernet10/0/0:
|
||||
{% if node.id == 0 %}
|
||||
description: 'Gi10/0/0 is connected to lab.ipng.ch:lab{{lab.id}}'
|
||||
addresses: [ 192.168.{{10+lab.id}}.{{5+2*node.id}}/31, 2001:678:d78:2{{lab.id}}1::fffe/112 ]
|
||||
{% else %}
|
||||
description: 'Gi10/0/0 is connected to vpp{{lab.id}}-{{node.id-1}}:Gi10/0/1'
|
||||
addresses: [ 192.168.{{10+lab.id}}.{{5+2*node.id}}/31, 2001:678:d78:2{{lab.id}}1::{{node.id}}:{{lab.id}}{{node.id}}/112 ]
|
||||
mpls: true
|
||||
{% endif %}
|
||||
lcp: e0
|
||||
mtu: 9000
|
||||
sflow: true
|
||||
GigabitEthernet10/0/1:
|
||||
{% if node.id < 3 %}
|
||||
description: 'Gi10/0/1 is connected to vpp{{lab.id}}-{{node.id+1}}:Gi10/0/0'
|
||||
addresses: [ 192.168.{{10+lab.id}}.{{6+2*node.id}}/31, 2001:678:d78:2{{lab.id}}1::{{node.id+1}}:{{lab.id}}{{node.id}}/112 ]
|
||||
mpls: true
|
||||
{% else %}
|
||||
description: 'Gi10/0/1 is free to use'
|
||||
state: down
|
||||
{% endif %}
|
||||
lcp: e1
|
||||
mtu: 9000
|
||||
sflow: true
|
||||
GigabitEthernet10/0/2:
|
||||
description: 'Gi10/0/2 is connected to host{{lab.id}}-0:enp16s0f{{node.id}}'
|
||||
lcp: e2
|
||||
mtu: 9000
|
||||
sflow: true
|
||||
GigabitEthernet10/0/3:
|
||||
description: 'Gi10/0/3 is connected to host{{lab.id}}-1:enp16s0f{{node.id}}'
|
||||
lcp: e3
|
||||
mtu: 9000
|
||||
sflow: true
|
||||
|
||||
19
overlays/_common/vpp/lib/systemd/system/vpp.service
Normal file
19
overlays/_common/vpp/lib/systemd/system/vpp.service
Normal 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
|
||||
1
overlays/bird/vpp/lib/systemd/system/vpp.service
Symbolic link
1
overlays/bird/vpp/lib/systemd/system/vpp.service
Symbolic link
@@ -0,0 +1 @@
|
||||
../../../../../_common/vpp/lib/systemd/system/vpp.service
|
||||
1
overlays/frr/vpp/lib/systemd/system/vpp.service
Symbolic link
1
overlays/frr/vpp/lib/systemd/system/vpp.service
Symbolic link
@@ -0,0 +1 @@
|
||||
../../../../../_common/vpp/lib/systemd/system/vpp.service
|
||||
Reference in New Issue
Block a user