fff-layer3-config: add rules for router_ip #178
No reviewers
Labels
No Label
RFC
RFT
WIP
blocked
bsp
bug
build/scripts/tools
duplicate
feature
fixed
layer3
mantis
more details required
needs changes
node
packages/fff
rejected
security
trivial
upstream
No Milestone
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: freifunk-franken/firmware#178
Loading…
Reference in New Issue
No description provided.
Delete Branch "jkimmel/firmware:master"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This forces routes for packets originating from a router_ip to be looked
up in the fff table. If the router_ips don't happen to be included in
the client network's subnet, the decision defaults to a main table
lookup. This causes packets to choose the wrong interface.
This patch forces packets from a router_ip to be routed via the fff table.
Fixes #175
Signed-off-by:
Johannes Kimmel <fff@bareminimum.eu
Ein paar Sachen inline, ansonsten müsste es passen.
@ -12,0 +16,4 @@
local name="$1"
# check if filter was added by configuregateway
if ! [ "$(uci -q get network.$name.addedbyautoconfig)" = 'true' ]; then
'addedbyautoconfig' ist für so etwas generisches wie ip rules vielleicht etwas wenig. Wenn in Zukunft noch andere Komponenten rules hinzufügen sollen, kollidiert das.
Entweder machen wir diesen Tag spezifischer oder wir verschieben das entfernen der alten rules in ein eigenes layer3.d Skript, welches vor allem läuft, was Netzwerkdinge tut.
@ -15,1 +33,4 @@
uci -q add_list network.loopback.ipaddr="$ip"
config=$(uci add network rule)
uci -q set network.$config.src="$ip"
Was passiert, wenn man die Router IP ohne Subnetzgröße angibt? Funktioniert das trotzdem?
Guter Fund.
ip
kommt damit klar, OpenWRT leider nicht. Das will die IP unbedingt in CIDR Notation.Da ich mir nicht sicher bin, ob in router_ip nur reine IPs stecken darf, oder auch dinge mit Subnetz dran, hänge ich nur an den IPs, die kein Subnetz definieren ein
/32
bzw./128
an.@ -16,0 +35,4 @@
config=$(uci add network rule)
uci -q set network.$config.src="$ip"
uci -q set network.$config.lookup='fff'
uci -q set network.$config.priority='10000'
Hier sollten wir dazu kommentieren, warum 10000. Scheinbar ist das an den bestehenden Regeln orientiert, die OpenWrt aber selbst erzeugt. Die Prio könnte sich daher in Zukunft ändern.
1c727e9bc6
to0104373444
0104373444
to9a189f541d
Sieht jetzt gut aus, danke.
Für die router_ip haben wir bisher nicht definiert, was da drin sein darf. In so fern würde ich einfach mal das annehmen, was OpenWrt für ipaddr lists kann, und das ist sowohl mit als auch ohne Netzgröße. Passt also so.
Reviewed-by: Fabian Bläse <fabian@blaese.de>
Danke!
Commit Message noch etwas angepasst, PKG_RELEASE bump ergänzt und applied.
Pull request closed