mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-07-27 07:15:33 +00:00
Merge pull request #8950 from idryzhov/ospf6-router-id
ospf6d: use per-vrf router id instead of one global
This commit is contained in:
commit
c36a440cba
@ -602,7 +602,7 @@ void ospf6_router_id_update(struct ospf6 *ospf6)
|
|||||||
if (ospf6->router_id_static != 0)
|
if (ospf6->router_id_static != 0)
|
||||||
ospf6->router_id = ospf6->router_id_static;
|
ospf6->router_id = ospf6->router_id_static;
|
||||||
else
|
else
|
||||||
ospf6->router_id = om6->zebra_router_id;
|
ospf6->router_id = ospf6->router_id_zebra;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* start ospf6 */
|
/* start ospf6 */
|
||||||
@ -786,8 +786,8 @@ DEFUN(no_ospf6_router_id,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
o->router_id = 0;
|
o->router_id = 0;
|
||||||
if (o->router_id_zebra.s_addr)
|
if (o->router_id_zebra)
|
||||||
o->router_id = (uint32_t)o->router_id_zebra.s_addr;
|
o->router_id = o->router_id_zebra;
|
||||||
|
|
||||||
return CMD_SUCCESS;
|
return CMD_SUCCESS;
|
||||||
}
|
}
|
||||||
|
@ -29,7 +29,6 @@ struct ospf6_master {
|
|||||||
struct list *ospf6;
|
struct list *ospf6;
|
||||||
/* OSPFv3 thread master. */
|
/* OSPFv3 thread master. */
|
||||||
struct thread_master *master;
|
struct thread_master *master;
|
||||||
in_addr_t zebra_router_id;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/* ospf6->config_flags */
|
/* ospf6->config_flags */
|
||||||
@ -71,7 +70,7 @@ struct ospf6 {
|
|||||||
/* static router id */
|
/* static router id */
|
||||||
in_addr_t router_id_static;
|
in_addr_t router_id_static;
|
||||||
|
|
||||||
struct in_addr router_id_zebra;
|
in_addr_t router_id_zebra;
|
||||||
|
|
||||||
/* start time */
|
/* start time */
|
||||||
struct timeval starttime;
|
struct timeval starttime;
|
||||||
|
@ -90,15 +90,16 @@ static int ospf6_router_id_update_zebra(ZAPI_CALLBACK_ARGS)
|
|||||||
|
|
||||||
zebra_router_id_update_read(zclient->ibuf, &router_id);
|
zebra_router_id_update_read(zclient->ibuf, &router_id);
|
||||||
|
|
||||||
om6->zebra_router_id = router_id.u.prefix4.s_addr;
|
if (IS_OSPF6_DEBUG_ZEBRA(RECV))
|
||||||
|
zlog_debug("Zebra router-id update %pI4 vrf %s id %u",
|
||||||
|
&router_id.u.prefix4, ospf6_vrf_id_to_name(vrf_id),
|
||||||
|
vrf_id);
|
||||||
|
|
||||||
o = ospf6_lookup_by_vrf_id(vrf_id);
|
o = ospf6_lookup_by_vrf_id(vrf_id);
|
||||||
if (o == NULL)
|
if (o == NULL)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
o->router_id_zebra = router_id.u.prefix4;
|
o->router_id_zebra = router_id.u.prefix4.s_addr;
|
||||||
if (IS_OSPF6_DEBUG_ZEBRA(RECV))
|
|
||||||
zlog_debug("%s: zebra router-id %pI4 update", __func__,
|
|
||||||
&router_id.u.prefix4);
|
|
||||||
|
|
||||||
ospf6_router_id_update(o);
|
ospf6_router_id_update(o);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user