diff options
author | Chris Hall <chris.hall@highwayman.com> | 2010-10-29 13:35:10 +0100 |
---|---|---|
committer | Chris Hall <chris.hall@highwayman.com> | 2010-10-29 13:52:40 +0100 |
commit | 1793e2518564d42a4d708d2a788821f12e0f9b07 (patch) | |
tree | 95a73a03e84123cfce79b349a9e969b6d0ff8e94 /lib/routemap.h | |
parent | 7dce56f42593e60beb0c0403167e6ab1507f12a1 (diff) | |
download | quagga-1793e2518564d42a4d708d2a788821f12e0f9b07.tar.bz2 quagga-1793e2518564d42a4d708d2a788821f12e0f9b07.tar.xz |
Make routemap sequence numbers 32-bit
Standard Cisco routemap sequence numbers are 1..65535, and Quagga
has followed that. This change extends the range to 4,294,967,295.
Also fixes bug in prefix-list handling for IPv6 /32 prefixes.
Diffstat (limited to 'lib/routemap.h')
-rw-r--r-- | lib/routemap.h | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/lib/routemap.h b/lib/routemap.h index 5ff8e334..ac6cb999 100644 --- a/lib/routemap.h +++ b/lib/routemap.h @@ -22,6 +22,8 @@ #ifndef _ZEBRA_ROUTEMAP_H #define _ZEBRA_ROUTEMAP_H +#include <stdint.h> + /* Route map's type. */ enum route_map_type { @@ -107,25 +109,28 @@ struct route_map_rule_list struct route_map_rule *tail; }; -/* Route map index structure. */ +/* Route map sequence number */ +typedef uint32_t route_map_seq_t ; + +/* Route map index structure. */ struct route_map_index { struct route_map *map; char *description; /* Preference of this route map rule. */ - int pref; + route_map_seq_t seq; /* Route map type permit or deny. */ - enum route_map_type type; + enum route_map_type type; /* Do we follow old rules, or hop forward? */ - route_map_end_t exitpolicy; + route_map_end_t exitpolicy; /* If we're using "GOTO", to where do we go? */ - int nextpref; + route_map_seq_t goto_seq; - /* If we're using "CALL", to which route-map do ew go? */ + /* If we're using "CALL", to which route-map do we go? */ char *nextrm; /* Matching rule list. */ |