| Age | Commit message (Collapse) | Author | 
 | 
A tunnel interface can not properly be sourced from a pppoe0 interface when
such interface is not (yet) connected to the BRAS. It might work on a running
system, but subsequent reboots will fail as the source-interface most likely
does not yet exist.
 | 
 | 
* T5195: move run, cmd, call, rc_cmd helper to vyos.utils.process
* T5195: use read_file and write_file implementation from vyos.utils.file
Changed code automatically using:
find . -type f -not -path '*/\.*' -exec sed -i 's/^from vyos.util import read_file$/from vyos.utils.file import read_file/g' {} +
find . -type f -not -path '*/\.*' -exec sed -i 's/^from vyos.util import write_file$/from vyos.utils.file import write_file/g' {} +
* T5195: move chmod* helpers to vyos.utils.permission
* T5195: use colon_separated_to_dict from vyos.utils.dict
* T5195: move is_systemd_service_* to vyos.utils.process
* T5195: fix boot issues with missing imports
* T5195: move dict_search_* helpers to vyos.utils.dict
* T5195: move network helpers to vyos.utils.network
* T5195: move commit_* helpers to vyos.utils.commit
* T5195: move user I/O helpers to vyos.utils.io
 | 
 | 
Current state of vyos-1x smoketests have hardcoded features to test. The
feature support is inside the base class BasicInterfaceTest
class BasicInterfaceTest:
    class TestCase(VyOSUnitTestSHIM.TestCase):
        _test_dhcp = False
        _test_ip = False
        _test_mtu = False
        _test_vlan = False
        _test_qinq = False
        _test_ipv6 = False
        _test_ipv6_pd = False
        _test_ipv6_dhcpc6 = False
        _test_mirror = False
All derived classes need to enable the tests that are supported on this
interface type. Adding new feature to a given interface (like vif support in
T5237) require manually enabling those tests for the given interface.
It would make much more sense, if we can query the config backend for supported
interface options - or in other words - is there a CLI node available that
corresponds to set interfaces ethernet <name> vif - if that's the case,
_test_vlan = True.
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
(cherry picked from commit c1015d8ce0013719eb898b60b14ffec192b8141c)
 | 
 | 
Set default TTL value for tunnels from 0 to 64
There are a lot of situation when default value 0 (inherit)
not work properly when you have routing configuration for OSPF
or BGP over the tunnels. To fix it you need explicit set TTL
value other then 0. Or hardcode another value as default.
 | 
 | 
This was not possible due to a regression in iproute2 where the erspan_dir key
did not have a value. See [1] for more information.
[1]: https://lore.kernel.org/netdev/3ac544c09842410fb863b332917a03ad@poessinger.com/
 | 
 | 
Instead of having a dedicated ERSPAN interface type, rather move the specifics
into "interface tunnel". A migrator is not needed as there is yet no LTS release
with this feature and this is considered experimental.
 | 
 | 
 | 
 | 
Currently every smoketest does the setup and destruction of the configsession
on its own durin setUp(). This creates a lot of overhead and one configsession
should be re-used during execution of every smoketest script.
In addiion a test that failed will leaf the system in an unconsistent state.
For this reason before the test is executed we will save the running config
to /tmp and the will re-load the config after the test has passed, always
ensuring a clean environment for the next test.
 | 
 | 
 | 
 | 
 | 
 | 
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()
 | 
 | 
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.
 | 
 | 
It does not make sense (at all!) to re-initialize the entire class with every
call to setUp(). We neither change the enabled/disabled tastcases dynamically,
not do we adjust the testinterfaces during a run.
Remove the runtime overhead and place one-time init calls into setUpClass()
instead.
 | 
 | 
The raw key was not copied into the class member variable. Also added a smoketest
to ensure the configured parameters are always set.
 | 
 | 
 | 
 | 
 | 
 | 
With commit ce809eee ("smoketest: mirror: T3169: re-add mirror / SPAN test case")
the setUp() method has been re-organized not taking into account that there will
already be a reference to self.session which will only be created by the base
class.
 | 
 | 
Commit ef629504d4 ("smoketest: mirror: drop testcase") dropped the smoketests
entirely as they have been programmed in a wrong way leading to outages on live
development systems which used dummy interfaces for management traffic.
 | 
 | 
This is for better readability during testruns
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
family
Certain tunnel types require that the local and remote IP is either both IPv4 or
IPv6, add a check which ensures that an error is throws if this is not the case.
 | 
 | 
 | 
 | 
 | 
 | 
vyos-smoketest-integration (T2832)
* 'master' of github.com:vyos/vyos-smoketest: (153 commits)
  pppoe-server: test some more values
  lcd: adjust to cli changes
  lcd: adapt test to new CLI design
  pppoe-server: initial smoketest with local and radius auth
  pppoe: validate dhcpv6 client will be started
  wireless: validate hostapd/wpa_supplicant is running
  pppoe: sync to new dhcpv6-pd cli
  anyconnect: T2812: add basic testing
  ethernet: check interface disable state
  router-advert: check 'infinity' option in script logic
  ssh: config file is now volatile (moved to /run)
  ipv6: link-local: test address assignment on interfaces
  router-advert: add initial test
  mdns-repeater: add basic test
  pseudo-ethernet: extend smoketests with VIFs
  l2tpv3: add initial interface test
  wireless: use library function for loading kernel modules
  ethernet: test "ip" subtree of interface for e.g. ARP settings
  pppoe: use assertEqual()
  service: bcast-relay: add initial tests
  ...
 |