| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
|
| |
correctly terminate interface status checks with new lines so that
interface status does not get confused when one interface is a prefix
of another interface.
Signed-off-by: Aaron Goodman <aaronjg@stanford.edu>
|
|
|
|
| |
Signed-off-by: Aaron Goodman <aaronjg@stanford.edu>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
handle creation of routing tables in mwan3rtmon to avoid race
conditions and potentially missing routes
handle ipv6 routes that have expiry
update directly connected ipset when routes are added or deleted
add fall through rules so that the default routing table is not
used if no rule in the interface-specific routing table matches
add option to comply with mwan3 source based routing
get default route parameters from main routing table
Signed-off-by: Aaron Goodman <aaronjg@stanford.edu>
|
|
|
|
| |
Signed-off-by: Aaron Goodman <aaronjg@stanford.edu>
|
|
|
|
| |
Signed-off-by: Aaron Goodman <aaronjg@stanford.edu>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
improve startup and runtime performance by
1) moving common startup procedures out of hotplug script when called
from mwan3 start
2) reducing calls to iptables to check status of rules
3) consolidating iptables updates and updating with iptables-restore
4) do not wait for kill if nothing was killed
5) running interface hotplug scripts in parallel
6) eliminate operations in hotplug script that check status on every
single interface unnecessarily
7) consolidate how mwan3track makes hotplug calls
8) do not restart mwan3track on connected events
This is a significant refactor, but should not result in any breaking
changes or require users to update their configurations.
version bump to 2.9.0
Signed-off-by: Aaron Goodman <aaronjg@stanford.edu>
|
|
|
|
|
|
|
|
|
|
|
| |
use only committed uci changes for updating routing table
use functions.sh functions rather than uci command line tool
to find interfaces for routing table.
consolidate rtmon_ipv4 and rtmon_ipv6 functions into a single function
Signed-off-by: Aaron Goodman <aaronjg@stanford.edu>
|
|
|
|
|
|
|
|
|
|
| |
Fix shellcheck SC2230
> which is non-standard. Use builtin 'command -v' instead.
Once applied to everything concerning OpenWrt we can disable the busybox
feature `which` and save 3.8kB.
Signed-off-by: Paul Spooren <mail@aparcar.org>
|
|
|
|
| |
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
|
|
|
|
| |
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
|
|
|
|
|
|
| |
Removing the lock file ist not necessary
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit cde2a77ed3b3b0df9e693e121dccdc97ef163156.
Applying this change has shown that it is even quicker to provoke the
race condtition on simultan mwan3 commands execution.
By reversing the change we have the same behaviour as before.
But the race condition on mwan3 execute at the same time still exists.
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
|
|
|
|
|
|
|
| |
This adjustment of the locks fixes the race condition when a mwan3
hotplug script and a mwan3 command are running at the same time.
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
|
|
|
|
| |
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
|
|
|
|
|
|
|
| |
Add also online time value and uptime time value from netifd to the
detail output view.
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
|
|
|
|
| |
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
|
|
|
|
| |
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the uci option family is not set in the interface section, then there
is no default value set as in the `config_load / config_get` API.
The problem here is that if the family is not set, the default value ipv4
is normaly assumed. But the comparison fails here because the value is empty
and therefore the dedicated routing table for this interface is not compared
with the other routes from the main table and so not updated.
To fix this set the default value for this config option which is`false`
for enabled and `ipv4` for family.
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes routing handling. Introduced with the last version update.
The following message disappears on the shell
when mwan3 is called with 'mwna3 restart`.
`Error: Invalid gateway address.`
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
[aaronjg@stanford.edu: fully unset variable and handle ipv4 as well]
Signed-off-by: Aaron Goodman <aaronjg@stanford.edu>
|
|
|
|
|
|
| |
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
[aaronjg@stanford.edu: fix syntax error]
Signed-off-by: Aaron Goodman <aaronjg@stanford.edu>
|
|
|
|
| |
Signed-off-by: Aaron Goodman <aaronjg@stanford.edu>
|
|
|
|
| |
Signed-off-by: Aaron Goodman <aaronjg@stanford.edu>
|
|
|
|
|
|
| |
silencing failing rules makes debugging more difficult
Signed-off-by: Aaron Goodman <aaronjg@stanford.edu>
|
|
|
|
|
|
|
| |
default rule only applied to ipv4 with dest_ip 0.0.0.0/0
and error was hidden when trying to apply it in ip6table
Signed-off-by: Aaron Goodman <aaronjg@stanford.edu>
|
|
|
|
|
|
| |
fix issue #11826
Signed-off-by: Aaron Goodman <aaronjg@stanford.edu>
|
|
|
|
| |
Signed-off-by: Aaron Goodman <aaronjg@stanford.edu>
|
|
|
|
| |
Signed-off-by: Aaron Goodman <aaronjg@stanford.edu>
|
|
|
|
| |
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
|
|
|
|
| |
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
|
|
|
|
|
|
|
| |
Add double quote to prevent globbing and word splitting where there is
no regression.
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
|
|
|
|
|
|
| |
Replace -o boolean check with ||.
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
|
|
|
|
| |
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
|
|
|
|
|
|
| |
Replace all `==` with `=`.
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
|
|
|
|
|
|
|
| |
This suppress the following output on `mwan3 restart`:
> Dump terminated
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
|
|
|
|
|
|
|
|
|
| |
Due to a missing config load function call, mwan3 start runs ifup for an empty
list of interfaces, thus not calling ifup at all.
This commit introduces the missing config_load call.
Signed-off-by: Michiel Blokzijl <code@m01.eu>
|
|
|
|
| |
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
|
|
|
|
|
|
| |
If the status file is not found then set then return the value unknown.
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
|
|
|
|
|
|
| |
This enables the procd handling for mwan3 on config change.
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
|
|
|
|
| |
Signed-off-by: Aaron Goodman <aaronjg@stanford.edu>
|
|
|
|
| |
Signed-off-by: Aaron Goodman <aaronjg@stanford.edu>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add an option for adding rules based on source interface.
The default 0.0.0.0/0 src and destination ip addresses has been removed. It is unclear
how the 'any' family of rules would have worked, as it appears each rule always required an
ipv4 or ipv6 address src and destination address. With this change, the any family will work
again.
I also cleaned up a bunch of repeated code around adding the iptables rules for
ipv4/ipv6/any in making the change.
Signed-off-by: Aaron Goodman <aaronjg@stanford.edu>
|
|
|
|
| |
Signed-off-by: Aaron Goodman <aaronjg@stanford.edu>
|
|
|
|
| |
Signed-off-by: Aaron Goodman <aaronjg@stanford.edu>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
openwrt 19.07 uses iputils 20101006-1
This ancient version of iputils has a bug where the -I option is not respected.
https://github.com/iputils/iputils/issues/55
https://github.com/iputils/iputils/issues/56
https://bugs.openwrt.org/index.php?do=details&task_id=1486
Thus, we should force using busybox ping at "/bin/ping" until the iputils
version gets an upgrade in the next major release
Signed-off-by: Aaron Goodman <aaronjg@stanford.edu>
|
|
|
|
| |
Signed-off-by: Aaron Goodman <aaronjg@stanford.edu>
|
|
|
|
| |
Signed-off-by: Aaron Goodman <aaronjg@stanford.edu>
|
|
|
| |
Signed-off-by: Brian J. Murrell <brian@interlinx.bc.ca>
|
|
|
|
|
|
|
|
| |
An interface can have both a /64 and a /128 from a provider.
In such a case, use the address from the /64 to do the ping check, not
the /128.
Signed-off-by: Brian J. Murrell <brian@interlinx.bc.ca>
|
|
|
|
|
|
| |
fixes #11965
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
|
|
|
|
|
|
|
|
|
|
| |
Pinging IPv6 hosts using an interface as a source specifier seems
troublesome. See https://bugs.openwrt.org/index.php?do=details&task_id=2897
for more detail.
Use the desired source interface's IP address instead.
Signed-off-by: Brian J. Murrell <brian@interlinx.bc.ca>
|