summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2021-06-28 07:44:33 -0400
committerGitHub <noreply@github.com>2021-06-28 07:44:33 -0400
commitd57b090fcbbf333abd8e691279736786e41f3fbd (patch)
treeac72c691617abe7926c8bd40c451013ca9adcfb1
parent3d16b5c146438e61095d202d6718f945dd18c778 (diff)
parent709bd204214c9d31592e4c2ccbb78b6b3f79a99b (diff)
Merge pull request #8925 from idryzhov/ospf6-duplicated-read
ospf6d: fix duplicated packet read
-rw-r--r--ospf6d/ospf6_message.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/ospf6d/ospf6_message.c b/ospf6d/ospf6_message.c
index 5f23aab80a..817e5372ea 100644
--- a/ospf6d/ospf6_message.c
+++ b/ospf6d/ospf6_message.c
@@ -1709,6 +1709,13 @@ static int ospf6_read_helper(int sockfd, struct ospf6 *ospf6)
return OSPF6_READ_CONTINUE;
}
+ /*
+ * Drop packet destined to another VRF.
+ * This happens when raw_l3mdev_accept is set to 1.
+ */
+ if (ospf6->vrf_id != oi->interface->vrf_id)
+ return OSPF6_READ_CONTINUE;
+
oh = (struct ospf6_header *)recvbuf;
if (ospf6_rxpacket_examin(oi, oh, len) != MSG_OK)
return OSPF6_READ_CONTINUE;