summaryrefslogtreecommitdiff
path: root/python
AgeCommit message (Collapse)Author
2025-07-08T7607: Remove "set vpp settings host-resources nr_hugepages <N>" setting (#43)Nataliia S.
2025-07-08T7611: VPP Rewrite check for CPUs and memory (#44)Nataliia S.
2025-06-25T7424: Add missing hugepage memory configuration for config load testsNataliia Solomko
2025-06-24T7424: Refactor resource validation and broaden cases (#38)Nataliia S.
* T7424: Refactor and extend resource usage verification on commit for VPP CLI T7424: Fix ruff errors * T7424: Implement check for smoke tests runtime; reduce resource requirements for test environments T7424: Fix errors in calculating the skipped and reserved CPU cores; Adjust default main heap size value. * T7424: Refactor the CPU checks logic; Add total CPU usage check T7424: Fix CPU reserve and skip cores calculations; Add total CPU usage check T7424: Refactor smoketests to reflect new logic * T7424: Refactor the CPU and memory checks logic --------- Co-authored-by: oniko94 <onikolaiev94@outlook.com>
2025-06-18XDP/Mellanox: T7223: Fixed interfaces initializationzdc
For the XDP driver and Mellanox NIC, we create `defunct_*` interfaces to hide original interfaces from CLI, when they are replaced with VPP-enabled pairs. But sometimes IP addresses are not flushed from these `defunct_*` interfaces, which leads to broken routing afterward. This commit introduces an additional flush operation for `defunct_*` interfaces to ensure that they do not conflict with VPP interfaces.
2025-06-05T7515: Fix VPP NAT44 timeoutsNataliia Solomko
2025-05-13T7419: VPP ACL implementation (#31)Nataliia S.
CLI: ``` set vpp acl ip tag-name <tag-name> rule <nn> action <permit|deny|permit-reflect> set vpp acl ip tag-name <tag-name> rule <nn> source prefix <prefix> set vpp acl ip tag-name <tag-name> rule <nn> source port <port|range> set vpp acl ip tag-name <tag-name> rule <nn> destination prefix <prefix> set vpp acl ip tag-name <tag-name> rule <nn> destination port <port> set vpp acl ip tag-name <tag-name> rule <nn> protocol <protocol> set vpp acl ip tag-name <tag-name> rule <nn> tcp-flags <fin|syn|rst|psh|ack|urg|ecn|cwr> set vpp acl ip tag-name <tag-name> rule <nn> tcp-flags not <fin|syn|rst|psh|ack|urg|ecn|cwr> set vpp acl ip interface <interface_name> input acl-tag <n> tag-name <tag-name> set vpp acl ip interface <interface_name> output acl-tag <n> tag-name <tag-name> set vpp acl macip tag-name <tag-name> rule <nn> prefix <prefix> set vpp acl macip tag-name <tag-name> rule <nn> mac-address <mac> set vpp acl macip tag-name <tag-name> rule <nn> mac-mask <mac-mask> set vpp acl macip tag-name <tag-name> rule <nn> action <permit|deny> set vpp acl macip interface <interface_name> tag-name <tag-name> ``` OP mode ``` show vpp acl ip tag-name <tag_name> show vpp acl ip interface show vpp acl macip tag-name <tag_name> show vpp acl macip interface ```
2025-05-01T7390: VPP CGNAT implementation (#30)Nataliia S.
CLI: ``` set vpp nat cgnat interface outside <interface> # multi set vpp nat cgnat interface inside <interface> # multi set vpp nat cgnat rule <rule> outside-prefix <prefix> set vpp nat cgnat rule <rule> inside-prefix <prefix> set vpp nat cgnat timeout udp <sec> # default 300 set vpp nat cgnat timeout tcp-established <sec> # default 7440 set vpp nat cgnat timeout tcp-transitory <sec> # default 240 set vpp nat cgnat timeout icmp <sec> # default 60 ``` OP mode: ``` show vpp nat cgnat interfaces show vpp nat cgnat mappings show vpp nat cgnat sessions clear vpp cgnat inside-address <address> port <port> external-address <address> port <port> ```
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-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-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-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-01-29Use lcp_nl_resync instead of lcp_resync for control_vpp.pyViacheslav Hletenko
Use lcp_nl_resync (available with patch 04) 0004-Improved-lcp-resync.patch It improves sync speed and should fix or smoketest issues related to connecting to VPP API speed
2025-01-27Use common class for none ethernet interfaces stateViacheslav Hletenko
2025-01-27Add common interface stateViacheslav Hletenko
2025-01-27Bonding: Use common class for the interface stateViacheslav Hletenko
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-14vpp: add example of adding vxlan kernel_addViacheslav Hletenko
2025-01-11Use VPPControl for the show class interfacesViacheslav Hletenko
2025-01-11Move VPPContron to interface initViacheslav Hletenko
2025-01-07Add vyos-vpp CLI and python3 modulesViacheslav Hletenko