mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-08 07:37:29 +00:00
commit
a8bcd68f1c
@ -1029,18 +1029,21 @@ struct ospf6_lsa *ospf6_create_single_router_lsa(struct ospf6_area *area,
|
|||||||
|
|
||||||
/* Fill Larger LSA Payload */
|
/* Fill Larger LSA Payload */
|
||||||
end = ospf6_lsdb_head(lsdb, 2, type, adv_router, &rtr_lsa);
|
end = ospf6_lsdb_head(lsdb, 2, type, adv_router, &rtr_lsa);
|
||||||
if (rtr_lsa) {
|
|
||||||
if (!OSPF6_LSA_IS_MAXAGE(rtr_lsa)) {
|
/*
|
||||||
/* Append first Link State ID LSA */
|
* We assume at this point in time that rtr_lsa is
|
||||||
lsa_header = (struct ospf6_lsa_header *)rtr_lsa->header;
|
* a valid pointer.
|
||||||
memcpy(new_header, lsa_header,
|
*/
|
||||||
ntohs(lsa_header->length));
|
assert(rtr_lsa);
|
||||||
/* Assign new lsa length as aggregated length. */
|
if (!OSPF6_LSA_IS_MAXAGE(rtr_lsa)) {
|
||||||
((struct ospf6_lsa_header *)new_header)->length =
|
/* Append first Link State ID LSA */
|
||||||
htons(total_lsa_length);
|
lsa_header = (struct ospf6_lsa_header *)rtr_lsa->header;
|
||||||
new_header += ntohs(lsa_header->length);
|
memcpy(new_header, lsa_header, ntohs(lsa_header->length));
|
||||||
num_lsa--;
|
/* Assign new lsa length as aggregated length. */
|
||||||
}
|
((struct ospf6_lsa_header *)new_header)->length =
|
||||||
|
htons(total_lsa_length);
|
||||||
|
new_header += ntohs(lsa_header->length);
|
||||||
|
num_lsa--;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Print LSA Name */
|
/* Print LSA Name */
|
||||||
|
@ -175,7 +175,7 @@ void ospf_ext_term(void)
|
|||||||
{
|
{
|
||||||
|
|
||||||
if ((OspfEXT.scope != OSPF_OPAQUE_AREA_LSA)
|
if ((OspfEXT.scope != OSPF_OPAQUE_AREA_LSA)
|
||||||
|| (OspfEXT.scope != OSPF_OPAQUE_AS_LSA))
|
&& (OspfEXT.scope != OSPF_OPAQUE_AS_LSA))
|
||||||
zlog_warn(
|
zlog_warn(
|
||||||
"EXT: Unable to unregister Extended Prefix "
|
"EXT: Unable to unregister Extended Prefix "
|
||||||
"Opaque LSA functions: Wrong scope!");
|
"Opaque LSA functions: Wrong scope!");
|
||||||
|
@ -563,6 +563,7 @@ int ospf_flood_through_area(struct ospf_area *area, struct ospf_neighbor *inbr,
|
|||||||
struct ospf_interface *oi;
|
struct ospf_interface *oi;
|
||||||
int lsa_ack_flag = 0;
|
int lsa_ack_flag = 0;
|
||||||
|
|
||||||
|
assert(area);
|
||||||
/* All other types are specific to a single area (Area A). The
|
/* All other types are specific to a single area (Area A). The
|
||||||
eligible interfaces are all those interfaces attaching to the
|
eligible interfaces are all those interfaces attaching to the
|
||||||
Area A. If Area A is the backbone, this includes all the virtual
|
Area A. If Area A is the backbone, this includes all the virtual
|
||||||
|
@ -149,14 +149,6 @@ static struct sr_node *sr_node_new(struct in_addr *rid)
|
|||||||
new->ext_link->del = del_sr_link;
|
new->ext_link->del = del_sr_link;
|
||||||
new->ext_prefix->del = del_sr_pref;
|
new->ext_prefix->del = del_sr_pref;
|
||||||
|
|
||||||
/* Check if list are correctly created */
|
|
||||||
if (new->ext_link == NULL || new->ext_prefix == NULL) {
|
|
||||||
list_delete_original(new->ext_link);
|
|
||||||
list_delete_original(new->ext_prefix);
|
|
||||||
XFREE(MTYPE_OSPF_SR_PARAMS, new);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
IPV4_ADDR_COPY(&new->adv_router, rid);
|
IPV4_ADDR_COPY(&new->adv_router, rid);
|
||||||
new->neighbor = NULL;
|
new->neighbor = NULL;
|
||||||
new->instance = 0;
|
new->instance = 0;
|
||||||
@ -440,7 +432,7 @@ static struct ospf_path *get_nexthop_by_addr(struct ospf *top,
|
|||||||
struct route_node *rn;
|
struct route_node *rn;
|
||||||
|
|
||||||
/* Sanity Check */
|
/* Sanity Check */
|
||||||
if ((top == NULL) && (top->new_table))
|
if (top == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
if (IS_DEBUG_OSPF_SR)
|
if (IS_DEBUG_OSPF_SR)
|
||||||
|
@ -1007,8 +1007,13 @@ int zebra_ptm_bfd_client_register(struct zserv *client,
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
stream_failure:
|
stream_failure:
|
||||||
if (out_ctxt)
|
/*
|
||||||
ptm_lib_cleanup_msg(ptm_hdl, out_ctxt);
|
* IF we ever add more STREAM_GETXXX functions after the out_ctxt
|
||||||
|
* is allocated then we need to add this code back in
|
||||||
|
*
|
||||||
|
* if (out_ctxt)
|
||||||
|
* ptm_lib_cleanup_msg(ptm_hdl, out_ctxt);
|
||||||
|
*/
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -458,6 +458,12 @@ DEFPY(ip_route_blackhole_vrf,
|
|||||||
VTY_DECLVAR_CONTEXT(vrf, vrf);
|
VTY_DECLVAR_CONTEXT(vrf, vrf);
|
||||||
struct zebra_vrf *zvrf = vrf->info;
|
struct zebra_vrf *zvrf = vrf->info;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Coverity is complaining that prefix could
|
||||||
|
* be dereferenced, but we know that prefix will
|
||||||
|
* valid. Add an assert to make it happy
|
||||||
|
*/
|
||||||
|
assert(prefix);
|
||||||
return zebra_static_route_leak(vty, zvrf, zvrf,
|
return zebra_static_route_leak(vty, zvrf, zvrf,
|
||||||
AFI_IP, SAFI_UNICAST, no, prefix,
|
AFI_IP, SAFI_UNICAST, no, prefix,
|
||||||
mask_str, NULL, NULL, NULL, flag,
|
mask_str, NULL, NULL, NULL, flag,
|
||||||
@ -2014,6 +2020,12 @@ DEFPY(ipv6_route_blackhole_vrf,
|
|||||||
VTY_DECLVAR_CONTEXT(vrf, vrf);
|
VTY_DECLVAR_CONTEXT(vrf, vrf);
|
||||||
struct zebra_vrf *zvrf = vrf->info;
|
struct zebra_vrf *zvrf = vrf->info;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Coverity is complaining that prefix could
|
||||||
|
* be dereferenced, but we know that prefix will
|
||||||
|
* valid. Add an assert to make it happy
|
||||||
|
*/
|
||||||
|
assert(prefix);
|
||||||
return zebra_static_route_leak(vty, zvrf, zvrf,
|
return zebra_static_route_leak(vty, zvrf, zvrf,
|
||||||
AFI_IP6, SAFI_UNICAST, no, prefix_str,
|
AFI_IP6, SAFI_UNICAST, no, prefix_str,
|
||||||
NULL, from_str, NULL, NULL, flag,
|
NULL, from_str, NULL, NULL, flag,
|
||||||
|
Loading…
Reference in New Issue
Block a user