diff options
| author | Donald Sharp <sharpd@cumulusnetworks.com> | 2021-06-28 07:44:33 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-06-28 07:44:33 -0400 |
| commit | d57b090fcbbf333abd8e691279736786e41f3fbd (patch) | |
| tree | ac72c691617abe7926c8bd40c451013ca9adcfb1 | |
| parent | 3d16b5c146438e61095d202d6718f945dd18c778 (diff) | |
| parent | 709bd204214c9d31592e4c2ccbb78b6b3f79a99b (diff) | |
Merge pull request #8925 from idryzhov/ospf6-duplicated-read
ospf6d: fix duplicated packet read
| -rw-r--r-- | ospf6d/ospf6_message.c | 7 |
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; |
