This handles the situation where there are no ethernet ports on the bridge
and we want our wifi STA interface to have the MAC address of the bridge
so we can link assoclists with IPs.
Approved-by: Andrew Dodd
Approved-by: Evan Benn
The cgi-upload script (part of cgi-io) doesn't send any responses
while the upload is happening, only when it's finished.
Ideally this should be re-architected to stream 'something', but
for now, the simple option is just to bump the timeout here.
At 1Mbps, this means we should just be able to upload a 30MiB firmware
image within the timeout.
Approved-by: Sophronia Koilpillai
Approved-by: Prabha Murugesan
iwinfo will now ask the driver (i.e. BCF/OTP) for the countrylist,
and use the 1.16 morse driver channel list.
Approved-by: Sophronia Koilpillai
Approved-by: Andrew Dodd
Previously, if umdns crashed/terminated for some reason, when it respawned
it would not have any config (and listen on any interfaces).
This has been fixed in upstream by adding a new callback to
procd (service_running), so we pull in these patches.
cf
9a79cdc7ee
Approved-by: Andrew Dodd
Approved-by: Lyall Beveridge
Without this, changing the ip addresses (and possible other
properties?) on an interface would lead to that interface
no longer being responsive.
Raised with upstream:
https://github.com/openwrt/mdnsd/pull/21
Approved-by: Sophronia Koilpillai
Approved-by: Lyall Beveridge
This is taken from upstream, but is more significant than you might think.
This is because if you don't clear the cache it still has references
to the freed ifaces, so it ends up crashing at some point in the future.
What's worse, when it crashes, even though umdns has respawn
it doesn't do set_config again. This means that any umdns crash
means it never recovers unless it's reconfigured, since set_config
is necessary to make it start listening.
Approved-by: Sophronia Koilpillai
Approved-by: Lyall Beveridge
Took this patch from the main branch. It makes umdns
a bit less chatty, which is useful given that we can
lose multicast packets (particularly in mesh/powersave).
Approved-by: Sophronia Koilpillai
Approved-by: Lyall Beveridge
Initially, the `reload_service` function in the UMDNS init script was renamed to allow PROCD to automatically handle reloads and trigger management. This should have been the preferred approach, as PROCD can dynamically manage triggers and decide when a full restart of the UMDNS service is necessary.
However, in practice, this did not work as expected. Despite `ubus call service list '{"name":"umdns", "verbose":true}'` showing the triggers being correctly added, they were not applied. Only the initially registered triggers responded to interface events, while newly added interfaces (e.g., ahwlan being added to the UMDNS UCI after the wizard) did not cause UMDNS to reload when they became active.
To ensure predictable behaviour, the UMDNS UCI triggers now explicitly restart the service which will ensure that `start_service` adds triggers properly so that they can detect interface events on new networks (i.e. ahwlan).
Approved-by: Sophronia Koilpillai
Approved-by: James Haggerty
Rather than use morse_setup.sh to force iwinfo from morse_feed, we instead change the normal Makefile.
This has the disadvantage that we're modifying 'real' OpenWrt, and making our custom package less visible, but has two advantages:
- users can use the standard OpenWrt commands to interact with our repo (without relying on morse_setup.sh to make things work)
- if upstream changes iwinfo, we'll conflict (i.e. it will be a prompt to update it)
Approved-by: Sophronia Koilpillai
Approved-by: Milad Mohtashamirad
Approved-by: Lyall Beveridge
This causes DHCP renewals when you disconnect/reconnect cables or
re-establish wifi connections on a bridge.
https://github.com/openwrt/netifd/pull/35
I think we want this, but it's a bit of a scary change that I
might be missing some implications for, so I'd like to get it
in now to give us some time to experience it.
Approved-by: Sophronia Koilpillai
Approved-by: Evan Benn
This allows us to set something like:
list extra_header 'Cache-Control: no-cache'
And no longer run into issues with caching JS files during development.
The intent would be to make the sync.py script automatically check/set
this.
See:
https://github.com/openwrt/luci/issues/7059
and
https://github.com/openwrt/uhttpd/pull/13
Approved-by: Evan Benn
Approved-by: Lyall Beveridge
If forwarding between two interfaces is disabled, previously established
connections will persist. This happens, as conntrack retains the
connection state in its table.
Aggressively flush the conntrack table on fw4 service reload. This
resolves the issue above with the side effect of re-establishing all
other connections, including those in unrelated interfaces.
Approved-by: Arien Judge
Approved-by: Matthew Forgie
Commit 8e58fe92223c755fc15df66ae8ce97c2df36215f has the side
effect of slightly changing the vendor_ie output format from
previous versions. The initial newline is effectively dropped
and an additional newline has been added to the end of the
printed event. e.g.
phy #0: vendor event 0cbf74:0vendor event: xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
vendor event: xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
vendor event: xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
vendor event: xx xx xx xx
This commit reintroduces the newline and terminates earlier to
correct the formatting. e.g
phy #0: vendor event 0cbf74:0
vendor event: xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
vendor event: xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
vendor event: xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
vendor event: xx xx xx xx
Approved-by: James Haggerty
Approved-by: Milad Mohtashamirad
This avoids our ethernet link dropping on any network change. It's a quick and dirty patch so we have minimal code here.
Approved-by: Arien Judge
Approved-by: Evan Benn
Because these capability advertisements default to on in lldpd, they
became absent at reload, and not restart, due to how the reload logic
works ( keep daemon running, send unconfigured and then the new config
via socket ), and it was not evident unless you happened to be looking
for it (e.g. via pcap or tcpdump). It was also not evident from the
manpage ( have now sent patches upstream ).
At reload time, the unconfigure logic disabled them unless they were
explicitly enabled (compare with other settings where 'unconfigure' just
resets them). Now they default to on/enabled at init time, and are
explicitly 'unconfigure'd at startup if the user disables them via:
lldp_mgmt_addr_advertisements=0
lldp_capability_advertisements=0
In other words: explicit is necessary to disable the advertisements.
The same applies to 'configure system capabilities enabled'. Technically
'unconfigure'd is the default but now it is explicit at reload.
Tested on: 23.05.3
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
(cherry picked from commit 708101c1412c42c7fb1d838024513a34424c50ff)
Link: https://github.com/openwrt/openwrt/pull/15299
Signed-off-by: Robert Marko <robimarko@gmail.com>
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>
Defaults to off.
Available from >= 0.7.15
These are sent in TLV
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
(cherry picked from commit 50021d3222667a9a239451de0422f0508aef4419)
Link: https://github.com/openwrt/openwrt/pull/15299
Signed-off-by: Robert Marko <robimarko@gmail.com>
Defaults to off.
Only available from >= 1.0.15
These capabilities are sent in TLV.
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
(cherry picked from commit 4d8f56bd59f457fd815e2bb4f87df8c7dad2d4fd)
Link: https://github.com/openwrt/openwrt/pull/15299
Signed-off-by: Robert Marko <robimarko@gmail.com>
only available from >= 1.0.15
Comments are useful. Apparently this config parameter was committed when
openwrt used an older version of lldpd which did not yet support it.
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
(cherry picked from commit b4769175029ad23833b21960d1b605f629537ad7)
Link: https://github.com/openwrt/openwrt/pull/15299
Signed-off-by: Robert Marko <robimarko@gmail.com>
update Makefile URL
Signed-off-by: Paul Donald <newtwen@gmail.com>
(cherry picked from commit f753d3152f81bd037e9b7abb1b8c5bf9fe54596b)
Link: https://github.com/openwrt/openwrt/pull/15299
Signed-off-by: Robert Marko <robimarko@gmail.com>
No functionality/behaviour changes; code is synonymous
Tested on: 22.03.6
Signed-off-by: Paul Donald <newtwen@gmail.com>
(cherry picked from commit 5364fe0f01ca11b47c55d78f756d3176748dd0c2)
Link: https://github.com/openwrt/openwrt/pull/15299
Signed-off-by: Robert Marko <robimarko@gmail.com>
For certain lldp_class scenarios (2 & 3) a policy must be set also.
Class 4 is default, although it's good to handle the policy eventuality.
Here, set a default lldp_policy for all lldp_class scenarios. Any
lldp_policy can now be set.
Depends on PR #14584 (which introduced an `if` block)
Tested on 22.03.5, 22.03.6
Signed-off-by: Paul Donald <newtwen@gmail.com>
(cherry picked from commit 497fafb8aea48e764ce0e456f20ab346691e585f)
Link: https://github.com/openwrt/openwrt/pull/15299
Signed-off-by: Robert Marko <robimarko@gmail.com>
Previously only partially implemented. After commit
5007f488bb lldp_location was never removed
Now, add the value of lldp_location to the generated config.
The location param has a few syntaxes, so the config acquires the first
usage from the man page: 'address country EU'
Supplementary fix for PR #14193 (this param was included in the original
PR #13018 but the lldp_location fixes were absent from PR #14193).
Tested on 22.03.5, 22.03.6
Signed-off-by: Paul Donald <newtwen@gmail.com>
(cherry picked from commit 53252eeb3b6177b77e23235436b04818a88eafe0)
Link: https://github.com/openwrt/openwrt/pull/15299
Signed-off-by: Robert Marko <robimarko@gmail.com>
from commit 3ce909914a12647bec52bcee0a162dd6d158a4f6
The lldpd man page says that "configure lldp tx-interval" can
specify an interval value in milliseconds by appending a "ms" suffix to
the figure. Thus mandating string handling, and not integer comparison.
Tested on 22.03.5
Signed-off-by: Paul Donald <newtwen@gmail.com>
(cherry picked from commit 79ee4cb0397eb9eae34369e33d66b5a1d837a652)
Link: https://github.com/openwrt/openwrt/pull/15299
Signed-off-by: Robert Marko <robimarko@gmail.com>
from commit 909f063066
Now pass two params to get_config_cid_ifaces() for:
cid_interface
interface
Each of which is a CSV of interfaces.
Tested on 22.03.5
Signed-off-by: Paul Donald <newtwen@gmail.com>
(cherry picked from commit 228d4e7f1b759c11897043dc73ef3c576bc13f7f)
Link: https://github.com/openwrt/openwrt/pull/15299
Signed-off-by: Robert Marko <robimarko@gmail.com>
from commit a5f715da713304972467612d6934130ce3aa2837
Tested on 22.03.5
Signed-off-by: Paul Donald <newtwen@gmail.com>
(cherry picked from commit 4dcece46a7b4ede7d05d8fb9d31d62406bca74d0)
Link: https://github.com/openwrt/openwrt/pull/15299
Signed-off-by: Robert Marko <robimarko@gmail.com>
from commit ac771313ebedd2c4bfda8adef47650d45d77c32d
portidsubtype takes 1 of 2 possible keywords which do not need quoting:
configure lldp portidsubtype ifname | macaddress
The third keyword 'local' is used in the syntax when individual ports
are being defined:
configure [ports ethX [,…]] lldp portidsubtype local value
When this syntax is used, quoting is useful (see test cases for lldpd).
In the init file, the 'local' syntax is unused.
Tested on 22.03.5
Signed-off-by: Paul Donald <newtwen@gmail.com>
(cherry picked from commit bd1b17d589bc622408cebdd9fa0f43386cc3ef5a)
Link: https://github.com/openwrt/openwrt/pull/15299
Signed-off-by: Robert Marko <robimarko@gmail.com>
from commit c98ee4dbb3db0f064d990941cdd82e872da76946
agent-type takes 1 of 3 possible keywords which do not require quoting:
configure lldp agent-type nearest-bridge | nearest-non-tpmr-bridge
| nearest-customer-bridge
Tested on 22.03.5
Signed-off-by: Paul Donald <newtwen@gmail.com>
(cherry picked from commit 24a4da527f7e70d9916439a78298de2f4e4af653)
Link: https://github.com/openwrt/openwrt/pull/15299
Signed-off-by: Robert Marko <robimarko@gmail.com>
from commit 3ce909914a12647bec52bcee0a162dd6d158a4f6
'capabilities enabled x' where x is a string of CSV
Tested on 22.03.5
Signed-off-by: Paul Donald <newtwen@gmail.com>
(cherry picked from commit b039641071b1e9ee9654513ef3229bb97cc379af)
Link: https://github.com/openwrt/openwrt/pull/15299
Signed-off-by: Robert Marko <robimarko@gmail.com>
from commit 3ce909914a12647bec52bcee0a162dd6d158a4f6
Tested on 22.03.5
Signed-off-by: Paul Donald <newtwen@gmail.com>
(cherry picked from commit 82ec853284e44fb85ad702879d18857bd566c7db)
Link: https://github.com/openwrt/openwrt/pull/15299
Signed-off-by: Robert Marko <robimarko@gmail.com>
from commit 24176a6bdd8f26040a97960868fd0d9ee968d695
Tested on 22.03.5
Signed-off-by: Paul Donald <newtwen@gmail.com>
(cherry picked from commit 20a4dddeb0366a56c14f9128392ffe8d0b62e32d)
Link: https://github.com/openwrt/openwrt/pull/15299
Signed-off-by: Robert Marko <robimarko@gmail.com>
from commit 1be2088a5247b2cfabe8be991c1e52ddaf780a16
The original PR #13018 did not exhibit this.
Tested on 22.03.5
Signed-off-by: Paul Donald <newtwen@gmail.com>
(cherry picked from commit 4fb8fea6de363aeeeca029ed9801b85cdbf45f0c)
Link: https://github.com/openwrt/openwrt/pull/15299
Signed-off-by: Robert Marko <robimarko@gmail.com>
Supplementary fix for PR #14193
Tested on 22.03.5
Signed-off-by: Paul Donald <newtwen@gmail.com>
(cherry picked from commit 1909b6f8835c1381f859c85394defe993e016edd)
Link: https://github.com/openwrt/openwrt/pull/15299
Signed-off-by: Robert Marko <robimarko@gmail.com>
Supplementary fix for PR #14193 and commit
b67182008fd124706be0ec3ce67347447554ffd5
Tested on 22.03.5
Signed-off-by: Paul Donald <newtwen@gmail.com>
(cherry picked from commit 97eb3bf76c17328f80554e6a3603de00d835e4c5)
Link: https://github.com/openwrt/openwrt/pull/15299
Signed-off-by: Robert Marko <robimarko@gmail.com>
allow EDP support if compiled and add force EDP option
Signed-off-by: Stephen Howell <howels@allthatwemight.be>
(cherry picked from commit d274867c217cade795537af93ff9b209e472e19c)
Link: https://github.com/openwrt/openwrt/pull/15299
Signed-off-by: Robert Marko <robimarko@gmail.com>
prevent SNMP options being passed unless lldpd supports them
Signed-off-by: Stephen Howell <howels@allthatwemight.be>
(cherry picked from commit 8b2d02e48cd2559a52e1cbf04143028e50da6a88)
Link: https://github.com/openwrt/openwrt/pull/15299
Signed-off-by: Robert Marko <robimarko@gmail.com>