Commit Graph
1490 Commits
Author SHA1 Message Date
Joachim Wiberg 0468f35fb6 cli: minor, whitespace and fix 'show' subcommand help
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-25 19:49:27 +01:00
Joachim Wiberg 1e87a30147 confd: skip ethtool command for etherlike interfaces
When "plopping" back an interface from another network namespace, e.g.,
when removing a container network interface, we cannot just rely on the
'ethernet' node *not* being available for an interface.

Experience shows that sysrepo might send us a curve ball (see comment)
which we interpret to be a true Ethernet interface.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-25 19:49:27 +01:00
Mattias Walström 83effa6fd4 Use common CFLAGS in all src-packages.
And fix bugs that the new CFLAGS find.
2024-02-23 14:01:23 +01:00
Mattias Walström 8f996859dc Add infix CFLAGS, used when building src/ (confd, statd....) 2024-02-23 14:01:23 +01:00
Mattias Walström 4869b73b14 test: usb: test startup with no hardware configuration
In this case the USB ports shall be locked.
2024-02-23 14:01:23 +01:00
Mattias Walström c1309da10b infamy: Add support to copy running to startup
Also add support for rebooting unit.
2024-02-23 14:01:23 +01:00
Mattias Walström acc39b1b15 yanger: usb: Refactor to only check authorized_default if locked/unlocked
authorized is unreliable on boot.
2024-02-23 14:01:23 +01:00
Mattias Walström ddd0fc5a35 yanger: vpd: set class to vpd for all vpd nodes
class is mandatory in the standard.
2024-02-23 14:01:23 +01:00
Mattias Walström afa243cd2f confd: core: keep one instance of /run/system.json open
Add entry in struct confd to keep it accessable for all callbacks.
2024-02-23 14:01:23 +01:00
Mattias Walström b66b56f504 probe: rename usb-ports-names => usb-port-names 2024-02-23 14:01:23 +01:00
Mattias Walström d4a1a7c91c doc: Add USB documentation 2024-02-23 14:01:23 +01:00
Mattias Walström c57a4655b8 ietf-routing: Handle return value from touch() 2024-02-23 14:01:23 +01:00
Mattias Walström 30e2a814eb factory: getchar() returns integer not char 2024-02-23 14:01:23 +01:00
Mattias Walström caea3132c9 probe: Change to return the sysfs path for authorized and authorized_default
Leave it to confd to check if the file exist.
2024-02-23 14:01:23 +01:00
Mattias Walström 746392cac5 x86_64: Update linux_defconfig with USB as module
This to be able to control USB ports in infix using authorized in /sys
2024-02-23 14:01:23 +01:00
Mattias Walström 5afaeae46c Update qeneth to support USB 2024-02-23 14:01:23 +01:00
Mattias Walström 15b32cfcc2 infamy: Add a simple USB test 2024-02-23 14:01:23 +01:00
Mattias Walström 8e0db4c7e4 topology: virt: Add usb-sticks 2024-02-23 14:01:23 +01:00
Mattias Walström 420e0d5b36 qeumu: Add USB ports 2024-02-23 14:01:23 +01:00
Mattias Walström 69eae34203 probe: Add support for virtual USB ports (qemu) 2024-02-23 14:01:23 +01:00
Mattias Walström c0a071e87a Add 'show hardware' only show USB port status for now 2024-02-23 14:01:23 +01:00
Mattias Walström 2011f5cbf2 modprobe.d: Unauthorize all USB ports on boot 2024-02-23 14:01:23 +01:00
Mattias Walström a6ff416401 confd: Add support for ietf-hardware
Add supports to enable disable USB port
2024-02-23 14:01:23 +01:00
Mattias Walström 66c20aa79d bootstrap: Enable states feature to ietf-hardware 2024-02-23 14:01:23 +01:00
Mattias Walström b0f2388153 probe: Add support for multiple /sys nodes for a of-node 2024-02-23 14:01:23 +01:00
Mattias Walström 5e707753e9 ietf-hardware: YANG: Deviate everything not supported yet 2024-02-23 14:01:23 +01:00
Mattias Walström 6099ac79e2 Add script to generate entries for external ports
For the user to be able to enable them in runtime
2024-02-23 14:01:23 +01:00
Mattias Walström 6f41ea5ccb probe: Read information about external ports (usb)
from Device tree and put it into system.json
2024-02-23 14:01:23 +01:00
Mattias Walström c58bd5ead4 aarch64: Configure USB_CORE as a module
This to be able to control the USB ports in infix using authorized in /sys
2024-02-23 14:01:23 +01:00
Mattias Walström bd9acd003d Alder: DTS: Add information about external ports (USB) 2024-02-23 14:01:23 +01:00
Richard AlpeandTobias Waldekranz 0cb1459f43 cli-pretty: only print stp state if oper status is up
Only print bridge port stp state if operational status of the
interface is up.

Signed-off-by: Richard Alpe <richard@bit42.se>
2024-02-20 21:43:48 +01:00
Richard AlpeandTobias Waldekranz 1827b65182 test: update cli-output to reflect new bridge output
Signed-off-by: Richard Alpe <richard@bit42.se>
2024-02-20 21:43:48 +01:00
Richard AlpeandTobias Waldekranz 1807306178 cli-pretty: print vlan filtering bridge
Handle printing a vlan filtering bridge in "show interfaces".

Example output:
br0             bridge     DOWN        vlan:10u,20t
│               ipv4                   192.168.1.1/24 (static)
├ e0            bridge     DISABLED    vlan:10u,20t pvid:10
└ e1            bridge     DISABLED    vlan:10t,20u pvid:20
br1             bridge
└ e2            bridge     FORWARDING  vlan:30u pvid:30
e3              ethernet   UP          02:00:00:00:00:03
                ipv6                   fe80::ff:fe00:3/64 (link-layer)
e4              ethernet   UP          02:00:00:00:00:04
                ipv6                   fe80::ff:fe00:4/64 (link-layer)
lo              ethernet   UP          00:00:00:00:00:00
                ipv4                   127.0.0.1/8 (static)
                ipv6                   ::1/128 (static)

Signed-off-by: Richard Alpe <richard@bit42.se>
2024-02-20 21:43:48 +01:00
Richard AlpeandTobias Waldekranz 475a3a2919 yanger: add bridge vlan, pvid and stp-state
This patch adds information about a vlan filtering bridge to the
operational datastore.

The information included is vlans, pvid and stp-state. These changes
reflects what can be configured though confd.

NOTE: pvid is still missing for bridge interfaces. Discussions on how
to best add this is ongoing. It's currently not configurable due to an
existing self check in the infix-if-bridge yang model.

Signed-off-by: Richard Alpe <richard@bit42.se>
2024-02-20 21:43:48 +01:00
Richard AlpeandTobias Waldekranz 0937921cbc test: add br1 to sysrepo emulator
Signed-off-by: Richard Alpe <richard@bit42.se>
2024-02-20 21:43:48 +01:00
Richard AlpeandTobias Waldekranz 6ad80c80ab test: make e2 into br1 bridge port in system output
Signed-off-by: Richard Alpe <richard@bit42.se>
2024-02-20 21:43:48 +01:00
Richard AlpeandTobias Waldekranz 4150f45cc4 test: add system output for vlan filtering bridge
Signed-off-by: Richard Alpe <richard@bit42.se>
2024-02-20 21:43:48 +01:00
Richard AlpeandTobias Waldekranz 1da00a9764 yang: add stp-state to infix-if-bridge
Signed-off-by: Richard Alpe <richard@bit42.se>
2024-02-20 21:43:48 +01:00
Tobias Waldekranzandjovatn 015215073a doc: Initial documention of VPD 2024-02-13 15:45:29 +01:00
Richard AlpeandJoachim Wiberg d73d5440c5 test: remove hardcoded interface type
This can now a days be inferred and isn't needed. Also, the interface
type in virtual testing is now etherlike not ethernet.

Signed-off-by: Richard Alpe <richard@bit42.se>
2024-02-05 18:01:30 +01:00
Richard AlpeandJoachim Wiberg 104a70d46c confd: handle etherlike delete as ethernet
This resolves the regression where configured etherlike interface mac
addresses where not deleted from the system.

Signed-off-by: Richard Alpe <richard@bit42.se>
2024-02-05 18:01:30 +01:00
Richard AlpeandJoachim Wiberg 795f2615cb test: update cli output test to reflect etherlike changes
* Remove bogus ethernet statistics for br0
* Change parentbus for e0 and e1 to make them ethernet devices (not
  virtio -> etherlike).

Signed-off-by: Richard Alpe <richard@bit42.se>
2024-02-05 18:01:30 +01:00
Richard AlpeandJoachim Wiberg debcf81a7a yanger: only fill eth info for Ethernet interfaces
Signed-off-by: Richard Alpe <richard@bit42.se>
2024-02-05 18:01:30 +01:00
Richard AlpeandJoachim Wiberg ee50a7c061 yanger: identify new interface type "etherlike"
Signed-off-by: Richard Alpe <richard@bit42.se>
2024-02-05 18:01:30 +01:00
Richard AlpeandJoachim Wiberg f35f176860 confd: identify virtio interfaces as "etherlike"
Instead of "ethernet". Prior to this patch virtio interfaces where
identified as "ethernet", which resulted in /run/net trying to enable
autoneg on them. Which isn't supported and resulted in an ABANDONED
"default config".

Signed-off-by: Richard Alpe <richard@bit42.se>
2024-02-05 18:01:30 +01:00
Richard AlpeandJoachim Wiberg 198be2a9c6 confd: add new interface type "etherlike"
Needed for devices that share a lot of properties with an ethernet
device but doesn't support "ethtool" and such. An example is TAP
interfaces.

Signed-off-by: Richard Alpe <richard@bit42.se>
2024-02-05 18:01:30 +01:00
Richard AlpeandJoachim Wiberg 79ce152abb confd: fix indentation in gen-interfaces
Signed-off-by: Richard Alpe <richard@bit42.se>
2024-02-05 18:01:30 +01:00
Tobias WaldekranzandJoachim Wiberg 870d41644f confd: ethtool: Condense logic around autoneg configuration
Rely on the interface diff to figure out if any autoneg related config
has changed; if so, generate the resulting configuration based on the
current interface config.

- Remove loopback check, the model only allows ethernet config on
  interfaces of type "ethernet".

- Split up the input validation of speed/duplex to give the user an
  error message with as much specificity as possible.

- Validate that the configured speed/duplex is supported.

- Move the generated script to execute earlier to avoid unnecessary
  link flapping.

- Use negative POSIX error codes, these are (or at least should be)
  mapped to sysrepo errors in netdag_gen_iface.
2024-02-05 18:01:30 +01:00
Richard AlpeandJoachim Wiberg 43017cc79f confd: add the ability to set speed, duplex and autoneg
Add the ability to configure interface speed, duplex and autoneg.
Initially this was pared with YANG model deviations that restricted
explicit interface speed and duplex when autoneg was enabled. But due
to conflicting default states in YANG, this code was dropped.

Signed-off-by: Richard Alpe <richard@bit42.se>
2024-02-05 18:01:30 +01:00
Joachim Wiberg a6a480cbf9 .github: add missing $ in variables
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-02 10:15:13 +01:00