summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2021-03-17static: vrf: T3344: add target vrf verify()Christian Poessinger
When leaking routes to a VRF ensure that the VRF we are leaking to exists.
2021-03-17vrf: T31: ignore iproute2 errorsChristian Poessinger
Re-issuing the same iproute2 commands can lead to errors, simply ignore them and not raise a Python exception.
2021-03-17vrf: ospf: T2271: when removing the entire process cleanup all interfacesChristian Poessinger
During assembly of the required config changes we also must move the interfaces_removed assignemnt to an earlier stage so the value is also populated when the entire process is removed to cleanup all remaining OSPF process assigned interfaces. This was yet not the case and when deleting OSPF I still got my "interface eth0" with the area key configured.
2021-03-16configd: T3411: revise redirect to capture stdout from subprocessesJohn Estabrook
2021-03-16configd: T3411: revert to using explicit_print on ConfigErrorJohn Estabrook
2021-03-15Merge pull request #774 from erkin/currentDaniil Baturin
T3354: Add strip-private script in Python
2021-03-15Add shebang line to strip-privateerkin
2021-03-15T3354: Add strip-private script in Pythonerkin
2021-03-14bgp: T3325: fix missleading error message on listen-range verify() stepsChristian Poessinger
2021-03-14Merge pull request #733 from sever-sever/T2425Christian Poessinger
conf-mode: T2425: Add XML for policy-lists
2021-03-14Merge pull request #773 from sever-sever/T3403Christian Poessinger
pppoe: T3403: Fix show sessions interrupt for op-mode
2021-03-14Merge pull request #770 from c-po/vrf-dynamic-routingChristian Poessinger
VRF: support for dynamic routing protocols OSPF and BGP
2021-03-14vyos.util: rename get_json_iface_options() -> get_interface_config()Christian Poessinger
2021-03-14vrf: T3344: move dynamic routing protocols under "vrf name <name> protocols"Christian Poessinger
Instead of having the dynamic routing protocols OSPF and BGP residing under the "protocols vrf <name> [ospf|bgp]" nodes, rather move them directly under the "vrf name <name> protocols [ospf|bgp]" node. Now all VRF related parts are placed under the same root node. This eases the verify steps tremendously, as we do not need to check wheter a VRF eists or not, it will always exist as we operate under a child node.
2021-03-14Merge pull request #772 from jack9603301/T2518Christian Poessinger
nat66: T2518: Modify the command line description of NAT/NAT66
2021-03-14vrf: bgp: T2271: create individual BGP process for specified VRF nameChristian Poessinger
The following VyOS CLI config vrf red { bgp 100 { neighbor 1.1.1.1 { peer-group foo } peer-group foo { passive password bar remote-as 200 } } } Will generaste the FRR configuration: ! router bgp 100 vrf red no bgp ebgp-requires-policy no bgp network import-check neighbor foo peer-group neighbor foo remote-as 200 neighbor foo password bar neighbor foo passive neighbor 1.1.1.1 peer-group foo !
2021-03-14bgp: T2387: add completion helper when specifying a peer-groupChristian Poessinger
2021-03-14vrf: ospf: T2271: create individual OSPF process for specified VRF nameChristian Poessinger
VyOS CLI config: vrf red { ospf { default-information { originate { always } } default-metric 30 passive-interface default } } Will create the FRR configuration snippet: ! router ospf vrf red auto-cost reference-bandwidth 100 timers throttle spf 200 1000 10000 passive-interface default default-metric 30 default-information originate always !
2021-03-14nat66: T2518: Modify the command line description of NAT/NAT66jack9603301
2021-03-13console-server: T3407: can not reuse device used for "system console"Christian Poessinger
A user can specify both "set system console device ttyS0 speed '9600'" and "set service console-server device ttyS0 speed 9600". A serial interface can not be used multiple times. commit now produces an error: vyos@vyos# commit [ service console-server ] Port "ttyS0" requires speed to be set! (cherry picked from commit 7620a8a1d6d20d4bf16e714a9d40b7bdfb133b39)
2021-03-13nat: nat66: T2518: Support operation mode commandjack9603301
2021-03-12pppoe: T3403: Fix show sessions interrupt for op-modesever-sever
2021-03-09Merge pull request #763 from bstepler/T3392Christian Poessinger
dhcp: T3392: fix VRF detection
2021-03-09Merge pull request #762 from jack9603301/T2518Christian Poessinger
nptv6: T2518: Support IPv6 address translation
2021-03-09nptv6: T2518: Support masquerade and cancel new migratorsjack9603301
2021-03-08dhcp: T3392: fix VRF detectionBrandon Stepler
2021-03-08bgp: T3391: migrate old IPv4 only maximum-paths config to new syntaxChristian Poessinger
2021-03-09nptv6: T2518: Support IPv6 address translationjack9603301
2021-03-07Revert "op-mode: T3357: Fix show_interfaces bug with tunnels"Christian Poessinger
This reverts commit e1c993f57efdf91f26a36f1d0339298e63fdf20e.
2021-03-07T3388: "show interfaces" op-mode command lacks PPPoE interfacesChristian Poessinger
Commit e5b335830ef ("vyos.ifconfig: T1579: remove calls to vyos.ifconfig.Interface.get_config()") removed the PPPoEIf class as it seemed to be unused. It turns out it is required by the op-mode commands for e.g. "show interfaces".
2021-03-04grub: T3271: don't write grub.cfg if it hasn't changedBrandon Stepler
2021-03-04Merge pull request #729 from bstepler/T3300Christian Poessinger
dhcp: T3300: add DHCP default route distance
2021-03-04Merge pull request #761 from sever-sever/T3211Christian Poessinger
ospf: T3211: Fix default isis redistribution
2021-03-04ospf: T3211: Fix default isis redistributionsever-sever
2021-03-04tunnel: T3381: fix error when switching from mGRE to GRE modeChristian Poessinger
Linux does not support changing the remote address from any (multipoint GRE as used by DMVPN) to a discrete remote address. THis will return an error: add tunnel "tun1" failed: Invalid argument This can be handled by detecting the mGRE -> GRE change and re-create the tunnel silently.
2021-03-03tunnel: T2966: add ip6gretap encapsulation supportChristian Poessinger
2021-03-02op-mode: T3357: Fix show_interfaces bug with tunnelssever-sever
2021-02-28vyos.util: provide single implementation for get_json_iface_options()Christian Poessinger
There had been four implementations of "ip -d -j link show interface" scattered accross the codebase. Those implementations have now been combined into a new helper: vyos.util.get_json_iface_options()
2021-02-28l2tpv3: T3366: migrate local-ip and remote-ip CLI optionsChristian Poessinger
Rename CLI options local-ip to source-address and remote-ip to remote to get a consistent CLI experience for the user.
2021-02-28validators: fqdn: T3370: support "private" or "local" domain namesChristian Poessinger
2021-02-28Merge pull request #747 from c-po/vxlan-tunnel-parametersChristian Poessinger
vyos.ifconfig: cleanup and tunnel refactoring
2021-02-28tunnel: T3366: rename remote-ip to remoteChristian Poessinger
Streamline the CLI configuration where we try to use remote on other interfaces like vxlan, geneve.
2021-02-28tunnel: T3366: rename local-ip to source-addressChristian Poessinger
Streamline the CLI configuration where we try to use source-address when creating connections which are especially sourced from a discrete address.
2021-02-28tunnel: T3364: rename encapsulation mode "gre-bridge" to "gretap"Christian Poessinger
The following list shows the mapping of VyOS tunnel encapsulation modes to the corresponding Linux modes. VyOS Linux gre gre gre-bridge gretap ipip ipip ipip6 ipip6 ip6ip6 ip6ip6 ip6gre ip6gre sit sit Besides gre-bridge this is pretty consistent. As bridge interfaces are also called tap interfaces gre-bridge will be renamed to gretap to make the post-processing much easier. This means (in detail) that there are no more child classes of _Tunnel and there will be now one geneirc TunnelIf class handling all sorts of encapsulation.
2021-02-28vyos.ifconfig: T1579: remove calls to vyos.ifconfig.Interface.get_config()Christian Poessinger
Interface.get_config() was always a pure helper which exposed a "per interface type" dictionary which was then fed by the caller to create interfaces by iproute2 which required additional options during creation time. Such interfaces had been: * tunnel * vxlan * geneve * macsec * wifi * macvlan / pseudo-ethernet The code was always duplicated to convert from the VyOS CLI based get_config_dict() to a dict which can be used to feed iproute2. This path has been removed and we now always feed in the entire dictionary retrieved by get_config_dict() or in the interfaces case, it's high-level wrapper get_interface_dict() to the interface we wan't to create. This also adds the - personally long awaited - possibility to get rid of the derived tunnel classes for e.g. GRE, IPIP, IPIP6 and so on.
2021-02-27bgp: T3225: is_addr_assigned should check only ipv4 ipv6 neighborssever-sever
2021-02-26bgp: T3320: Add checks for peer-groupsever-sever
2021-02-26bgp: T3225: Move is_addr_assigned check to netighborsever-sever
2021-02-26bgp: T3225: Checks if neighbor configured as system addresssever-sever
2021-02-26bgp: T3324: Add checks for peer passwordsever-sever