mirror of
https://github.com/bgp/bgpq4.git
synced 2024-05-11 05:55:05 +00:00
fix ipv6 prefix-ranges.
This commit is contained in:
1
CHANGES
1
CHANGES
@@ -4,6 +4,7 @@ untagged yet (2018-08-10)
|
|||||||
Reported by Pier Carlo Chiodi.
|
Reported by Pier Carlo Chiodi.
|
||||||
- initial support for Huawei format (prefix-lists and as-path filters)
|
- initial support for Huawei format (prefix-lists and as-path filters)
|
||||||
New flag -U. Requested by Alexander Wagberg.
|
New flag -U. Requested by Alexander Wagberg.
|
||||||
|
- fix ipv6 prefix-ranges. Reported by Jay Ford.
|
||||||
|
|
||||||
0.1.35-rc2 (2017-06-14)
|
0.1.35-rc2 (2017-06-14)
|
||||||
- OpenBSD need <sys/select.h>. Reported by Denis Fondras.
|
- OpenBSD need <sys/select.h>. Reported by Denis Fondras.
|
||||||
|
@@ -305,7 +305,11 @@ int
|
|||||||
bgpq_expanded_v6prefix(char* prefix, struct bgpq_expander* ex,
|
bgpq_expanded_v6prefix(char* prefix, struct bgpq_expander* ex,
|
||||||
struct bgpq_request* req)
|
struct bgpq_request* req)
|
||||||
{
|
{
|
||||||
bgpq_expander_add_prefix(ex,prefix);
|
char* d = strchr(prefix, '^');
|
||||||
|
if (!d)
|
||||||
|
bgpq_expander_add_prefix(ex,prefix);
|
||||||
|
else
|
||||||
|
bgpq_expander_add_prefix_range(ex,prefix);
|
||||||
return 1;
|
return 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
13
sx_prefix.c
13
sx_prefix.c
@@ -242,10 +242,19 @@ sx_prefix_range_parse(struct sx_radix_tree* tree, int af, int maxlen,
|
|||||||
text, min, p.masklen);
|
text, min, p.masklen);
|
||||||
return 0;
|
return 0;
|
||||||
};
|
};
|
||||||
SX_DEBUG(debug_expander, "parsed prefix-range %s as %lu-%lu\n",
|
if (af == AF_INET && max > 32) {
|
||||||
text, min, max);
|
sx_report(SX_ERROR, "Invalid prefix-range %s: max %lu > 32\n",
|
||||||
|
text, max);
|
||||||
|
return 0;
|
||||||
|
} else if (af == AF_INET6 && max > 128) {
|
||||||
|
sx_report(SX_ERROR, "Invalid ipv6 prefix-range %s: max %lu > 128\n",
|
||||||
|
text, max);
|
||||||
|
return 0;
|
||||||
|
};
|
||||||
if (max > maxlen)
|
if (max > maxlen)
|
||||||
max = maxlen;
|
max = maxlen;
|
||||||
|
SX_DEBUG(debug_expander, "parsed prefix-range %s as %lu-%lu (maxlen: %u)\n",
|
||||||
|
text, min, max, maxlen);
|
||||||
sx_radix_tree_insert_specifics(tree, p, min, max);
|
sx_radix_tree_insert_specifics(tree, p, min, max);
|
||||||
return 1;
|
return 1;
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user