aboutsummaryrefslogtreecommitdiff
path: root/net/mwan3/files/usr/sbin
Commit message (Collapse)AuthorAge
...
* mwan3: fix logical/typo bug in mwan3rtmonChen Minqiang2019-03-22
| | | | | | | | This bug was introduced since dd206b7d0bc4a7de739b6dbccbac5b5ffcae9024 mwan3_remon_ipv4 and mwan3_remon_ipv6 is command to run not a variable I add some comments on them hopefully people will notice it Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
* mwan3: fix disconnected event generation in mwan3trackFlorian Eckert2019-02-27
| | | | | | | | | | Before this change two disconnected events were generated. This is wrong! The disconnected event is impliciet generated by the hotplug script on ifdown event. The mwan3track script is notified by a USR1 signal which generates the disconnectd event. The additional "disconnectd" event on ifdown is not required. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* mwan3: add locking debug possibilityFlorian Eckert2019-01-22
| | | | Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* mwan3: lock critical section on mwan3 downFlorian Eckert2019-01-22
| | | | Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* mwan3: lock critical mwan3rtmon sectionFlorian Eckert2019-01-22
| | | | Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* mwan3: mwan3rtmon interrupt sleep on signal (trap) eventFlorian Eckert2019-01-14
| | | | | | Sleep will be aborted if a signal is send to this process. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* mwan3: set interface unknown to offlineFlorian Eckert2019-01-14
| | | | Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* mwan3: remove duplicated global enable checkFlorian Eckert2018-12-25
| | | | Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* mwan3: remove local_source deprecated code artefactsFlorian Eckert2018-12-25
| | | | Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* mwan3: add nping to tracking methodMichael Stoll2018-12-21
| | | | Signed-off-by: Michael Stoll <michael.stoll@meadow-robotics.com>
* mwan3: revert add online_metric for local_source noneFlorian Eckert2018-11-08
| | | | | | This is not necessary. This reverts commit be91e71805116ac1fd852a1ac0480737538d0b04.
* net/mwan3: add online_metric for local_source noneFlorian Eckert2018-10-23
| | | | | | | | | | | | | | | | | | | | | If we set the option "local_source" in the globals mwan3 section to "none", traffic generated by the router it self will always use the default route from the wan interface with the lowest metric. If this interface is down the router traffic still uses the connection with the lowest metric but this is disconnected. Load balancing and failover from the lan site is still possible. Only router generated traffic is not load balanced and could not use failover. To solve this issue with router initiated traffic add the additional option "online_metric" to the mwan3 interface section. If the interface is connected then this lower "online metric" is set in the default routing table. With this change we have at least a failover with router initiated traffic. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* net/mwan3: add downtime ubus informationFlorian Eckert2018-10-12
| | | | | | | Get downtime information for the tracked mwan3 wan interfaces. The information shows how long this interface is in disconnected state. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* net/mwan3: add uptime ubus informationFlorian Eckert2018-10-12
| | | | | | | Get uptime information for the tracked mwan3 wan interfaces. The information shows how long this interface is in connected state. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* net/mwan3: fixup parse json_load an null messageKyson Lok2018-10-12
| | | | | | | | If a interface is down, call ubus will return an null message which is used to json_load, it causes json_get_vars gets value from last load and l3_device various is nonzero. Signed-off-by: Kyson Lok <kysonlok@gmail.com>
* net/mwan3: fix start/stop/restart executionFlorian Eckert2018-09-24
| | | | | | | Move setting global enabled flag from /etc/init.d/mwan3 to mwan3 command. So we could start mwan3 from the cmd mwan3 as well. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* net/mwan3: mwan3track should also send disconnected action on signal USR1Florian Eckert2018-09-24
| | | | | | Also send disconnected action on system signal USR1. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* net/mwan3: add ttl checkFlorian Eckert2018-09-24
| | | | | | Add the additional optional ttl check to test the connection. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* mwan3: mwan3rtmon sleep time configurableChen Minqiang2018-08-09
| | | | Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
* mwan3: refine link selectionChen Minqiang2018-08-09
| | | | | | | | | - globals src_ip to none - ip route back to source - add mwan3rtmon - update version to 2.7 Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
* net/mwan3: execute only ifup event if l3_device is foundFlorian Eckert2018-05-16
| | | | | | | Only execute an ifup event with the command "mwan3 ifup <iface>" if the l3_device is found in the ubus "network.interface.<iface>". Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* net/mwan3: add/remove src_ip from routing tableFlorian Eckert2018-05-16
| | | | | | Add or remove local_source ip also if mwan3 is stopped or started Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* net/mwan3: add missing local variablesFlorian Eckert2018-05-11
| | | | Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* net/mwan3: update logging outputFlorian Eckert2018-05-11
| | | | | | Unify logging output for tracking methode ping. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* net/mwan3: fix indentationFlorian Eckert2018-05-11
| | | | | | Fix indentation. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* net/mwan3: replace legancy backticksFlorian Eckert2018-05-11
| | | | | | Replace legancy backticks syntax shell execution with braces. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* net/mwan3: remove needless log output on mwan3trackFlorian Eckert2018-05-11
| | | | | | Remove needless log output this will pollute the logging. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* mwan3: Packet Loss & Latency CheckNishant Sharma2018-05-11
| | | | | | | 1. Test link quality based on packet loss & latency w.r.t. pre-defined high and low watermark values. 2. Extended ubus support to provide packet loss & latency information per wan per track_ip Signed-off-by: Nishant Sharma <codemarauder@gmail.com>
* net/mwan3: also send connected action on initial_state offlineFlorian Eckert2018-04-08
| | | | | | Move action into startup section will fix this. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* net/mwan3: add logging on ping success and failFlorian Eckert2018-04-08
| | | | | | Add logging information during state change on ping success or fail Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* net/mwan3: deviate max interface value from mmx_mask valueFlorian Eckert2018-03-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need always three of the firewall mask value for * default routing table * blackhole * unreachable the other will be used for the interfaces. * If we have set the mmx_mask to max 0xFF00 (8 bit set) we could use max 252 interfaces. * If we have set the mmx_mask to min 0x0E00 (3 bit set) we could use max 4 interfaces. Only the ones are counting from the firewall mask value. Minimal three firewall mask bit vaules must be set. Maximal eight firewall mask bit vaules could be set. Table overview mmx_mask value bits vs. max interfaces mmx_mask value bits set 1 -> not usefull mmx_mask value bits set 2 -> not usefull mmx_mask value bits set 3 -> 4 Interfaces (mask example 0x0E) mmx_mask value bits set 4 -> 12 Interfaces mmx_mask value bits set 5 -> 28 Interfaces mmx_mask value bits set 6 -> 60 Interfaces mmx_mask value bits set 7 -> 124 Interfaces mmx_mask value bits set 8 -> 252 Interfaces (mask example 0xFF) Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* net/mwan3: add connected/disconnected ACTION to mwan3trackFlorian Eckert2018-03-16
| | | | | | | | | | | | Add a new ACTIONs: * connected ACTION is called once if mwan3track reach all configured track_ips * disconnected ACTION is called once if mwan3track is unable to reach the track_ips The connected/disconnected will called only by mwan3track in opposite the ACTIONs ifup/ifdown will also be called by netifd. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* net/mwan3: add mwan3_init functionFlorian Eckert2018-02-05
| | | | | | | Move all shell commands which are executed during /lib/mwan3/mwan3.sh sourceing into a seperate init function which must be called at first. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* net/mwan3: send SIGKILL to mwan3trackFlorian Eckert2018-02-05
| | | | | | | | In some situation it is not enough to send a SIGTERM to mwan3track to ask service to stop accurate. If this does not work send him a SIGKILL to prevent mwan3track running more then once per interface. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* net/mwan3: add init script to enable/disable mwan3 globallyFlorian Eckert2018-02-05
| | | | | | | Adding a init script to "/etc/init.d/" introduce the possibility to enable/disable mwan3 globally. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* net/mwan3: use uptime for ubus age infoFlorian Eckert2017-11-16
| | | | | | | | If the date is changed by ntp the age value of mwan3 on ubus could jitter. Use instead the uptime value from /proc/uptime which will not change during system run. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* mwan3: add check for pingDavid Yang2017-11-08
| | | | Signed-off-by: David Yang <mmyangfl@gmail.com>
* mwan3: reduce dependency on src_ipDavid Yang2017-11-08
| | | | | | | Interfaces may be managed by 3rd-party scripts, thus src_ip may not be always available in uci. Signed-off-by: David Yang <mmyangfl@gmail.com>
* mwan3: fix interface-bound traffic when interface is offlineMarcin Jurkowski2017-09-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit fixed what 6d99b602 was supposed to fix without affecting interface-bound traffic. Before 6d99b602 interface-bound traffic was working normally as long as at least one interface was online. However when the last interface went offline, it was impossible to ping and such state was unrecoverable. Commit 6d99b602 fixed unrecoverable offline state problem (it was possible to ping -I iface) but messed inteface-bound traffic. Traffic with interface source address was not working if the interface was in "offline" state, even if another interface was online. The problem was caused by an inconsistent "offline" interface state: iptables-related rules were kept while routing table and policy were deleted. The idea behind this commit is to: 1. Keep all the rules for each interface (iptables, routing table, policy) regardless of its state. This ensures consistency, 2. Make interface state hotplug events affect only iptables' mwan3_policy_* rules. Interface-related iptables, routing table and policy is removed only when mwan3 is manually stopped. To make such changes possible, it's necessary to change the way mwan3_policy_* rule generator keeps track of interface state hotplug events. Until now, it checked for the existence of custom interface-related routing table (table id 1, 2, 3, ...). Clearly we can no longer rely on that so each interface state is stored explicitly in file. Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>
* net/mwan3: if initial_state is offline set status to unknownFlorian Eckert2017-09-01
| | | | | | | To show that the status of the interface is neither offline nor online set the status to unknown. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* net/mwan3: mwan3track skip track ips if realibility is accomplishedFlorian Eckert2017-09-01
| | | | | | | If enough tracking ip are pinged skip the reset. They are not needed anymore to mark the interface as up. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* mwan3: fix bugs introduced in 815e83d4Marcin Jurkowski2017-08-17
| | | | | | | | | | Fixes the following bugs introduced in commit 815e83d4: - hotplug: invalid parameter order when initial interface state is "online", mwan3track expects initial state to be the third argument - hotplug: missing source ip address when initial interface state is "offline" - mwan3track: source ip address should be the fourth argument Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>
* net/mwan3: make mwan3 mask configurable over uciFlorian Eckert2017-08-16
| | | | | | Add new global config option mmx_mask. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* net/mwan3: expand ubus to show when last mwan3track check was doneFlorian Eckert2017-08-10
| | | | | | | To know how old the ubus output is, add an age parameter which indicats how old the check informations on the interface are. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* net/mwan3: on startup mark interface online only if track_ip are reachableFlorian Eckert2017-08-10
| | | | | | | | | | | | | | | | Add new interface config option "inital_state". If interface comeing up the first time(mwan3 start, boot), there are now two option for interface behaviour: - online (default as is now) Set up interface regardless wether tracking ip are reachable or not. - offline Set up interface first to ping tracking ip and if they are reachable set up the interface completely. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* net/mwan3: fix ping issue if last interface recovers from failureFlorian Eckert2017-08-10
| | | | | | | | | | | Even though error was fixed the interface checks still fails, if last_resort was set to blackhole or unreachable. To fix this issue do not remove failure interface from iptables change on down event. Reported-by: Colby Whitney <colby.whitney@luxul.com> Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* net/mwan3: move mwan3track clean up to mwan3 cmdFlorian Eckert2017-08-10
| | | | | | This is usefull to see the last state of the interface with ubus. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* net/mwan3: fix mwan3track kill executionFlorian Eckert2017-08-10
| | | | | | | | | If two interface have the same prefix "wan" for example "wan" and "wan1" pgrep returns the PID for wan1 also "pgrep -f mwan3track wan". Before this fix "wan1" was also killed! This is not what we want. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* net/mwan3: add option keep_failure_interval on failureFlorian Eckert2017-08-10
| | | | | | | Add new boolean interface config param to keep ping failure interval during interface failure state. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* mwan3: support various interface tracking methodsMarcin Jurkowski2017-08-02
| | | | | | | | | | | | Adds support for interface tracking using either ping, arping or httping. This allows to track interface status on networks with filtered ICMP traffic or simply to monitor data link layer etc. To facilitate binding to a specified interface its IP address is passed as a new mwan3track parameter. It's currently required by httping and possibly by other tools that may be added in the future. Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>