Mattias Walström
37f7b5ba92
Add support for reading routing operational data for IPv4
...
In the CLI:
admin@infix-00-00-00:/> show routes
PREFIX DESTINATION PROTOCOL METRIC
1.1.1.0/24 e0 kernel
192.168.100.0/24 1.1.1.1 static 20
192.168.110.2/32 blackhole static 20
192.168.120.2/32 blackhole static 20
192.168.130.2/32 unreachable static 20
2023-11-23 10:30:26 +01:00
Mattias Walström and Joachim Wiberg
2bcc9dbb3a
vlan_ping: add some negative test
...
Test that it works when removing interfaces.
2023-11-17 07:19:28 +01:00
Mattias Walström and Joachim Wiberg
ef740a8abc
test: routing/static_routing: Sleep some to wait FRR startup
...
This should be replaced with reading the operational status.
2023-11-17 07:19:28 +01:00
Mattias Walström and Joachim Wiberg
4ea1a682da
Add test-case for a static routing
2023-11-17 07:19:28 +01:00
Joachim Wiberg
c1fd4506e6
test: validate defconfigs, ensure root login is disabled
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-11-14 10:20:00 +01:00
Richard Alpe and Joachim Wiberg
5b58c60919
test: cli: use random ipv4 addresses in bloated.json
...
Signed-off-by: Richard Alpe <richard@bit42.se >
2023-11-06 20:10:43 +01:00
Richard Alpe and Joachim Wiberg
e1080a5412
test: cli: use random ipv6 addresses in bloated.json
...
Signed-off-by: Richard Alpe <richard@bit42.se >
2023-11-06 20:10:43 +01:00
Richard Alpe and Joachim Wiberg
8d2c3f862a
test: cli: use random mac addresses in bloated.json
2023-11-06 20:10:43 +01:00
Richard Alpe and Joachim Wiberg
429e1463af
cli: add support for printing veth pair
...
They have link set in there json data from ip link show.
Signed-off-by: Richard Alpe <richard@bit42.se >
2023-11-06 20:10:43 +01:00
Richard Alpe and Joachim Wiberg
c0a1c7f259
cli: print iface auto-negotiation in detailed view
...
Print autoneg status as "on" or "off" if the data exists in the
operational datastore.
Signed-off-by: Richard Alpe <richard@bit42.se >
2023-11-06 11:28:53 +01:00
Mattias Walström and Joachim Wiberg
941fc31581
infix-vlan: Create a custom vlan model
...
This implements the new model infix-if-vlan.
The new CLI is:
root@infix-00-00-00:/config/interfaces/interface/vlan10/> set vlan id 10 lower-layer-if eth0
with an possible extra option for tag-type, default tag-type is c-vlan.
2023-10-27 10:53:55 +02:00
Mattias Walström and Joachim Wiberg
d66740250c
confd: Add support for timezone-utc-offset
...
Some deviations has been done the yang model to comply with tzdata
on linux.
This fixes #106
2023-10-20 12:55:02 +02:00
Richard Alpe and Joachim Wiberg
1a3105c06d
cli: pretty print existing Ethernet frame stats
...
Pretty print all Ethernet frame statistics from the operational
datastore. Only in the detailed interface view.
Signed-off-by: Richard Alpe <richard@bit42.se >
2023-10-17 18:17:59 +02:00
Joachim Wiberg
c6fae88268
Fix #166 : drop SSDP entirely from Infix
...
mDNS-SD was added in Windows 10 Creators Update[1] (build 1703), relased
April 11, 2017. This makes SSDP no longer critical for finding an Infix
device in Windows, both ping infix-01-02-03.local and using Chrome work.
Since all major operating systems now support mDNS-SD[2] we've decided
to standardize on that and LLDP for Infix and its derivatives. Other
reasons for dropping it include, but is not limited to: lack of IPv6 in
the implementation we use, and potential security implications[3].
[1]: https://en.wikipedia.org/wiki/Windows_10,_version_1703
[2]: https://techcommunity.microsoft.com/t5/networking-blog/mdns-in-the-enterprise/ba-p/3275777
[3]: https://blog.cloudflare.com/ssdp-100gbps/
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-10-17 16:32:41 +02:00
Richard Alpe and Joachim Wiberg
7d8b876cc7
cli: handle missing oper-status
...
Use known data from .self to avoid crashing if the oper-status is
missing for a interface.
Signed-off-by: Richard Alpe <richard@bit42.se >
2023-10-12 10:10:30 +02:00
Richard Alpe and Joachim Wiberg
484b12611b
cli: use infix interfaces types in cli-pretty
...
Don't use iana-if-type, use infix-if-type.
Signed-off-by: Richard Alpe <richard@bit42.se >
2023-09-25 12:38:33 +02:00
Joachim Wiberg
f7e877ebcc
test/case: add new test to suite
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-09-21 16:34:48 +02:00
Joachim Wiberg
e528fe0e34
test/case: new test, verify custom mac address
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-09-21 16:34:48 +02:00
Richard Alpe and Joachim Wiberg
4cfe0fa945
test: add ipv6 to bloated.json for cli-pretty
...
Signed-off-by: Richard Alpe <richard@bit42.se >
2023-09-20 11:33:35 +02:00
Richard Alpe and Joachim Wiberg
f69b08ea59
test: add top level unit test suite
...
This currently includes cli-pretty tests. It could be executed
separately to clarify test results in github actions. This commit
includes it in the main test execution. The most important thing is
that it's executed.
Signed-off-by: Richard Alpe <richard@bit42.se >
2023-09-19 11:57:08 +02:00
Richard Alpe and Joachim Wiberg
ebdbc1e7ad
test: use sh shell in cli pretty test runner (POSIX)
...
Bash is apparently missing in the Alpine Docker.
Signed-off-by: Richard Alpe <richard@bit42.se >
2023-09-19 11:57:08 +02:00
Richard Alpe and Joachim Wiberg
12d4760156
test: add ip addr origin to bloated.json unit test
...
Signed-off-by: Richard Alpe <richard@bit42.se >
2023-09-19 11:56:14 +02:00
Richard Alpe and Joachim Wiberg
1ea658ad1d
test: add new cli-pretty unit test
...
This test is a "unit" test, which implies that it can be executed
locally without access to a Infix target environment.
Signed-off-by: Richard Alpe <richard@bit42.se >
2023-09-06 16:11:59 +02:00
Joachim Wiberg and Tobias Waldekranz
e3d9236927
test: disable flaky services_basic test
...
See issue #126 for details.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-08-30 10:37:43 +02:00
Joachim Wiberg and Tobias Waldekranz
8ce3785d26
test/case: increase test time slightly to catch per-20 sec LLDP
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-08-30 10:37:43 +02:00
Joachim Wiberg and Tobias Waldekranz
31abe00514
test/case: add LLDP to same test
...
This unfortunately required some restructuring, and as well as extending
the run time since we have no way of sending Ethernet frames currently
in the test framework (socat would be nice).
- Put enable/disable of services before tcpdump start, LLDP lingers ...
- Extend run time: 3 -> 20 sec to catch periodic LLDP messages
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-08-30 10:37:43 +02:00
Joachim Wiberg and Tobias Waldekranz
943603b636
test/case: check for both SSDP and mDNS in same test
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-08-30 10:37:43 +02:00
Joachim Wiberg and Tobias Waldekranz
3dd5810b59
test/case: new test, verify SSDP can be disabled/enabled
...
This test use NETCONF to enable/disable SSDP, it then verifies that the
DUT responds to, or does not respond to, SSDP discover messages.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-08-30 10:37:43 +02:00
Joachim Wiberg and Tobias Waldekranz
fcb629f08f
test: update cases to use new infix-if-types
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-08-22 13:32:47 +02:00
Ahmed Karic and Joachim Wiberg
2c4b67cbbc
test/case: add basic routing test
2023-08-18 14:26:58 +02:00
Ahmed Karic and Tobias Waldekranz
7432ff10aa
test/case: add bridge forwarding tests (single-DUT, dual-DUT, VLAN separation)
2023-08-16 13:51:00 +02:00
Ahmed Karic and Joachim Wiberg
2ff57f865a
test/case: upgrade deprecated hash method
2023-07-13 15:41:38 +02:00
Ahmed Karic and Joachim Wiberg
b0d3976ae0
test/case: Add interface status tests
2023-07-11 18:05:58 +02:00
Ahmed Karic and Joachim Wiberg
7b99cdbd16
test/case: Add authentication/user test
2023-07-04 23:08:21 +02:00
emihas and Joachim Wiberg
443b9cdf9f
test/case: Add ietf_interfaces/ipv4_address.py
...
Verify that IPv4 addresses can be added and removed.
2023-06-30 18:38:59 +02:00
Tobias Waldekranz and Joachim Wiberg
5be61a7013
test/case: Add ietf_system/upgrade
...
Verifies that RAUC bundles can be installed using NETCONF.
We choose to not add this to the "all" suite for now, as the qeneth
topologies do not run with full disk emulation.
To test locally, configure your "make run" instance to use the UEFI
loader, launch `make run`, and then run:
make INFIX_TESTS=test/case/ietf_system/upgrade.py test-run
2023-06-30 15:33:10 +02:00
Tobias Waldekranz and Joachim Wiberg
be7b57412e
test/case: Add meta/play
...
Launches an interactive ipython environment, attached to Infix nodes.
This can be used as a playground for developing tests, testing out
NETCONF operations, etc.
2023-06-30 15:33:10 +02:00
Joachim Wiberg and Tobias Waldekranz
fcf3605e12
test/case: new regression test for IPv4 autoconf
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-06-30 14:13:09 +02:00
Joachim Wiberg and Tobias Waldekranz
aea74842e0
test/case: new test, basic bridge vlan filtering
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-06-22 13:55:16 +02:00
Joachim Wiberg and Tobias Waldekranz
1c6b06d3ac
test/case: minor, fix copy-paste in step description
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-06-22 00:12:43 +02:00
Joachim Wiberg and Tobias Waldekranz
d4014816d9
test: fix copy-paste from other test
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-06-20 11:11:52 +02:00
Joachim Wiberg and Tobias Waldekranz
c832a906fd
test/case: split bridge-basic test in three
...
A basic test should be just that, very basic test of a feature. So we
split out the more advanced ones, building up to the dual-bridge.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-06-20 11:11:52 +02:00
Joachim Wiberg and Tobias Waldekranz
812ee32029
test: add basic pc --> bridge-veth-bridge test
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-06-20 11:11:52 +02:00
Tobias Waldekranz and Joachim Wiberg
4e69f800de
test/case: Add meta/wait to wait for nodes to boot up
...
When running in the cloud, without KVM emulation, together with many
other tenants, it can take a very long time to boot the instances.
Therefore, add a meta test that will wait for all devices in the
physical topology to come up before exiting. This means that the
actual test cases that follow can assume that devices will answer
NETCONF requests.
2023-06-14 17:40:16 +02:00
Tobias Waldekranz and Joachim Wiberg
aa8e11a58b
test/infamy: Create an infamy specific topology object
...
Create topology objects that are tailored to represent topologies on
the expected format. This let's us make convenient accessors for
things like the controller node, infix devices, getting the ports used
to reach a certain device from another one, etc.
2023-06-14 17:40:16 +02:00
Tobias Waldekranz and Joachim Wiberg
f26bd54336
test: Add a 9PM compatible test suite to run all tests
2023-06-08 11:10:31 +02:00
Tobias Waldekranz and Joachim Wiberg
3c0afcdc08
test: Add ietf_interfaces/vlan_ping
...
Verify that we can communicate with an infix device over a stacked
VLAN interface.
2023-06-08 11:10:31 +02:00
Tobias Waldekranz and Joachim Wiberg
d82da157b6
test: Add ietf_system/hostname
2023-06-08 11:10:31 +02:00