summaryrefslogtreecommitdiff
path: root/ospf6d/ospf6_snmp.c
diff options
context:
space:
mode:
Diffstat (limited to 'ospf6d/ospf6_snmp.c')
-rw-r--r--ospf6d/ospf6_snmp.c23
1 files changed, 17 insertions, 6 deletions
diff --git a/ospf6d/ospf6_snmp.c b/ospf6d/ospf6_snmp.c
index 6e24be6a1e..51a3bff2a3 100644
--- a/ospf6d/ospf6_snmp.c
+++ b/ospf6d/ospf6_snmp.c
@@ -638,7 +638,9 @@ static uint8_t *ospfv3GeneralGroup(struct variable *v, oid *name,
uint16_t sum;
uint32_t count;
struct ospf6_lsa *lsa = NULL, *lsanext;
+ struct ospf6 *ospf6;
+ ospf6 = ospf6_lookup_by_vrf_id(VRF_DEFAULT);
/* Check whether the instance identifier is valid */
if (smux_header_generic(v, name, length, exact, var_len, write_method)
== MATCH_FAILED)
@@ -741,6 +743,9 @@ static uint8_t *ospfv3AreaEntry(struct variable *v, oid *name, size_t *length,
unsigned int len;
char a[16];
struct ospf6_route *ro;
+ struct ospf6 *ospf6;
+
+ ospf6 = ospf6_lookup_by_vrf_id(VRF_DEFAULT);
if (ospf6 == NULL)
return NULL;
@@ -850,6 +855,9 @@ static uint8_t *ospfv3WwLsdbEntry(struct variable *v, oid *name, size_t *length,
struct interface *iif;
struct ospf6_interface *oi = NULL;
struct list *ifslist;
+ struct ospf6 *ospf6;
+
+ ospf6 = ospf6_lookup_by_vrf_id(VRF_DEFAULT);
if (smux_header_table(v, name, length, exact, var_len, write_method)
== MATCH_FAILED)
@@ -955,8 +963,6 @@ static uint8_t *ospfv3WwLsdbEntry(struct variable *v, oid *name, size_t *length,
else if (v->magic & OSPFv3WWLINKTABLE) {
/* We build a sorted list of interfaces */
ifslist = list_new();
- if (!ifslist)
- return NULL;
ifslist->cmp = (int (*)(void *, void *))if_icmp_func;
FOR_ALL_INTERFACES (vrf, iif)
listnode_add_sort(ifslist, iif);
@@ -985,6 +991,7 @@ static uint8_t *ospfv3WwLsdbEntry(struct variable *v, oid *name, size_t *length,
}
list_delete_all_node(ifslist);
+ list_delete(&ifslist);
}
}
@@ -1051,6 +1058,9 @@ static uint8_t *ospfv3IfEntry(struct variable *v, oid *name, size_t *length,
oid *offset;
int offsetlen, len;
uint32_t sum;
+ struct ospf6 *ospf6;
+
+ ospf6 = ospf6_lookup_by_vrf_id(VRF_DEFAULT);
if (smux_header_table(v, name, length, exact, var_len, write_method)
== MATCH_FAILED)
@@ -1089,8 +1099,6 @@ static uint8_t *ospfv3IfEntry(struct variable *v, oid *name, size_t *length,
} else {
/* We build a sorted list of interfaces */
ifslist = list_new();
- if (!ifslist)
- return NULL;
ifslist->cmp = (int (*)(void *, void *))if_icmp_func;
FOR_ALL_INTERFACES (vrf, iif)
listnode_add_sort(ifslist, iif);
@@ -1110,6 +1118,7 @@ static uint8_t *ospfv3IfEntry(struct variable *v, oid *name, size_t *length,
}
list_delete_all_node(ifslist);
+ list_delete(&ifslist);
}
if (!oi)
@@ -1205,6 +1214,9 @@ static uint8_t *ospfv3NbrEntry(struct variable *v, oid *name, size_t *length,
struct list *ifslist;
oid *offset;
int offsetlen, len;
+ struct ospf6 *ospf6;
+
+ ospf6 = ospf6_lookup_by_vrf_id(VRF_DEFAULT);
if (smux_header_table(v, name, length, exact, var_len, write_method)
== MATCH_FAILED)
@@ -1253,8 +1265,6 @@ static uint8_t *ospfv3NbrEntry(struct variable *v, oid *name, size_t *length,
} else {
/* We build a sorted list of interfaces */
ifslist = list_new();
- if (!ifslist)
- return NULL;
ifslist->cmp = (int (*)(void *, void *))if_icmp_func;
FOR_ALL_INTERFACES (vrf, iif)
listnode_add_sort(ifslist, iif);
@@ -1282,6 +1292,7 @@ static uint8_t *ospfv3NbrEntry(struct variable *v, oid *name, size_t *length,
}
list_delete_all_node(ifslist);
+ list_delete(&ifslist);
}
if (!oi || !on)