ra: fix routing loop on point to point links openwrt-19.07
authorHans Dedecker <dedeckeh@gmail.com>
Sat, 9 Jan 2021 20:17:48 +0000 (21:17 +0100)
committerHans Dedecker <dedeckeh@gmail.com>
Wed, 20 Jan 2021 20:03:10 +0000 (21:03 +0100)
commit64e1b4e78f65bd8ea41320be6ab732f6143955fe
tree4779dbc35876c1d5b0ed56bd9699e83676ff91e6
parentf16afb7e167e23718ae3d8573082a410b718ae4c
ra: fix routing loop on point to point links

For point-to-point links (e.g. PPP) don't create a link prefix route
when receiving a prefix information option with the on-link flag set.
Point-to-point links are non shared media and as such a destination
IPv6 address cannot be on-link.
If a link prefix route points to a point-to-point link it can trigger
a routing loop if the destination IPv6 address belongs to the prefix.
If such a packet is received and not directed to a local IPv6 address
it will be routed to the point-to-point link due to the link prefix route;
the upstream ISP router will route the IPv6 packet back due to the assigned
prefix route creating a "ping pong" effect

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
(cherry picked from commit 53f07e90b7f1da6977143a488dd5cb73a33b233b)
src/ra.c