summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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-27Merge pull request #2051 from sever-sever/T5304Christian Breunig
T5304: Container add volume bind propagation option
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-27T5304: Container add volume bind propagation optionViacheslav Hletenko
set container name c1 volume myvlm propagation rshared
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-26vrrp: T5315: fix completion helperChristian Breunig
2023-06-26vrrp: T5315: add support to explicitly specify versionChristian Breunig
set high-availability vrrp group <name> version 2|3
2023-06-25bcast-relay: T5313: verify() relay interfaces have IPv4 address configuredChristian Breunig
2023-06-24tacacs: T141: check upper bound on dynamically allocated user accountsJohn Estabrook
Check upper bound as defined in Debian Policy Manual. Without this check, user 'nobody' will not be available.
2023-06-24smoketest: ssh_send_cmd should be a static methodJohn Estabrook
2023-06-24Merge pull request #2010 from jestabro/revise-config-dictJohn Estabrook
config: T5228: simplify get_config_dict and add argument with_defaults
2023-06-24Merge pull request #2052 from jestabro/revise-interface-dictChristian Breunig
vyos.configdict: T5308: Remove workarounds for incorrect defaults in get_interface_dict
2023-06-24Merge pull request #2053 from JonSanMan/scalable-qosChristian Breunig
T5312: Escape special character
2023-06-23T5312: Escape special characterJon Sanchez
2023-06-22vyos.configverify: T5308: fix typo revealed by tagnode aware defaultsJohn Estabrook
The original implementation of defaults, and workaround required, would leave an entry {'dhcpv6_options': {'pd': {}}} in the interface_dict.
2023-06-22vyos.configdict: T5308: remove T2665 workarounds in get_interface_dictJohn Estabrook
2023-06-22config: T5228: add get_config_defaults options to match get_config_dictJohn Estabrook
For those cases not covered by automatic merging of defaults in get_config_dict(..., with_defaults=True), get_config_defaults should take arguments consistent with those of get_config_dict, for ease of merging results.
2023-06-22config: T5228: add arg with_defaults to get_config_dictJohn Estabrook
2023-06-22config: T5228: use local _dict_merge to avoid circular importJohn Estabrook
2023-06-22xml: T5218: fix error and simplify logic in recursive optionJohn Estabrook
2023-06-22Merge pull request #2038 from c-po/t141-tacacsChristian Breunig
T141: add TACACS support
2023-06-22tacacs: T141: initial implementationChristian Breunig
2023-06-21op-mode: containers: T4585: fix grammar in user messageChristian Breunig
2023-06-21op-mode: remove colour optput from journalctlChristian Breunig
2023-06-21xml: radius: T141: re-use common port building blockChristian Breunig
2023-06-21tacacs: T141: create new UNIX group for aaaChristian Breunig
2023-06-21tacacs: T141: add debian package dependenciesChristian Breunig
2023-06-21smoketest: move SSH login functionality to base classChristian Breunig
2023-06-21tacacs: T141: support calling system-login.py from vyos-router startup scriptChristian Breunig
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