mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-06-13 08:43:44 +00:00
Merge pull request #16918 from donaldsharp/addr_cmp_problems_in_snmp
zebra snmp fixes
This commit is contained in:
commit
8d76a02cf1
@ -229,6 +229,8 @@ static int proto_trans(int type)
|
|||||||
return 3; /* static route */
|
return 3; /* static route */
|
||||||
case ZEBRA_ROUTE_RIP:
|
case ZEBRA_ROUTE_RIP:
|
||||||
return 8; /* rip */
|
return 8; /* rip */
|
||||||
|
case ZEBRA_ROUTE_ISIS:
|
||||||
|
return 9;
|
||||||
case ZEBRA_ROUTE_RIPNG:
|
case ZEBRA_ROUTE_RIPNG:
|
||||||
return 1; /* shouldn't happen */
|
return 1; /* shouldn't happen */
|
||||||
case ZEBRA_ROUTE_OSPF:
|
case ZEBRA_ROUTE_OSPF:
|
||||||
@ -237,6 +239,8 @@ static int proto_trans(int type)
|
|||||||
return 1; /* shouldn't happen */
|
return 1; /* shouldn't happen */
|
||||||
case ZEBRA_ROUTE_BGP:
|
case ZEBRA_ROUTE_BGP:
|
||||||
return 14; /* bgp */
|
return 14; /* bgp */
|
||||||
|
case ZEBRA_ROUTE_EIGRP:
|
||||||
|
return 16;
|
||||||
default:
|
default:
|
||||||
return 1; /* other */
|
return 1; /* other */
|
||||||
}
|
}
|
||||||
@ -253,9 +257,11 @@ static void check_replace(struct route_node *np2, struct route_entry *re2,
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (prefix_cmp(&(*np)->p, &np2->p) < 0)
|
if (in_addr_cmp((uint8_t *)&(*np)->p.u.prefix4,
|
||||||
|
(uint8_t *)&np2->p.u.prefix4) < 0)
|
||||||
return;
|
return;
|
||||||
if (prefix_cmp(&(*np)->p, &np2->p) > 0) {
|
if (in_addr_cmp((uint8_t *)&(*np)->p.u.prefix4,
|
||||||
|
(uint8_t *)&np2->p.u.prefix4) > 0) {
|
||||||
*np = np2;
|
*np = np2;
|
||||||
*re = re2;
|
*re = re2;
|
||||||
return;
|
return;
|
||||||
@ -298,14 +304,8 @@ static void get_fwtable_route_node(struct variable *v, oid objid[],
|
|||||||
int i;
|
int i;
|
||||||
|
|
||||||
/* Init index variables */
|
/* Init index variables */
|
||||||
|
memset(&dest, 0, sizeof(dest));
|
||||||
pnt = (uint8_t *)&dest;
|
memset(&nexthop, 0, sizeof(nexthop));
|
||||||
for (i = 0; i < 4; i++)
|
|
||||||
*pnt++ = 0;
|
|
||||||
|
|
||||||
pnt = (uint8_t *)&nexthop;
|
|
||||||
for (i = 0; i < 4; i++)
|
|
||||||
*pnt++ = 0;
|
|
||||||
|
|
||||||
proto = 0;
|
proto = 0;
|
||||||
policy = 0;
|
policy = 0;
|
||||||
@ -497,23 +497,23 @@ static uint8_t *ipFwTable(struct variable *v, oid objid[], size_t *objid_len,
|
|||||||
*val_len = sizeof(int);
|
*val_len = sizeof(int);
|
||||||
return (uint8_t *)&result;
|
return (uint8_t *)&result;
|
||||||
case IPFORWARDMETRIC1:
|
case IPFORWARDMETRIC1:
|
||||||
result = 0;
|
result = re->metric;
|
||||||
*val_len = sizeof(int);
|
*val_len = sizeof(int);
|
||||||
return (uint8_t *)&result;
|
return (uint8_t *)&result;
|
||||||
case IPFORWARDMETRIC2:
|
case IPFORWARDMETRIC2:
|
||||||
result = 0;
|
result = -1;
|
||||||
*val_len = sizeof(int);
|
*val_len = sizeof(int);
|
||||||
return (uint8_t *)&result;
|
return (uint8_t *)&result;
|
||||||
case IPFORWARDMETRIC3:
|
case IPFORWARDMETRIC3:
|
||||||
result = 0;
|
result = -1;
|
||||||
*val_len = sizeof(int);
|
*val_len = sizeof(int);
|
||||||
return (uint8_t *)&result;
|
return (uint8_t *)&result;
|
||||||
case IPFORWARDMETRIC4:
|
case IPFORWARDMETRIC4:
|
||||||
result = 0;
|
result = -1;
|
||||||
*val_len = sizeof(int);
|
*val_len = sizeof(int);
|
||||||
return (uint8_t *)&result;
|
return (uint8_t *)&result;
|
||||||
case IPFORWARDMETRIC5:
|
case IPFORWARDMETRIC5:
|
||||||
result = 0;
|
result = -1;
|
||||||
*val_len = sizeof(int);
|
*val_len = sizeof(int);
|
||||||
return (uint8_t *)&result;
|
return (uint8_t *)&result;
|
||||||
default:
|
default:
|
||||||
|
Loading…
Reference in New Issue
Block a user