mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-07 17:18:56 +00:00
commit
eafc51b47b
@ -1546,8 +1546,11 @@ int send_hello(struct isis_circuit *circuit, int level)
|
|||||||
|
|
||||||
isis_tlvs_add_auth(tlvs, &circuit->passwd);
|
isis_tlvs_add_auth(tlvs, &circuit->passwd);
|
||||||
|
|
||||||
if (!listcount(circuit->area->area_addrs))
|
if (!listcount(circuit->area->area_addrs)) {
|
||||||
|
isis_free_tlvs(tlvs);
|
||||||
return ISIS_WARNING;
|
return ISIS_WARNING;
|
||||||
|
}
|
||||||
|
|
||||||
isis_tlvs_add_area_addresses(tlvs, circuit->area->area_addrs);
|
isis_tlvs_add_area_addresses(tlvs, circuit->area->area_addrs);
|
||||||
|
|
||||||
if (circuit->circ_type == CIRCUIT_T_BROADCAST)
|
if (circuit->circ_type == CIRCUIT_T_BROADCAST)
|
||||||
|
@ -380,6 +380,13 @@ extern void uninstall_element(enum node_type, struct cmd_element *);
|
|||||||
string with a space between each element (allocated using
|
string with a space between each element (allocated using
|
||||||
XMALLOC(MTYPE_TMP)). Returns NULL if shift >= argc. */
|
XMALLOC(MTYPE_TMP)). Returns NULL if shift >= argc. */
|
||||||
extern char *argv_concat(struct cmd_token **argv, int argc, int shift);
|
extern char *argv_concat(struct cmd_token **argv, int argc, int shift);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* It is preferred that you set the index initial value
|
||||||
|
* to a 0. This way in the future if you modify the
|
||||||
|
* cli then there is no need to modify the initial
|
||||||
|
* value of the index
|
||||||
|
*/
|
||||||
extern int argv_find(struct cmd_token **argv, int argc, const char *text,
|
extern int argv_find(struct cmd_token **argv, int argc, const char *text,
|
||||||
int *index);
|
int *index);
|
||||||
|
|
||||||
|
@ -284,8 +284,11 @@ csv_record_t *csv_encode_record(csv_t *csv, csv_record_t *rec, int count, ...)
|
|||||||
|
|
||||||
va_start(list, count);
|
va_start(list, count);
|
||||||
str = csv_field_iter(rec, &fld);
|
str = csv_field_iter(rec, &fld);
|
||||||
if (!fld)
|
if (!fld) {
|
||||||
|
va_end(list);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
for (tempc = 0; tempc < count; tempc++) {
|
for (tempc = 0; tempc < count; tempc++) {
|
||||||
col = va_arg(list, char *);
|
col = va_arg(list, char *);
|
||||||
for (i = 0; i < fld->field_len; i++) {
|
for (i = 0; i < fld->field_len; i++) {
|
||||||
|
@ -220,8 +220,10 @@ int ospf_sock_init(struct ospf *ospf)
|
|||||||
}
|
}
|
||||||
|
|
||||||
ret = ospf_bind_vrfdevice(ospf, ospf_sock);
|
ret = ospf_bind_vrfdevice(ospf, ospf_sock);
|
||||||
if (ret < 0)
|
if (ret < 0) {
|
||||||
|
close(ospf_sock);
|
||||||
goto out;
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef IP_HDRINCL
|
#ifdef IP_HDRINCL
|
||||||
/* we will include IP header with packet */
|
/* we will include IP header with packet */
|
||||||
@ -232,6 +234,7 @@ int ospf_sock_init(struct ospf *ospf)
|
|||||||
|
|
||||||
zlog_warn("Can't set IP_HDRINCL option for fd %d: %s",
|
zlog_warn("Can't set IP_HDRINCL option for fd %d: %s",
|
||||||
ospf_sock, safe_strerror(save_errno));
|
ospf_sock, safe_strerror(save_errno));
|
||||||
|
close(ospf_sock);
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
#elif defined(IPTOS_PREC_INTERNETCONTROL)
|
#elif defined(IPTOS_PREC_INTERNETCONTROL)
|
||||||
|
@ -659,6 +659,7 @@ static int ospf_router_info_lsa_originate1(void *arg)
|
|||||||
if (top == NULL) {
|
if (top == NULL) {
|
||||||
zlog_debug("%s: ospf instance not found for vrf id %u",
|
zlog_debug("%s: ospf instance not found for vrf id %u",
|
||||||
__PRETTY_FUNCTION__, vrf_id);
|
__PRETTY_FUNCTION__, vrf_id);
|
||||||
|
ospf_lsa_unlock(&new);
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1167,8 +1167,10 @@ static struct ospf_lsa *ospf_mpls_te_lsa_new(struct ospf *ospf,
|
|||||||
tmp = SET_OPAQUE_LSID(OPAQUE_TYPE_INTER_AS_LSA, lp->instance);
|
tmp = SET_OPAQUE_LSID(OPAQUE_TYPE_INTER_AS_LSA, lp->instance);
|
||||||
lsa_id.s_addr = htonl(tmp);
|
lsa_id.s_addr = htonl(tmp);
|
||||||
|
|
||||||
if (!ospf)
|
if (!ospf) {
|
||||||
|
stream_free(s);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
lsa_header_set(s, options, lsa_type, lsa_id, ospf->router_id);
|
lsa_header_set(s, options, lsa_type, lsa_id, ospf->router_id);
|
||||||
} else {
|
} else {
|
||||||
|
@ -1134,12 +1134,16 @@ void ospf_distribute_list_update(struct ospf *ospf, int type,
|
|||||||
|
|
||||||
/* External info does not exist. */
|
/* External info does not exist. */
|
||||||
ext = ospf_external_lookup(type, instance);
|
ext = ospf_external_lookup(type, instance);
|
||||||
if (!ext || !(rt = EXTERNAL_INFO(ext)))
|
if (!ext || !(rt = EXTERNAL_INFO(ext))) {
|
||||||
|
XFREE(MTYPE_OSPF_DIST_ARGS, args);
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
/* If exists previously invoked thread, then let it continue. */
|
/* If exists previously invoked thread, then let it continue. */
|
||||||
if (ospf->t_distribute_update)
|
if (ospf->t_distribute_update) {
|
||||||
|
XFREE(MTYPE_OSPF_DIST_ARGS, args);
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
/* Set timer. */
|
/* Set timer. */
|
||||||
ospf->t_distribute_update = NULL;
|
ospf->t_distribute_update = NULL;
|
||||||
|
@ -6522,7 +6522,7 @@ DEFUN(interface_no_ip_pim_boundary_oil,
|
|||||||
{
|
{
|
||||||
VTY_DECLVAR_CONTEXT(interface, iif);
|
VTY_DECLVAR_CONTEXT(interface, iif);
|
||||||
struct pim_interface *pim_ifp;
|
struct pim_interface *pim_ifp;
|
||||||
int idx;
|
int idx = 0;
|
||||||
|
|
||||||
argv_find(argv, argc, "WORD", &idx);
|
argv_find(argv, argc, "WORD", &idx);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user