Skip to content

T7697: Merge vyos-vpp repo into vyos-1x #4650

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 126 commits into from
Aug 12, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
126 commits
Select commit Hold shift + click to select a range
d16e2f5
Initial commit
dmbaturin Jan 7, 2025
def342f
Add git actions trigger build and check Python code with ruff
sever-sever Jan 7, 2025
bb4427b
Add vyos-vpp CLI and python3 modules
sever-sever Jan 7, 2025
d7cad8e
Add XML CLI for conf and op-mode
sever-sever Jan 7, 2025
f645dbb
Add patch vyos-1x component version
sever-sever Jan 8, 2025
ea89820
Add patch skip-unittest-during-build-XML
sever-sever Jan 8, 2025
cedfce8
Move component version to conflict-components or dynamic
sever-sever Jan 8, 2025
242de9b
Delete patches/vyos-1x/0001-Add-vpp-component-version.patch
sever-sever Jan 9, 2025
d1d170c
Remove conflict-components
sever-sever Jan 9, 2025
55b846e
Modify patch to build vyos-1x XML
sever-sever Jan 11, 2025
10de7ce
Move VPPContron to interface init
sever-sever Jan 11, 2025
26936a2
Remove recursive_defaults from the get_config arg
sever-sever Jan 11, 2025
bd2ea9f
Use VPPControl for the show class interfaces
sever-sever Jan 11, 2025
1b6e491
vpp: add example of adding vxlan kernel_add
sever-sever Jan 14, 2025
405d3ee
warning: introduce a delay between add() and kernel_add()
sever-sever Jan 15, 2025
00ebda9
Exclude GENEVE interfaces
sever-sever Jan 15, 2025
a89a9c7
bonding: change priority to 304 to avoid prio inversion
sever-sever Jan 15, 2025
53bfe24
bonding: fix remove LCP kernel-interfaces
sever-sever Jan 15, 2025
f1316bb
smoketest: Add check bonding state without VLANs
sever-sever Jan 21, 2025
63bd816
bonding: set interface state up after adding
sever-sever Jan 21, 2025
20ecb6d
GRE: Add tunnel-type erspan, l3 and teb
sever-sever Jan 22, 2025
912128a
Merge pull request #2 from vyos/sever-sever-gre
sever-sever Jan 24, 2025
9425dce
GRE: Add ability to configure multipoint mode
sever-sever Jan 24, 2025
fb81ce5
XML: Add CLI for disable and interface description
sever-sever Jan 24, 2025
1c8e9d5
GRE: Fix verify options for GRE type teb and multipoint
sever-sever Jan 24, 2025
1659d7b
LCP: enable by default route-no-paths
sever-sever Jan 15, 2025
a50a34f
Merge pull request #1 from vyos/sever-sever-lcp
sever-sever Jan 27, 2025
f76e349
Bonding: Use common class for the interface state
sever-sever Jan 27, 2025
9e1c4f7
Add common interface state
sever-sever Jan 27, 2025
485a784
Merge pull request #3 from vyos/sever-sever-if-state
sever-sever Jan 27, 2025
dfda2c7
Use common class for none ethernet interfaces state
sever-sever Jan 27, 2025
5c9d6df
Create CODEOWNERS
sever-sever Jan 28, 2025
2d5462f
Use lcp_nl_resync instead of lcp_resync for control_vpp.py
sever-sever Jan 29, 2025
f5aaef3
Revert "warning: introduce a delay between add() and kernel_add()"
sever-sever Jan 29, 2025
31e52fc
smoketest: fix delete bonding before checking bond delete iface
sever-sever Jan 30, 2025
57490fa
T7076: VPP add check for interface to xml
natali-rs1985 Jan 28, 2025
ecf1ab1
Set priority 308 for kernet-interfaces
sever-sever Jan 31, 2025
ae9431c
Move CODEOWNERS ti github dir
sever-sever Jan 31, 2025
3703c54
smoketest: temporary skip bonding tests
sever-sever Feb 1, 2025
dbddd89
smoketest: add vpp config load tests
sever-sever Feb 3, 2025
e5c5d67
T7066: VPP CPU workers should be calculated and verified
natali-rs1985 Jan 28, 2025
71875be
Merge pull request #6 from natali-rs1985/T7076
sever-sever Feb 3, 2025
a649b1a
Merge pull request #5 from natali-rs1985/T7066
sever-sever Feb 3, 2025
a445ecb
T7075: VPP check driver's options before apply
natali-rs1985 Jan 29, 2025
9be3a63
Merge branch 'current' into T7075
natali-rs1985 Feb 4, 2025
2b543c6
Merge pull request #7 from natali-rs1985/T7075
sever-sever Feb 4, 2025
fda4a21
T7069: VPP check for CPU main core
natali-rs1985 Feb 5, 2025
c8d325d
smoketest: T6989: adjust to new syslog CLI syntax
c-po Feb 5, 2025
aa24430
Merge pull request #8 from natali-rs1985/T7069
sever-sever Feb 6, 2025
91db3ec
T7072: VPP CPU skip-cores should be verified
natali-rs1985 Feb 12, 2025
f113370
T7071: VPP CPU inverted range of corelist-workers has to be verified …
natali-rs1985 Feb 12, 2025
6d69a3a
Merge pull request #9 from natali-rs1985/T7072
dmbaturin Feb 12, 2025
6dae0f2
Merge pull request #10 from natali-rs1985/T7071
dmbaturin Feb 12, 2025
81626fb
T7067: VPP CPU corelist-workers should be calculated and verified
natali-rs1985 Feb 14, 2025
c200c1d
T7074: VPP add check for interface RX mode changes
natali-rs1985 Feb 14, 2025
7897f8d
T7168: Add IPsec XFRM netlink plugin and CLI
sever-sever Feb 14, 2025
2c61b18
Merge pull request #12 from natali-rs1985/T7067
sever-sever Feb 17, 2025
dc1247e
vpp: T7068: Add range validation for unix poll-sleep-usec
HollyGurza Feb 14, 2025
774f775
Merge pull request #11 from HollyGurza/T7068
dmbaturin Feb 18, 2025
752b400
Merge pull request #15 from sever-sever/T7168
dmbaturin Feb 18, 2025
13f99be
T7181: VPP add initial source NAT implentation
sever-sever Feb 19, 2025
207ff25
Merge pull request #14 from natali-rs1985/T7074
sever-sever Feb 20, 2025
4abb970
T7073: Verify VPP buffers page size
HollyGurza Feb 20, 2025
4a5b5fc
Merge pull request #17 from HollyGurza/T7073
sever-sever Feb 22, 2025
289370f
smoketest: Add required addresses before setup tunnels
sever-sever Feb 22, 2025
ede2901
smoketest: Add XFRM IPsec test
sever-sever Feb 22, 2025
ecb36ae
skip bonding smoketest as ci stucks on it
sever-sever Feb 24, 2025
05998fd
VD-279: Use common IPv6 naming for CLI
sever-sever Feb 25, 2025
a6047cb
Merge pull request #19 from sever-sever/VD-279
dmbaturin Feb 25, 2025
47a8502
vd-275: Add loopback bvi interface for a bridge member
sever-sever Feb 24, 2025
4337431
T7200: Reduce memory size usage for vpp smoke tests
HollyGurza Feb 26, 2025
f8b0bc6
Merge pull request #18 from sever-sever/VD-275
sever-sever Feb 26, 2025
7a263e0
T7202: VPP allow to bridge bonding interfaces
sever-sever Feb 27, 2025
8e779ca
Merge pull request #22 from sever-sever/T7202
dmbaturin Feb 27, 2025
7de0ab7
Merge pull request #21 from HollyGurza/T7200
sever-sever Feb 28, 2025
877166b
T7189: VPP source of the tunnel interface should be checked and confi…
natali-rs1985 Mar 3, 2025
337837d
Merge pull request #16 from sever-sever/T7181
dmbaturin Mar 18, 2025
af6751e
Merge pull request #23 from natali-rs1985/T7189
dmbaturin Mar 20, 2025
07a3b0f
T7283: VPP add static NAT support (#24)
natali-rs1985 Apr 1, 2025
4d32bcd
T7315: Change CLI fot VPP NAT (#25)
natali-rs1985 Apr 8, 2025
fa29331
T7181: VPP Static and dynamic NAT
natali-rs1985 Apr 23, 2025
f4e02fd
Merge pull request #29 from natali-rs1985/T7181-stati+dynamic
sever-sever Apr 25, 2025
528248a
T7390: VPP CGNAT implementation (#30)
natali-rs1985 May 1, 2025
151afff
T7419: VPP ACL implementation (#31)
natali-rs1985 May 13, 2025
c919f22
T7169: Initialize interfaces after unsuccessful commit
natali-rs1985 May 15, 2025
31beaf5
T7488: Make VPP restartable
natali-rs1985 May 27, 2025
adf968a
T7503: Add VPP smoketest of NAT44 and CGNAT (#35)
sever-sever Jun 3, 2025
983d296
T7515: Fix VPP NAT44 timeouts
natali-rs1985 Jun 5, 2025
beed1b6
Merge pull request #36 from natali-rs1985/T7515
sever-sever Jun 5, 2025
ad65c64
Merge branch 'current' into T7169
natali-rs1985 Jun 9, 2025
c5462ac
Merge pull request #33 from natali-rs1985/T7169
sever-sever Jun 10, 2025
aab8c6f
Merge pull request #34 from natali-rs1985/T7488
sever-sever Jun 12, 2025
516ea43
XDP/Mellanox: T7223: Fixed interfaces initialization
zdc Jun 18, 2025
429563d
Merge pull request #37 from zdc/T7223-current
sever-sever Jun 18, 2025
6eb9357
T7424: Refactor resource validation and broaden cases (#38)
natali-rs1985 Jun 24, 2025
1c94f3a
T7424: Add missing hugepage memory configuration for config load tests
natali-rs1985 Jun 25, 2025
017de51
Merge pull request #40 from natali-rs1985/T7424-fix
sever-sever Jun 25, 2025
6decea8
T7603: Remove default main-heap-page-size
natali-rs1985 Jul 1, 2025
4355983
Merge pull request #41 from natali-rs1985/T7603
sever-sever Jul 1, 2025
1dde94e
T7608: Package build fails with duplicated path 'show vpp interfaces…
natali-rs1985 Jul 3, 2025
ca8ca29
T7579: added workflow for CLA
lemeshovich Jul 4, 2025
50f8d4b
Merge pull request #45 from vyos/cla
c-po Jul 6, 2025
fce4f84
T7611: VPP Rewrite check for CPUs and memory (#44)
natali-rs1985 Jul 8, 2025
5d0f6aa
T7607: Remove "set vpp settings host-resources nr_hugepages <N>" sett…
natali-rs1985 Jul 8, 2025
9961199
T7615: Fix git-action package name to trigger rebuild VPP (#46)
sever-sever Jul 8, 2025
01d43e6
T7618: pr mirror workflow added
Jul 8, 2025
4b46b78
Merge pull request #47 from kumvijaya/current
evgsentrium Jul 9, 2025
e83c4b7
changed a secret passing method
evgsentrium Jul 9, 2025
e725b92
Merge pull request #48 from vyos/cla-fix
sever-sever Jul 9, 2025
6999329
T7613: pr mirror workflow manual run option added
Jul 9, 2025
df29d5e
T7613: pr mirror workflow manual run option added
Jul 9, 2025
44b7401
Merge pull request #49 from kumvijaya/current
sever-sever Jul 10, 2025
cb7336c
T7613: pr mirror workflow manual run option added with closed choice
Jul 10, 2025
959e4df
T7579: fix of the run trigger for CLA
evgsentrium Jul 14, 2025
08ac48b
Merge pull request #51 from vyos/cla
sever-sever Jul 14, 2025
0a3c306
Merge pull request #50 from kumvijaya/current
sever-sever Jul 14, 2025
7fd91e1
T7619: Removed REMOTE_REPO var from mirror workflow
Jul 19, 2025
255306c
Merge pull request #52 from kumvijaya/current
c-po Jul 19, 2025
d37cca0
T7658: T7656: Changes for max-map-count parameter (#53)
natali-rs1985 Jul 24, 2025
5631aed
VPP: T7175: Add sFlow conf mode CLI and startup template (#32)
ServerForge Jul 31, 2025
5da6f4a
T7655: Change VPP memory verification
natali-rs1985 Aug 1, 2025
1550cb9
Merge pull request #55 from natali-rs1985/T7655
sever-sever Aug 6, 2025
9e8b9ee
T7697: Merge remote-tracking branch 'vpp/current' into vyos-1x
sever-sever Aug 7, 2025
6801f0e
T7697: Remove year from copyright
sever-sever Aug 7, 2025
03bf044
T7697: Change import IPRoute compatible with pylint check
sever-sever Aug 8, 2025
1a83bde
T7697: VPP ignore pylint import vpp_api
sever-sever Aug 8, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 69 additions & 0 deletions data/config-mode-dependencies/vyos-vpp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
{
"vpp": {
"ethernet": ["interfaces_ethernet"],
"vpp_interfaces_bonding": ["vpp_interfaces_bonding"],
"vpp_interfaces_bridge": ["vpp_interfaces_bridge"],
"vpp_interfaces_ethernet": ["vpp_interfaces_ethernet"],
"vpp_interfaces_geneve": ["vpp_interfaces_geneve"],
"vpp_interfaces_gre": ["vpp_interfaces_gre"],
"vpp_interfaces_ipip": ["vpp_interfaces_ipip"],
"vpp_interfaces_loopback": ["vpp_interfaces_loopback"],
"vpp_interfaces_vxlan": ["vpp_interfaces_vxlan"],
"vpp_interfaces_xconnect": ["vpp_interfaces_xconnect"],
"vpp_acl": ["vpp_acl"],
"vpp_nat": ["vpp_nat"],
"vpp_nat_cgnat": ["vpp_nat_cgnat"],
"vpp_kernel_interface": ["vpp_kernel-interfaces"],
"vpp_sflow": ["vpp_sflow"]
},
"vpp_interfaces_bonding": {
"vpp_interfaces_xconnect": ["vpp_interfaces_xconnect"],
"vpp_acl": ["vpp_acl"],
"vpp_nat": ["vpp_nat"],
"vpp_nat_cgnat": ["vpp_nat_cgnat"],
"vpp_kernel_interface": ["vpp_kernel-interfaces"]
},
"vpp_interfaces_ethernet": {
"vpp_interfaces_xconnect": ["vpp_interfaces_xconnect"],
"vpp_acl": ["vpp_acl"],
"vpp_nat": ["vpp_nat"],
"vpp_nat_cgnat": ["vpp_nat_cgnat"],
"vpp_kernel_interface": ["vpp_kernel-interfaces"]
},
"vpp_interfaces_geneve": {
"vpp_interfaces_xconnect": ["vpp_interfaces_xconnect"],
"vpp_acl": ["vpp_acl"],
"vpp_nat": ["vpp_nat"],
"vpp_nat_cgnat": ["vpp_nat_cgnat"],
"vpp_kernel_interface": ["vpp_kernel-interfaces"]
},
"vpp_interfaces_gre": {
"vpp_interfaces_xconnect": ["vpp_interfaces_xconnect"],
"vpp_acl": ["vpp_acl"],
"vpp_nat": ["vpp_nat"],
"vpp_nat_cgnat": ["vpp_nat_cgnat"],
"vpp_kernel_interface": ["vpp_kernel-interfaces"]
},
"vpp_interfaces_ipip": {
"vpp_interfaces_xconnect": ["vpp_interfaces_xconnect"],
"vpp_acl": ["vpp_acl"],
"vpp_nat": ["vpp_nat"],
"vpp_nat_cgnat": ["vpp_nat_cgnat"],
"vpp_kernel_interface": ["vpp_kernel-interfaces"]
},
"vpp_interfaces_loopback": {
"vpp_acl": ["vpp_acl"],
"vpp_nat": ["vpp_nat"],
"vpp_nat_cgnat": ["vpp_nat_cgnat"],
"vpp_kernel_interface": ["vpp_kernel-interfaces"]
},
"vpp_interfaces_vxlan": {
"vpp_interfaces_bridge": ["vpp_interfaces_bridge"],
"vpp_interfaces_xconnect": ["vpp_interfaces_xconnect"],
"vpp_acl": ["vpp_acl"],
"vpp_nat": ["vpp_nat"],
"vpp_nat_cgnat": ["vpp_nat_cgnat"],
"vpp_kernel_interface": ["vpp_kernel-interfaces"]
}
}

14 changes: 14 additions & 0 deletions data/templates/vpp/override.conf.j2
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
[Unit]
After=
After=vyos-router.service
ConditionPathExists=
ConditionPathExists=/run/vpp/vpp.conf
OnFailure=vpp-failure-handler.service

[Service]
EnvironmentFile=
ExecStart=
ExecStart=/usr/bin/vpp -c /run/vpp/vpp.conf
WorkingDirectory=
WorkingDirectory=/run/vpp
Restart=no
209 changes: 209 additions & 0 deletions data/templates/vpp/startup.conf.j2
Original file line number Diff line number Diff line change
@@ -0,0 +1,209 @@
# Generated by ${vyos_conf_scripts_dir}/vpp.py

unix {
nodaemon
log /var/log/vpp.log
full-coredump
cli-listen /run/vpp/cli.sock
gid vpp
# exec /etc/vpp/bootstrap.vpp
{% if unix is vyos_defined %}
{% if unix.poll_sleep_usec is vyos_defined %}
poll-sleep-usec {{ unix.poll_sleep_usec }}
{% endif %}
{% endif %}
}

{% if cpu is vyos_defined %}
cpu {
{% if cpu.main_core is vyos_defined %}
main-core {{ cpu.main_core }}
{% endif %}
{% if cpu.corelist_workers is vyos_defined %}
corelist-workers {{ cpu.corelist_workers | join(',') }}
{% endif %}
{% if cpu.skip_cores is vyos_defined %}
skip-cores {{ cpu.skip_cores }}
{% endif %}
{% if cpu.workers is vyos_defined %}
workers {{ cpu.workers }}
{% endif %}
}
{% endif %}

{% if buffers is vyos_defined %}
buffers {
{% if buffers.buffers_per_numa is vyos_defined %}
buffers-per-numa {{ buffers.buffers_per_numa }}
{% endif %}
{% if buffers.data_size is vyos_defined %}
default data-size {{ buffers.data_size }}
{% endif %}
{% if buffers.page_size is vyos_defined %}
page-size {{ buffers.page_size }}
{% endif %}
}
{% endif %}

{% if ipv6 is vyos_defined %}
ip6 {
{% if ipv6.hash_buckets is vyos_defined %}
hash-buckets {{ ipv6.hash_buckets }}
{% endif %}
{% if ipv6.heap_size is vyos_defined %}
heap-size {{ ipv6.heap_size }}
{% endif %}
}
{% endif %}

{% if l2learn is vyos_defined %}
l2learn {
{% if l2learn.limit is vyos_defined %}
limit {{ l2learn.limit }}
{% endif %}
}
{% endif %}

{% if logging is vyos_defined %}
logging {
{% if logging.default_log_level is vyos_defined %}
default-log-level {{ logging.default_log_level }}
default-syslog-log-level {{ logging.default_log_level }}
{% endif %}
}
{% endif %}

{% if physmem is vyos_defined %}
physmem {
{% if physmem.max_size is vyos_defined %}
max-size {{ physmem.max_size }}
{% endif %}
}
{% endif %}

plugins {
path /usr/lib/x86_64-linux-gnu/vpp_plugins/
plugin default { disable }
plugin af_xdp_plugin.so { enable }
plugin avf_plugin.so { enable }
plugin dpdk_plugin.so { enable }
plugin vmxnet3_plugin.so { enable }
plugin lacp_plugin.so { enable }
plugin linux_cp_plugin.so { enable }
plugin linux_nl_plugin.so { enable }
plugin pppoe_plugin.so { enable }
plugin sflow_plugin.so { enable }
# NAT uncomment if needed
# plugin cnat_plugin.so { enable }
plugin nat_plugin.so { enable }
plugin nat44_ei_plugin.so { enable }
plugin det44_plugin.so { enable }
# plugin nat44_ei_plugin.so { enable }
# plugin nat64_plugin.so { enable }
# plugin nat66_plugin.so { enable }
# plugin pnat_plugin.so { enable }
# Tunnels
plugin geneve_plugin.so { enable }
plugin gre_plugin.so { enable }
plugin vxlan_plugin.so { enable }
# Secure
# plugin ikev2_plugin.so { enable }
# plugin dns_plugin.so { enable } # Probably required for FQDN peers
{% if ipsec is vyos_defined %}
plugin crypto_ipsecmb_plugin.so { enable }
plugin crypto_native_plugin.so { enable }
plugin crypto_openssl_plugin.so { enable }
{% endif %}
# plugin wireguard_plugin.so { enable }
# ACL
plugin acl_plugin.so { enable }
}

linux-cp {
lcp-sync
lcp-auto-subint
{% if lcp.ignore_kernel_routes is not vyos_defined %}
route-no-paths
{% endif %}
}

{% if lcp.netlink is vyos_defined %}
linux-nl {
{% if lcp.netlink.rx_buffer_size is vyos_defined %}
nl-rx-buffer-size {{ lcp.netlink.rx_buffer_size }}
{% endif %}
{% if lcp.netlink.batch_size is vyos_defined %}
nl-batch-size {{ lcp.netlink.batch_size }}
{% endif %}
{% if lcp.netlink.batch_delay_ms is vyos_defined %}
nl-batch-delay-ms {{ lcp.netlink.batch_delay_ms }}
{% endif %}
}
{% endif %}

{% if statseg is vyos_defined %}
statseg {
{% if statseg.size is vyos_defined %}
size {{ statseg.size }}
{% endif %}
{% if statseg.page_size is vyos_defined %}
page-size {{ statseg.page_size }}
{% endif %}
}
{% endif %}

{% if memory is vyos_defined %}
memory {
{% if memory.main_heap_size is vyos_defined %}
main-heap-size {{ memory.main_heap_size }}
{% endif %}
{% if memory.main_heap_page_size is vyos_defined %}
main-heap-page-size {{ memory.main_heap_page_size }}
{% endif %}
{% if memory.default_hugepage_size is vyos_defined %}
default-hugepage-size {{ memory.default_hugepage_size }}
{% endif %}
}
{% endif %}

dpdk {
# Whitelist the fake PCI address 0000:00:00.0
# This prevents all devices from being added to VPP-DPDK by default
dev 0000:00:00.0
{% for iface, iface_config in interface.items() %}
{% if iface_config.driver == 'dpdk' %}
dev {{ iface_config.dpdk_options.dev_id }} {
name {{ iface }}
{% if iface_config.dpdk_options.num_rx_desc is vyos_defined %}
num-rx-desc {{ iface_config.dpdk_options.num_rx_desc }}
{% endif %}
{% if iface_config.dpdk_options.num_tx_desc is vyos_defined %}
num-tx-desc {{ iface_config.dpdk_options.num_tx_desc }}
{% endif %}
{% if iface_config.dpdk_options.num_rx_queues is vyos_defined %}
num-rx-queues {{ iface_config.dpdk_options.num_rx_queues }}
{% endif %}
{% if iface_config.dpdk_options.num_tx_queues is vyos_defined %}
num-tx-queues {{ iface_config.dpdk_options.num_tx_queues }}
{% endif %}
}
{% endif %}
{% endfor %}
uio-bind-force
}

{% if ipsec is vyos_defined %}
linux-xfrm-nl {
enable-route-mode-ipsec
interface {{ ipsec.interface_type }}
{% if ipsec.netlink.batch_delay_ms is vyos_defined %}
nl-batch-delay-ms {{ ipsec.netlink.batch_delay_ms }}
{% endif %}
{% if ipsec.netlink.batch_size is vyos_defined %}
nl-batch-size {{ ipsec.netlink.batch_size }}
{% endif %}
{% if ipsec.netlink.rx_buffer_size is vyos_defined %}
nl-rx-buffer-size {{ ipsec.netlink.rx_buffer_size }}
{% endif %}
}
{% endif %}
15 changes: 15 additions & 0 deletions interface-definitions/include/kernel-interface-tap.xml.i
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<!-- include start from kernel-interface-tap.xml.i -->
<leafNode name="kernel-interface">
<properties>
<help>Kernel interface name</help>
<valueHelp>
<format>vpptapN</format>
<description>Kernel interface name</description>
</valueHelp>
<constraint>
<regex>vpptap\d+</regex>
</constraint>
<constraintErrorMessage>Kernel interface must start with vpptapN</constraintErrorMessage>
</properties>
</leafNode>
<!-- include end -->
15 changes: 15 additions & 0 deletions interface-definitions/include/kernel-interface-tun.xml.i
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<!-- include start from kernel-interface-tun.xml.i -->
<leafNode name="kernel-interface">
<properties>
<help>Kernel interface name</help>
<valueHelp>
<format>vpptunN</format>
<description>Kernel interface name</description>
</valueHelp>
<constraint>
<regex>vpptun\d+</regex>
</constraint>
<constraintErrorMessage>Kernel interface must start with vpptunN</constraintErrorMessage>
</properties>
</leafNode>
<!-- include end -->
17 changes: 17 additions & 0 deletions interface-definitions/include/unformat_log2_page_size.xml.i
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<!-- include start from unformat_log2_page_size.xml.i -->
<completionHelp>
<list>default default-hugepage</list>
<script>sudo ${vyos_completion_dir}/list_mem_page_size.py</script>
</completionHelp>
<valueHelp>
<format>default</format>
<description>Default</description>
</valueHelp>
<valueHelp>
<format>default-hugepage</format>
<description>Default huge-page</description>
</valueHelp>
<constraint>
<regex>(default|default-hugepage|4K|8K|1024K|64K|256K|2048K|4096K|16384K|262144K|1048576K|16777216K|1M|2M|4M|16M|256M|1024M|16384M|1G|16G)</regex>
</constraint>
<!-- include end -->
22 changes: 22 additions & 0 deletions interface-definitions/include/unformat_memory_size.xml.i
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<!-- include start from unformat_memory_size.xml.i -->
<valueHelp>
<format>&lt;number&gt;</format>
<description>byte</description>
</valueHelp>
<valueHelp>
<format>&lt;number&gt;K</format>
<description>Kilobyte</description>
</valueHelp>
<valueHelp>
<format>&lt;number&gt;M</format>
<description>Megabyte</description>
</valueHelp>
<valueHelp>
<format>&lt;number&gt;G</format>
<description>Gigabyte</description>
</valueHelp>
<constraint>
<validator name="numeric" argument="--range 0-4294967295"/>
<regex>(\d+|\d+K|\d+M|\d+G)</regex>
</constraint>
<!-- include end -->
3 changes: 3 additions & 0 deletions interface-definitions/include/version/vpp-version.xml.i
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<!-- include start from include/version/vpp-version.xml.i -->
<syntaxVersion component='vpp' version='1'></syntaxVersion>
<!-- include end -->
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<!-- include start from vpp/acl_common_interface_ip_rule.xml.i -->
<tagNode name="acl-tag">
<properties>
<help>ACL rule (tag) number</help>
<valueHelp>
<format>u32</format>
<description>Number</description>
</valueHelp>
<constraint>
<validator name="numeric" argument="--range 1-4294967295"/>
</constraint>
<constraintErrorMessage>Number must be between 1 and 4294967295</constraintErrorMessage>
</properties>
<children>
<leafNode name="tag-name">
<properties>
<help>ACL tag name</help>
<completionHelp>
<path>vpp acl ip tag-name</path>
</completionHelp>
</properties>
</leafNode>
</children>
</tagNode>
<!-- include end -->
Loading
Loading