Commit dcdf181
committed
fix: anygw not working via cable in dsa devices
Fix #1192. In dsa devices if another libremesh node is connected via cable
anygw starts working intermittently for hosts connected via cable
Manually adjust the bridge fdb, as suggested here [0], with an /etc/hotplug.d/net trigger
adding an entry that states that the anygw mac address can be found locally on device br-lan
Then add a nftables guard rule that drop packets with ether source address equal to the anygw_mac
on every dsa user ports that is member of br-lan to prevent icmp6 broadcast loops.
To use the command bridge it is necessary to add the package ip-bridge ~30KB.
This wouldn't be required in swconfig devices but an easy way to distinguish between dsa and swconfig devices
at compile time doesn't exists at the moment.
[0] https://www.kernel.org/doc/html/latest/networking/dsa/configuration.html#forwarding-database-fdb-management1 parent 04e5650 commit dcdf181
File tree
5 files changed
+61
-27
lines changed- packages
- lime-proto-anygw
- files/usr/lib/lua/lime/proto
- lime-system/files/usr/lib/lua/lime
- proto
5 files changed
+61
-27
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
| 17 | + | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| |||
Lines changed: 35 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
126 | 126 | | |
127 | 127 | | |
128 | 128 | | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
129 | 164 | | |
130 | 165 | | |
131 | 166 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
387 | 387 | | |
388 | 388 | | |
389 | 389 | | |
390 | | - | |
391 | | - | |
392 | | - | |
393 | | - | |
394 | | - | |
395 | | - | |
396 | 390 | | |
397 | 391 | | |
398 | 392 | | |
| |||
Lines changed: 2 additions & 20 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
12 | | - | |
13 | | - | |
14 | | - | |
15 | | - | |
16 | | - | |
17 | | - | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | 11 | | |
30 | 12 | | |
31 | 13 | | |
| |||
38 | 20 | | |
39 | 21 | | |
40 | 22 | | |
41 | | - | |
| 23 | + | |
42 | 24 | | |
43 | 25 | | |
44 | 26 | | |
| |||
66 | 48 | | |
67 | 49 | | |
68 | 50 | | |
69 | | - | |
| 51 | + | |
70 | 52 | | |
71 | 53 | | |
72 | 54 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
615 | 615 | | |
616 | 616 | | |
617 | 617 | | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
| 640 | + | |
618 | 641 | | |
0 commit comments