| Age | Commit message (Collapse) | Author |
|
New CLI for static and dynamic NAT:
```
set vpp nat44 interface outside <interface> # multi
set vpp nat44 interface inside <interface> # multi
set vpp nat44 address-pool translation interface <interface> # multi
set vpp nat44 address-pool translation address <address> # multi
set vpp nat44 address-pool twice-nat interface <interface> # multi
set vpp nat44 address-pool twice-nat address <address> # multi
set vpp nat44 static rule <rule> external address <address>
set vpp nat44 static rule <rule> external port <port>
set vpp nat44 static rule <rule> local address <address>
set vpp nat44 static rule <rule> local port <port>
set vpp nat44 static rule <rule> protocol <protocol>
set vpp nat44 static rule <rule> options twice-nat
set vpp nat44 static rule <rule> options self-twice-nat
set vpp nat44 static rule <rule> options out-to-in-only
set vpp nat44 static rule <rule> options twice-nat-address <address>
set vpp nat44 exclude rule <rule> protocol <protocol>
set vpp nat44 exclude rule <rule> local-port <port>
set vpp nat44 exclude rule <rule> local-address <address>
set vpp nat44 exclude rule <rule> external-interface <interface>
```
Settings:
```
set vpp settings nat44 session-limit <limit> # default 64512
set vpp settings nat44 timeout udp <sec> # default 300
set vpp settings nat44 timeout tcp-established <sec> # default 7440
set vpp settings nat44 timeout tcp-transitory <sec> # default 240
set vpp settings nat44 timeout icmp <sec> # default 60
set vpp settings nat44 workers <list>
set vpp settings nat44 no-forwarding
```
|
|
New CLI
```
set vpp nat44 static rule 10 outside-interface 'eth0'
set vpp nat44 static rule 10 inside-interface 'eth1'
set vpp nat44 static rule 10 external address 192.168.122.10
set vpp nat44 static rule 10 external port 6545 # optional
set vpp nat44 static rule 10 protocol tcp|udp|icmp|all # optional, defaults to "all"
set vpp nat44 static rule 10 local address 100.64.0.10
set vpp nat44 static rule 10 local port 64010 # optional
```
|
|
* T7283: VPP add static NAT support
Add static mapping NAT implementation
```
set vpp nat44 static rule 10 outbound-interface 'eth0'
set vpp nat44 static rule 10 inbound-interface 'eth1'
set vpp nat44 static rule 10 destination address 192.168.122.10 # optional, if not set outbound interface ip address is used
set vpp nat44 static rule 10 destination port 6545 # optional
set vpp nat44 static rule 10 protocol tcp|udp|icmp|all # optional, defaults to "all"
set vpp nat44 static rule 10 translation address 100.64.0.10
set vpp nat44 static rule 10 translation port 64010 # optional
```
* Improve help strings (Daniil Baturin)
---------
Co-authored-by: Daniil Baturin <daniil@baturin.org>
|
|
T7189: VPP source of the tunnel interface should be checked and configured
|
|
T7181: VPP add initial source NAT implentation
|
|
Changed priority for VPP interfaces: all VPP interfaces must be configured after Ethernet interfaces
|
|
T7200: Reduce memory size usage for vpp smoke tests
|
|
Allow to bridge bonding interfaces:
```
set vpp interfaces bonding bond0 member interface 'eth1'
set vpp interfaces bridge br10 member interface bond0
```
|
|
add more memory validation
|
|
Allow to configure VPP loopback interface as BVI interface
In the VPP a bridge-domain is the L2 bridge and does not have
its own interface
Loopback is required if we want to ping from/to the bridge.
```
set vpp interfaces bridge br10 member interface lo23 bvi
```
|
|
T7073: Verify VPP buffers page size
|
|
T7077: Verify VPP memory default-hugepage-size
T7079: Verify VPP memory main-heap-page-size
T7080: Verify VPP statseg page-size
get available hugepage sizes
align memory main-heap-size by page size
validate host_resources max_map_count
|
|
T7074: VPP add check for interface RX mode changes
|
|
Add initial source NAT implementation
```
set vpp nat44 source inbound-interface 'eth2'
set vpp nat44 source outbound-interface 'eth1'
set vpp nat44 source translation address '192.0.2.1-192.0.2.2'
```
Add initial simple implementation of the source NAT
In the future, we'll extend it to the rules if it is possible to do
via VPP API
|
|
T7168: Add IPsec XFRM netlink plugin and CLI
|
|
Add linux-xfrm-nl plugin
Add configuration commands for VPP IPsec
```
set vpp settings ipsec interface-type 'ipsec'
set vpp settings ipsec netlink batch-delay-ms '250'
set vpp settings ipsec netlink batch-size '150'
set vpp settings ipsec netlink rx-buffer-size '1024'
```
|
|
|
|
|
|
T7071: VPP CPU inverted range of corelist-workers has to be verified and not applied
|
|
applied
|
|
|
|
|
|
|
|
|
|
T7066: VPP CPU workers verification
|
|
|
|
This reverts commit 405d3ee7ac909bbf458f522e6539a1f4eacdf7e6.
|
|
|
|
|
|
LCP: enable by default route-no-paths
|
|
|
|
- Only tunnel-type 'teb' (L2 Transparent Ethernet Bridge) is allowed
to brdige with other itnerfaces.
- Only one multipoint GRE tunnel is allowed from the same source
address. Do this check from the main vpp file as it has the full
vpp config dictionary.
|
|
Add ability to configure multipoint mode.
Remote IP address in this case has to be 0.0.0.0
Only one tunnel with the same source IP is allowed in the
point-to-multipoint mode
set vpp interfaces gre gre0 mode 'point-to-multipoint'
set vpp interfaces gre gre0 remote '0.0.0.0'
set vpp interfaces gre gre0 source-address '192.0.2.1'
|
|
Add tunnel type
- erspan
- l3
- teb (Transparent Ethernet Bridge)
By default L3 GRE interfaces cannot be bridged to a bridge interface.
Add the ability to change tunnel type.
set vpp interfaces gre gre2 tunnel-type 'teb'
|
|
By default VPP creates interface via API with the 'down' state.
Add methods to set interface state UP/DOWN.
It probably should reuse the common Class in the future.
We do not have classes for interface (vpp) state settings.
|
|
|
|
Introduce a delay to address instability in the VPP API, which may
fail to create the LCP or establish a connection.
This should be reviewed and resolved in future releases.
This fixes confgurations with included kernel-itnerface (LCP)
And all smoketests
Example:
set interfaces ethernet eth1 address '192.0.2.1/30'
set vpp settings interface eth1 driver 'dpdk'
set vpp interfaces vxlan vxlan10 remote '192.0.2.2'
set vpp interfaces vxlan vxlan10 source-address '192.0.2.1'
set vpp interfaces vxlan vxlan10 vni '10'
set vpp interfaces vxlan vxlan10 kernel-interface 'vpptap10'
Without this delay we get:
vyos@r14# commit
[ vpp interfaces vxlan vxlan10 ]
Traceback (most recent call last):
File "/usr/libexec/vyos/services/vyos-configd", line 139, in run_script
script.apply(c)
File "/usr/libexec/vyos//conf_mode/vpp_interfaces_vxlan.py", line 174, in apply
i.kernel_add()
File "/usr/lib/python3/dist-packages/vyos/vpp/interface/vxlan.py", line 85, in kernel_add
self.vpp.lcp_pair_add(self.ifname, self.kernel_interface)
File "/usr/lib/python3/dist-packages/vyos/vpp/control_vpp.py", line 79, in check_retval_wrapper
return_value = decorated_func(cls, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/vyos/vpp/control_vpp.py", line 58, in api_safe_wrapper
return decorated_func(cls, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/vyos/vpp/control_vpp.py", line 188, in lcp_pair_add
return self.__vpp_api_client.api.lcp_itf_pair_add_del_v2(**api_call_args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/vpp_papi/vpp_papi.py", line 129, in __call__
return self._func(**kwargs)
^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/vpp_papi/vpp_papi.py", line 564, in f
return self._call_vpp(i, msg, multipart, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/vpp_papi/vpp_papi.py", line 853, in _call_vpp
raise VPPIOError(2, "VPP API client: read failed")
vpp_papi.vpp_papi.VPPIOError: [Errno 2] VPP API client: read failed
|
|
Do not use 'recursive_defaults' as argument of the funciton get_config()
It cause vyos-1x/src/tests/test_configd_inspect.py signature checks fail
AssertionError: 2 != 1 : 'vpp_interfaces_bonding.py': 'get_config' incorrect signature
|
|
|