summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-06-29Merge pull request #8 from zdc/sever-sever_T1797-vppViacheslav Hletenko
VPP: T1797: Optimized interfaces add/remove
2023-06-29VPP: T1797: Optimized interfaces add/removezsdc
- added extra renaming operation to be sure that interface has the same name as before in the system after it was moved from VPP to kernel - added extra check after PCI device removal/adding - added check for proper `retval` for CPI calls where it is available - replaced empty return with an error in `_get_pci_address_by_interface()` because not resolved address will lead to inconsistency of the system later
2023-06-28Merge pull request #7 from zdc/sever-sever_T1797-vppViacheslav Hletenko
VPP: T1797: Improved PCI address search
2023-06-28VPP: T1797: Improved VPP supportzsdc
- added ability to add/remove interfaces without system reboot - added `attempts` and `interval` to the VPP API connection. This is helpful in case of high system load or when VPP was just started and API is not yet available. - added exceptions to API calls. This allows handling errors in communication with API properly in conf-mode scripts. - fixed PCI address search in VPP to match Linux kernel and ethtool style - fixed systemd daemons control - first reload, then restart - removed debug prints - removed `vm.nr_hugepages` configuration. It is not required now but increases RAM requirements a lot.
2023-06-27VPP: T1797: Improved PCI address searchzsdc
Use info from both ethtool and VPP to find PCI address for an interface.
2023-06-27VPP: T1797: Replaced CLI with APIViacheslav Hletenko
2023-06-27VPP: T1797: Replaced CLI with APIzsdc
Replaced CLI commands with API calls. CLI commands still can be used via: ``` vpp_control = VPPControl() vpp_control.cli_cmd('command_here') ```
2023-06-27T1797: Add initial vpp configurationViacheslav Hletenko
Add initial configuration mode for VPP (PoC) set vpp cpu corelist-workers '2' set vpp cpu main-core '1' set vpp interface eth1 num-rx-desc '256' set vpp interface eth1 num-rx-queues '512' set vpp interface eth1 num-tx-desc '256' set vpp interface eth1 num-tx-queues '512' set vpp interface eth1 pci '0000:02:00.0' set vpp interface eth1 rx-mode 'polling' set vpp interface eth2 pci '0000:08:00.0' Limitation: - 'set vpp interface ethX pci auto' works only per first commit, then interface detached from default stack and creates tun interface 'ethX' to communicate with default stack. In this case we can't get PCI address via ethtool for 'tun' interfaces. But we can set pci address manualy. - Interface sync between default stack and VPP-DPDK stack After vpp change it doesn't trigger iproute2 for changes (should be written later) I.e. if we change something in vpp per each commit it restarts vpp.service it gets empty interface config as we don't configure vpp directly and it should be configured via iproute2 But then if we do any change on interface (for example description) it gets IP address, MTU, state, etc.
2023-06-20Merge pull request #2050 from jestabro/check-port-availabilityChristian Breunig
vyos.util: T5300: check_port_availability should return False only on EADDRINUSE
2023-06-20http-api: T5305: configure operations should not be defined asyncJohn Estabrook
2023-06-20vyos.util: T5300: check_port_availability: return False iff EADDRINUSEJohn Estabrook
At boot, the util function check_port_availability can return False with EADDRNOTAVAIL if the interface is not yet up; check explicitly for address in use.
2023-06-20Merge pull request #2049 from cuongdt1994/currentChristian Breunig
T5303: Rsyslog.service is not working
2023-06-20T5303: Rsyslog.service is not workingcuongdt1994
warning: ~ action is deprecated, consider using the 'stop' statement instead [v8.24.0 try http://www.rsyslog.com/e/2307 ]
2023-06-18Merge pull request #2048 from sever-sever/T5071Christian Breunig
T5071: QoS add class match DSCP value
2023-06-18T5071: QoS add class match DSCP valueViacheslav Hletenko
QoS DSCP match is skipped Add it set qos policy shaper test class 23 match 10 ip dscp 'network' tc filter replace dev eth0 parent 1: protocol all u32 match ip dsfield 224 0xff flowid 1:17
2023-06-17Merge pull request #2046 from sever-sever/T5296Christian Breunig
T5296: Fix QoS class bandwidth calculation for auto and percent
2023-06-17Merge pull request #2047 from sever-sever/T5256Christian Breunig
T5256: T5195: Fix QoS match protocol and add vyos.utils.network
2023-06-17T5256: Fix QoS protocol expects protocol number but not nameViacheslav Hletenko
tc filter exepcts protocol number for match instead of protocol name
2023-06-17vyos.utils: T5195: add vyos.utils.networkViacheslav Hletenko
2023-06-17T5296: Fix QoS class bandwidth calculation for auto and percentViacheslav Hletenko
There are wrong bandwidth calculations for the class We shouldn't rely on interface speed but we should get this value from 'shaper <tag> bandwidth xxx' if configured 'auto' or bandwidth with '%' Otherwise we can get unexpected rate for the class % sudo cat /sys/class/net/eth0/speed % -1 generated rate: classid 1:17 htb rate -1000000 Fix this
2023-06-16Merge pull request #2045 from jestabro/is-node-revisedChristian Breunig
config-mgmt: T5297: add check for changes under node between revisions
2023-06-16Merge pull request #2044 from sever-sever/T5295Christian Breunig
T5295: Fix QoS shaper rate limit
2023-06-16config-mgmt: T5297: add check for changes under node between revisionsJohn Estabrook
2023-06-16T5295: Fix QoS shaper rate limitViacheslav Hletenko
Do not handle rate via 'tc filter' directly but rather set the 'tc filter' to direct traffic to the correct tc class flow. As it in 1.3. It fixes random unexpected shapes, when you set for example 300mbit but get 3-11mbit Current implementation seems not correct as it uses rate limits two times (in class and in filter): tc class replace dev eth0 parent 1:1 classid 1:17 htb rate 250000000 \ burst 15k quantum 1514 tc filter replace dev eth0 parent 1: protocol all u32 match \ ip dst 192.168.122.11 action police rate 250000000 burst 15k flowid 1:17 The correct way after fix: tc class replace dev eth0 parent 1:1 classid 1:17 htb rate 250000000 \ burst 15k quantum 1514 tc filter replace dev eth0 parent 1: protocol all u32 match \ ip dst 192.168.122.11 flowid 1:17
2023-06-15Merge pull request #2043 from jestabro/fix-load-sectionViacheslav Hletenko
configsession: T5248: load_section should not set path if dict empty
2023-06-15configsession: T5248: load_section should not set path if dict emptyJohn Estabrook
2023-06-14http-api: T5292: do not include https.py in scripts run by configdJohn Estabrook
2023-06-14Merge pull request #2041 from cuongdt1994/currentChristian Breunig
T5290: Failing commits for SR-IOV interfaces using ixgbevf driver due…
2023-06-14T5290: Failing commits for SR-IOV interfaces using ixgbevf driver due to ↵cuongdt1994
change speed/duplex settings This is the same problem as reported in T4297. By definition it is not possible to change speed and duplex settings at SR-IOV virtual functions driven by ixgbevf driver. I think the solution is the same as well, that is to add 'ixgbevf' into _drivers_without_speed_duplex_flow in /usr/lib/python3/dist-packages/vyos/ethtool.py. It fixed the problem for me with Intel x520 NICs.
2023-06-12Merge pull request #2037 from jestabro/api-config-sectionChristian Breunig
http-api: T5248: set/load config sections as JSON via API
2023-06-12Merge pull request #2040 from nicolas-fort/T5283Christian Breunig
T5283: ipoe-server: add more flexibility in subnet parameter.
2023-06-12Debian: T5286: cleanup dependenciesChristian Breunig
2023-06-12T5286: drop XDP support for ethernet and bonding interfacesChristian Breunig
... this is a step towards a new and better implementation that will utilize VPP.
2023-06-12Merge pull request #2039 from jestabro/poweroffChristian Breunig
T5282: remove systemd management directive for frr.service
2023-06-12T5283: ipoe-server: add more flexibility in subnet parameter.Nicolas Fort
2023-06-12T5282: remove systemd management directive for frr.serviceJohn Estabrook
frr.service startup and shutdown is now explicitly managed by vyos-router, so remove the systemd management directive.
2023-06-10http-api: T5248: add endpoint /configure-sectionJohn Estabrook
2023-06-10configsession: T5248: add functions set/load_sectionJohn Estabrook
2023-06-10vyos.utils: T5248: add util function: dict of list[str]|str -> list of pathsJohn Estabrook
2023-06-10http-api: T5263: add base model for generalizationJohn Estabrook
2023-06-10http-api: T5263: factor out function _configure_op for generalizationJohn Estabrook
2023-06-10http-api: T5263: consistent string formattingJohn Estabrook
2023-06-10http-api: T5263: simplify form errorsJohn Estabrook
2023-06-10http-api: T5263: path validator should provide messageJohn Estabrook
2023-06-10zone-policy: T2199: add VRF completion helper for interfaceChristian Breunig
2023-06-10Merge pull request #2015 from sever-sever/T5231Christian Breunig
T5231: Add op-mode for show reverse-proxy
2023-06-10Merge pull request #2034 from erkin/currentChristian Breunig
T3472: Print warning when commit-confirm is run as regular user
2023-06-10Merge pull request #2035 from indrajitr/ddclient-improvement-round-4Christian Breunig
dns: T5144: Improve dynamic dns monitor and log and miscellaneous updates
2023-06-10dhcpv6-relay: T5277: service does not start on bootJohn
2023-06-09dns: T5144: Explicitly override ddclient global options for reliabilityIndrajit Raychaudhuri
- For option 'web', ddclient defaults to 'dyndns' which doesn't support ssl. This results ddclient process lockup till connection to checkip.dyndns.org:443 times out. - For option 'use', ddclient defaults 'ip'. This results in confusing message "WARNING: '' is not a valid IPv4 or IPv6 address" in log.