Age | Commit message (Collapse) | Author |
|
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()
|
|
|
|
Rename CLI options local-ip to source-address and remote-ip to remote to
get a consistent CLI experience for the user.
|
|
pppoe: T3353: Modify template for vlan-mon and interface
|
|
|
|
|
|
|
|
vyos.ifconfig: cleanup and tunnel refactoring
|
|
|
|
Streamline the CLI configuration where we try to use remote on other interfaces
like vxlan, geneve.
|
|
Streamline the CLI configuration where we try to use source-address when
creating connections which are especially sourced from a discrete address.
|
|
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.
|
|
A VXLAN tunnel may now get a TTL, TOS, Flowlabel option specified. It is also
possible to disable learning of unknown addresses into the forwarding database.
|
|
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.
|
|
bgp: T3365: Fix frr template for interface remote-as
|
|
|
|
bgp: T3365: Fix remote-as ordering for neighbor
|
|
bgp: T3225: is_addr_assigned should check only ipv4 ipv6 neighbors
|
|
|
|
|
|
Commit 4bf55f97 ("BGP: T2100: Adding RFC8212 option toggle.") added a CLI option
to enable RFC8212 ebgp-requires-policy checks. The extended smoketests assumed
that this will lead to an FRR configuration line of "bgp ebgp-requires-policy" -
which is not the case as this is a default option and FRR hides default
options from the config.
In order to properly verify this functionality we must conduct the negative test
and ensure the option is not present in the CLI at all.
|
|
bgp: T3320: Add checks for peer-group
|
|
|
|
bgp: T2100: Changing RFC8212 behavior and option toggle
|
|
bgp: T3225: Move is_addr_assigned check to neighbor
|
|
|
|
In this commit we add the default operation within BGP
to have RFC8212 disabled for eBGP routes. This default
should preserve the normal behavior for VyOS from earlier
releases of FRR to the current latest release. Another
option that we add is the ability to toggle whether or
not RFC8212 is enabled or disabled.
|
|
bgp: T3225: Checks if neighbor configured as system address
|
|
|
|
|
|
bgp: T3324: Add checks for peer password
|
|
|
|
bgp: T3323: Add verify for ttl-security and ebgp-multihop
|
|
|
|
|
|
|
|
Only missing is the route-map smoketest which tens to become very "heavy"
|
|
|
|
|
|
|
|
|
|
In addition to commit cf1156a60e ("ethernet: T3163: probe driver for maximum
rx/tx ring-buffer size") this extends the logic in a way as not every driver
supports setting the buffers at all so it will properly error out.
When invoking "ethtool -g" both stdout and stderr are captured and no exception
is raised if it's an unsupported driver feature. The verify() section will
inform the user about the illegal operation.
|
|
|
|
|
|
As thought in the beginning the dhcp-interface route option can not be
superseeded by the interface option. When a route is installed for a DHCP
interface, that interface is usually a broadcast interface which can not be
used for plain interface-based routes.
The old Vyatta logic was migrated to Python where the current received
next-hop address from the DHCP interface is installed as next-hop address.
|
|
op-mode: Correct help messages
|
|
|
|
|
|
dhcp-server: T2927: Add empty args if does not possible to determine …
|
|
routing: T3211: Add redistribute protocol IS-IS to bgp ospf rip
|