diff options
| -rw-r--r-- | doc/user/ospfd.rst | 4 | ||||
| -rw-r--r-- | ospf6d/ospf6_message.c | 7 |
2 files changed, 10 insertions, 1 deletions
diff --git a/doc/user/ospfd.rst b/doc/user/ospfd.rst index 692ce8c1b2..8d67ec865f 100644 --- a/doc/user/ospfd.rst +++ b/doc/user/ospfd.rst @@ -80,11 +80,13 @@ Routers To start OSPF process you have to specify the OSPF router. -.. clicmd:: router ospf [(1-65535)] vrf NAME +.. clicmd:: router ospf [{(1-65535)|vrf NAME}] Enable or disable the OSPF process. + Multiple instances don't support `vrf NAME`. + .. clicmd:: ospf router-id A.B.C.D 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; |
