]> git.ipfire.org Git - thirdparty/openwrt.git/commit
lldpd: extended interface(s) parsing to handle patterns
authorPaul Donald <newtwen+github@gmail.com>
Fri, 12 Apr 2024 19:27:56 +0000 (21:27 +0200)
committerRobert Marko <robimarko@gmail.com>
Tue, 17 Sep 2024 10:36:03 +0000 (12:36 +0200)
commit0b48b832a945e7153b0028e7b08098e7d6a6ee4a
tree81fcc9a301f5660620822fa305809e7d7dce9dc5
parent7ee813b3ef02d28fa741218918f85c93bb7a8b03
lldpd: extended interface(s) parsing to handle patterns

For interface type parameters, the man page documents patterns:
```
*,!eth*,!!eth1

uses all interfaces, except interfaces starting with "eth",
but including "eth1".
```

* Renamed `_ifname` to `_l2dev`.
* get the l2dev via network_get_physdev (and not l3dev)
* Glob pattern `*` is also valid - use noglob for this

The net result is that now interface 'names' including globs '*' and '!'
inversions are included in the generated lldpd configs.

Temporarily `set -o noglob` and then `set +o noglob` to disable & enable
globbing respectively, because when we pass `*` as an interface choice,
other file and pathnames get sucked in from where the init script runs,
and the `*` never makes it to lldpd.

Tested extensively on: 22.03.6, 23.05.3

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
[ squash with commit bumping release version ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 4a81d868db85a7954a73bc6dc4a957bbd6abc813)
Link: https://github.com/openwrt/openwrt/pull/15299
Signed-off-by: Robert Marko <robimarko@gmail.com>
package/network/services/lldpd/Makefile
package/network/services/lldpd/files/lldpd.init