mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-06-15 13:30:21 +00:00
Merge pull request #9635 from donaldsharp/ospf6_unit
This commit is contained in:
commit
16c3485e74
@ -1495,7 +1495,6 @@ void ospf6_intra_prefix_route_ecmp_path(struct ospf6_area *oa,
|
|||||||
struct listnode *anode, *anext;
|
struct listnode *anode, *anext;
|
||||||
struct listnode *nnode, *rnode, *rnext;
|
struct listnode *nnode, *rnode, *rnext;
|
||||||
struct ospf6_nexthop *nh, *rnh;
|
struct ospf6_nexthop *nh, *rnh;
|
||||||
char buf[PREFIX2STR_BUFFER];
|
|
||||||
bool route_found = false;
|
bool route_found = false;
|
||||||
struct interface *ifp = NULL;
|
struct interface *ifp = NULL;
|
||||||
struct ospf6_lsa *lsa;
|
struct ospf6_lsa *lsa;
|
||||||
@ -1679,8 +1678,9 @@ void ospf6_intra_prefix_route_ecmp_path(struct ospf6_area *oa,
|
|||||||
if (ls_entry == NULL) {
|
if (ls_entry == NULL) {
|
||||||
if (IS_OSPF6_DEBUG_EXAMIN(INTRA_PREFIX))
|
if (IS_OSPF6_DEBUG_EXAMIN(INTRA_PREFIX))
|
||||||
zlog_debug(
|
zlog_debug(
|
||||||
"%s: ls_prfix %s ls_entry not found.",
|
"%s: ls_prfix %pFX ls_entry not found.",
|
||||||
__func__, buf);
|
__func__,
|
||||||
|
&o_path->ls_prefix);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
lsa = ospf6_lsdb_lookup(o_path->origin.type,
|
lsa = ospf6_lsdb_lookup(o_path->origin.type,
|
||||||
|
@ -1878,11 +1878,13 @@ static void ospf6_make_header(uint8_t type, struct ospf6_interface *oi,
|
|||||||
|
|
||||||
oh->version = (uint8_t)OSPFV3_VERSION;
|
oh->version = (uint8_t)OSPFV3_VERSION;
|
||||||
oh->type = type;
|
oh->type = type;
|
||||||
|
oh->length = 0;
|
||||||
oh->router_id = oi->area->ospf6->router_id;
|
oh->router_id = oi->area->ospf6->router_id;
|
||||||
oh->area_id = oi->area->area_id;
|
oh->area_id = oi->area->area_id;
|
||||||
|
oh->checksum = 0;
|
||||||
oh->instance_id = oi->instance_id;
|
oh->instance_id = oi->instance_id;
|
||||||
oh->reserved = 0;
|
oh->reserved = 0;
|
||||||
|
|
||||||
stream_forward_endp(s, OSPF6_HEADER_SIZE);
|
stream_forward_endp(s, OSPF6_HEADER_SIZE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -440,11 +440,22 @@ void ospf6_spf_table_finish(struct ospf6_route_table *result_table)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static const char *const ospf6_spf_reason_str[] = {
|
static const char *const ospf6_spf_reason_str[] = {
|
||||||
"R+", "R-", "N+", "N-", "L+", "L-", "R*", "N*", "C", "A", "GR"};
|
"R+", /* OSPF6_SPF_FLAGS_ROUTER_LSA_ADDED */
|
||||||
|
"R-", /* OSPF6_SPF_FLAGS_ROUTER_LSA_REMOVED */
|
||||||
|
"N+", /* OSPF6_SPF_FLAGS_NETWORK_LSA_ADDED */
|
||||||
|
"N-", /* OSPF6_SPF_FLAGS_NETWORK_LSA_REMOVED */
|
||||||
|
"L+", /* OSPF6_SPF_FLAGS_NETWORK_LINK_LSA_ADDED */
|
||||||
|
"L-", /* OSPF6_SPF_FLAGS_NETWORK_LINK_LSA_REMOVED */
|
||||||
|
"R*", /* OSPF6_SPF_FLAGS_ROUTER_LSA_ORIGINATED */
|
||||||
|
"N*", /* OSPF6_SPF_FLAGS_NETWORK_LSA_ORIGINATED */
|
||||||
|
"C", /* OSPF6_SPF_FLAGS_CONFIG_CHANGE */
|
||||||
|
"A", /* OSPF6_SPF_FLAGS_ASBR_STATUS_CHANGE */
|
||||||
|
"GR", /* OSPF6_SPF_FLAGS_GR_FINISH */
|
||||||
|
};
|
||||||
|
|
||||||
void ospf6_spf_reason_string(unsigned int reason, char *buf, int size)
|
void ospf6_spf_reason_string(uint32_t reason, char *buf, int size)
|
||||||
{
|
{
|
||||||
unsigned int bit;
|
uint32_t bit;
|
||||||
int len = 0;
|
int len = 0;
|
||||||
|
|
||||||
if (!buf)
|
if (!buf)
|
||||||
|
@ -720,7 +720,7 @@ static int pim_msdp_sa_comp(const void *p1, const void *p2)
|
|||||||
/* XXX: this can use a bit of refining and extensions */
|
/* XXX: this can use a bit of refining and extensions */
|
||||||
bool pim_msdp_peer_rpf_check(struct pim_msdp_peer *mp, struct in_addr rp)
|
bool pim_msdp_peer_rpf_check(struct pim_msdp_peer *mp, struct in_addr rp)
|
||||||
{
|
{
|
||||||
struct pim_nexthop nexthop;
|
struct pim_nexthop nexthop = {0};
|
||||||
|
|
||||||
if (mp->peer.s_addr == rp.s_addr) {
|
if (mp->peer.s_addr == rp.s_addr) {
|
||||||
return true;
|
return true;
|
||||||
|
@ -30,3 +30,51 @@
|
|||||||
...
|
...
|
||||||
fun:sqlite3_step
|
fun:sqlite3_step
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
<libyang2 prefix_data stuff>
|
||||||
|
Memcheck:Leak
|
||||||
|
fun:calloc
|
||||||
|
fun:ly_store_prefix_data
|
||||||
|
...
|
||||||
|
fun:yang_module_load
|
||||||
|
}
|
||||||
|
{
|
||||||
|
<libyang2 lys_compile_type_union>
|
||||||
|
Memcheck:Leak
|
||||||
|
fun:realloc
|
||||||
|
fun:lys_compile_type_union
|
||||||
|
...
|
||||||
|
fun:yang_module_load
|
||||||
|
}
|
||||||
|
{
|
||||||
|
<libyang2 pcre2_compile>
|
||||||
|
Memcheck:Leak
|
||||||
|
fun:malloc
|
||||||
|
fun:pcre2_compile_8
|
||||||
|
...
|
||||||
|
fun:yang_module_load
|
||||||
|
}
|
||||||
|
{
|
||||||
|
<libyang2 lys_compile_type_patterns malloc>
|
||||||
|
Memcheck:Leak
|
||||||
|
fun:malloc
|
||||||
|
fun:lys_compile_type_patterns
|
||||||
|
...
|
||||||
|
fun:yang_module_load
|
||||||
|
}
|
||||||
|
{
|
||||||
|
<libyang2 lys_compile_type_patterns calloc>
|
||||||
|
Memcheck:Leak
|
||||||
|
fun:calloc
|
||||||
|
fun:lys_compile_type_patterns
|
||||||
|
...
|
||||||
|
fun:yang_module_load
|
||||||
|
}
|
||||||
|
{
|
||||||
|
<libyang2 lys_compile_type>
|
||||||
|
Memcheck:Leak
|
||||||
|
fun:calloc
|
||||||
|
fun:lys_compile_type
|
||||||
|
...
|
||||||
|
fun:yang_module_load
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user