For use with dnsmasq tags
Note that a MAC tab is possible but the same functionality
is present in the leases tab which handles MACs and tags.
A MAC tab has a 1:1 tag:MAC relationship, whereas the leases
has a many:many relationship.
The dnsmasq init file needs updating to use 'tag' in
place of 'networkid', which is an older legacy format still
understood by dnsmasq, but all documentation uses 'tag'.
tag names shall not match:
- network devices/interfaces
- service names
Three dnsmasq reserved tag names are:
- known
- !known
- known-othernet
Tag names can be prepended with '!' to invert their usage.
Closes#7178
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Each prerequisite inside a { } forms an and condition.
Each {} prerequisite forms an or condition.
The tab wasn't displayed because odhcpd was not installed. The condition set
required both. Now only require one or the other to display the DHCP tab.
Closes#8033
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
In order to make the following patches easier to follow, this patch simply
makes an identical copy of:
modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js
as:
modules/luci-mod-network/htdocs/luci-static/resources/view/network/dns.js
Signed-off-by: David Härdeman <david@hardeman.nu>
Right now, the checkUfpInstalled RPC call is performed first, and only after
that can the other Promises be called. Simplify this by adding a single check
for /usr/sbin/ufpd in the rpcd ucode, and replace calls to checkUfpInstalled()
with simple L.hasSystemFeature('ufpd') check (which is only done once, and
cached).
This also allows the 'stat' permission to be removed from a couple of acls.
Signed-off-by: David Härdeman <david@hardeman.nu>
For easier definition of connected devices, this commit adds support
to identify them by vendor name.
Package `upf-neigh` is needed to lookup the vendor name in a hash table.
It implements a ubus-call `ubus call fingerprint fingerprint`:
```
root@<redacted> ~ # ubus call fingerprint fingerprint
{
"7c:c2:55:XX:XX:XX": {
"vendor": "Super Micro Computer, Inc."
}
}
```
Fixes: #2065
Depends on: openwrt/packages#27257
Signed-off-by: Christian Korber <ck@dev.tdt.de>
master and 24 use much newer versions.
This will prevent a read error on the non-existent control file when
the system uses apk.
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Most uci network device configuration settings have no specific default
value which means that netifd will only alter the related sysfs parameters
if an explicit value is specified in uci. When omitted from the
configuration, the related sysfs setting is left untouched.
This behaviour collides with LuCI's approach of purging boolean options
from the configuration if they match their default value, leading to the
inability to disable or enable certain settings as described in #6219.
Solve this issue by replacing flag widgets with tri-state selects offering
an "automatic" (default) as well as an explicit "enabled" and "disabled"
choice. Also query sysfs on load and preset the automatic choice with an
indication whether the underlying sysfs settings is currently active or not.
Fixes: #6219
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This is a JavaScript rewrite of the PR#5152
It adds the ability to perform ARP scans if the tool `arp-scan` is
installed.
Signed-off-by: Paul Spooren <mail@aparcar.org>
Provide comprehensive routing configuration:
* Rename the "Network > Routes" page to "Network > Routing".
* Unify sorting for the "Status" and "Network" menus.
* Add the tabs "IPv4 Rules" and "IPv6 Rules" to the "Routing" page.
* Provide configuration for IPv4 and IPv6 routing rules.
* Consolidate routing configuration and terminology for IPv4 and IPv6.
Policy-based routing is an increasingly popular problem.
Netifd natively supports policy-based routing:
* Interface-specific options "ip4table" and "ip6table".
* Routing rules using the "rule" and "rule6" sections.
LuCI is missing configuration for routing rules.
Signed-off-by: Vladislav Grigoryev <vg.aetera@gmail.com>
The current location for "Network > Hostnames" is confusing.
It is provided by Dnsmasq and partly overlaps with static leases.
Merge "Hostnames" with "Network > DHCP and DNS" as an extra tab.
Also add a simple explanation of the use case.
Signed-off-by: Vladislav Grigoryev <vg.aetera@gmail.com>
[Fix typo in label description string]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
- Condense overly large IPv6 RA/DHCPv6 description texts and get rid of most embedded markup
- Switch ra/ndp/dhcpv6 mode selections to rich dropdown lists and move extended choice
descriptions next to the selection options
- Drop ndproxy_static option which has been removed from odhcpd long ago
- Add format validations to all text input fields
- Add ability to configure master/relay modes for non-static interfaces (#2998)
- Move extended RA configuration options into a new tab
- Prevent enabling master mode on multiple interfaces
- Prevent enabling ra/dhcpv6 server mode on non-static or master interfaces
- Drop ra_management in favor to ra_flags option (#5083)
- Add support for dns_service option
- Read current effective IPv6 MTU and hop limit placeholder values from procfs
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Checking netifd version is important for users of the most recent LuCI
that didn't update netifd (e.g. OpenWrt package).
Suggested-by: Jo-Philipp Wich <jo@mein.io>
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
commit 8a34a54b6aa6 ("base-files: use OPENWRT prefix for os-release
variables") changes the prefix of the os-release variables from LEDE_
to OPENWRT_. Use the new name.
Signed-off-by: Bjørn Mork <bjorn@mork.no>
Move some common elements to luci-base, and otherwise make three
packages out of status, system, and network. They were mostly
separated already, but there were some shared elements between
status and network that are now in luci-base.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>