summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2025-04-25T7181: VPP Static and dynamic NATNataliia Solomko
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 ```
2025-04-08T7315: Change CLI fot VPP NAT (#25)Nataliia S.
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 ```
2025-04-01T7283: VPP add static NAT support (#24)Nataliia S.
* 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>
2025-03-20Merge pull request #23 from natali-rs1985/T7189Daniil Baturin
T7189: VPP source of the tunnel interface should be checked and configured
2025-03-18Merge pull request #16 from sever-sever/T7181Daniil Baturin
T7181: VPP add initial source NAT implentation
2025-03-12T7189: VPP source of the tunnel interface should be checked and configuredNataliia Solomko
Changed priority for VPP interfaces: all VPP interfaces must be configured after Ethernet interfaces
2025-02-28Merge pull request #21 from HollyGurza/T7200Viacheslav Hletenko
T7200: Reduce memory size usage for vpp smoke tests
2025-02-27T7202: VPP allow to bridge bonding interfacesViacheslav Hletenko
Allow to bridge bonding interfaces: ``` set vpp interfaces bonding bond0 member interface 'eth1' set vpp interfaces bridge br10 member interface bond0 ```
2025-02-26T7200: Reduce memory size usage for vpp smoke testskhramshinr
add more memory validation
2025-02-26vd-275: Add loopback bvi interface for a bridge memberViacheslav Hletenko
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 ```
2025-02-22Merge pull request #17 from HollyGurza/T7073Viacheslav Hletenko
T7073: Verify VPP buffers page size
2025-02-21T7073: Verify VPP buffers page sizekhramshinr
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
2025-02-20Merge pull request #14 from natali-rs1985/T7074Viacheslav Hletenko
T7074: VPP add check for interface RX mode changes
2025-02-20T7181: VPP add initial source NAT implentationViacheslav Hletenko
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
2025-02-18Merge pull request #15 from sever-sever/T7168Daniil Baturin
T7168: Add IPsec XFRM netlink plugin and CLI
2025-02-17T7168: Add IPsec XFRM netlink plugin and CLIViacheslav Hletenko
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' ```
2025-02-14T7074: VPP add check for interface RX mode changesNataliia Solomko
2025-02-14T7067: VPP CPU corelist-workers should be calculated and verifiedNataliia Solomko
2025-02-12Merge pull request #10 from natali-rs1985/T7071Daniil Baturin
T7071: VPP CPU inverted range of corelist-workers has to be verified and not applied
2025-02-12T7071: VPP CPU inverted range of corelist-workers has to be verified and not ↵Nataliia Solomko
applied
2025-02-12T7072: VPP CPU skip-cores should be verifiedNataliia Solomko
2025-02-05T7069: VPP check for CPU main coreNataliia Solomko
2025-02-04Merge branch 'current' into T7075Nataliia S.
2025-02-04T7075: VPP check driver's options before applyNataliia Solomko
2025-02-03Merge pull request #5 from natali-rs1985/T7066Viacheslav Hletenko
T7066: VPP CPU workers verification
2025-02-03T7066: VPP CPU workers should be calculated and verifiedNataliia Solomko
2025-01-29Revert "warning: introduce a delay between add() and kernel_add()"Viacheslav Hletenko
This reverts commit 405d3ee7ac909bbf458f522e6539a1f4eacdf7e6.
2025-01-27Use common class for none ethernet interfaces stateViacheslav Hletenko
2025-01-27Bonding: Use common class for the interface stateViacheslav Hletenko
2025-01-27Merge pull request #1 from vyos/sever-sever-lcpViacheslav Hletenko
LCP: enable by default route-no-paths
2025-01-27LCP: enable by default route-no-pathsViacheslav Hletenko
2025-01-24GRE: Fix verify options for GRE type teb and multipointViacheslav Hletenko
- 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.
2025-01-24GRE: Add ability to configure multipoint modeViacheslav Hletenko
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'
2025-01-24GRE: Add tunnel-type erspan, l3 and tebViacheslav Hletenko
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'
2025-01-21bonding: set interface state up after addingViacheslav Hletenko
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.
2025-01-15bonding: fix remove LCP kernel-interfacesViacheslav Hletenko
2025-01-15warning: introduce a delay between add() and kernel_add()Viacheslav Hletenko
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
2025-01-11Remove recursive_defaults from the get_config argViacheslav Hletenko
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
2025-01-07Add vyos-vpp CLI and python3 modulesViacheslav Hletenko