Skip to content

net: mpls: Fix notifications when deleting a device

Guillaume Nault requested to merge gnault/centos-stream-9:bz2081758 into main

Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2081758 Upstream Status: linux.git

commit 7d4741eacdefa5f0475431645b56baf00784df1f Author: Benjamin Poirier bpoirier@nvidia.com Date: Mon Nov 29 15:15:05 2021 +0900

net: mpls: Fix notifications when deleting a device

There are various problems related to netlink notifications for mpls route
changes in response to interfaces being deleted:
* delete interface of only nexthop
	DELROUTE notification is missing RTA_OIF attribute
* delete interface of non-last nexthop
	NEWROUTE notification is missing entirely
* delete interface of last nexthop
	DELROUTE notification is missing nexthop

All of these problems stem from the fact that existing routes are modified
in-place before sending a notification. Restructure mpls_ifdown() to avoid
changing the route in the DELROUTE cases and to create a copy in the
NEWROUTE case.

Fixes: f8efb73c97e2 ("mpls: multipath route support")
Signed-off-by: Benjamin Poirier <bpoirier@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

Signed-off-by: Guillaume Nault gnault@redhat.com

Merge request reports