summaryrefslogtreecommitdiff
path: root/python
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-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