summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDenis Ovsienko <infrastation@yandex.ru>2009-12-08 13:15:12 +0300
committerDenis Ovsienko <infrastation@yandex.ru>2009-12-08 13:15:12 +0300
commit0342b76cfbfde2b6f45c4614e674d53987b1e9fa (patch)
treef126f00d400a7cac5dcbf0a0c948b855b03d5781 /lib
parentd02c56cdf0c2e01a986417ed973dd7a2a5368ac1 (diff)
parentffac19c58ee636274cd3972b584e37cd9a3331de (diff)
Merge branch 'master' of ssh://code.quagga.net/var/lib/git/quagga
Diffstat (limited to 'lib')
-rw-r--r--lib/table.c18
-rw-r--r--lib/table.h12
2 files changed, 16 insertions, 14 deletions
diff --git a/lib/table.c b/lib/table.c
index 70fc0b24..06c64539 100644
--- a/lib/table.c
+++ b/lib/table.c
@@ -125,7 +125,7 @@ route_table_free (struct route_table *rt)
}
/* Utility mask array. */
-static u_char maskbit[] =
+static const u_char maskbit[] =
{
0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff
};
@@ -170,11 +170,11 @@ route_common (struct prefix *n, struct prefix *p, struct prefix *new)
/* Check bit of the prefix. */
static int
-check_bit (u_char *prefix, u_char prefixlen)
+check_bit (const u_char *prefix, u_char prefixlen)
{
- int offset;
- int shift;
- u_char *p = (u_char *)prefix;
+ unsigned int offset;
+ unsigned int shift;
+ const u_char *p = prefix;
assert (prefixlen <= 128);
@@ -221,7 +221,7 @@ route_unlock_node (struct route_node *node)
/* Find matched prefix. */
struct route_node *
-route_node_match (struct route_table *table, struct prefix *p)
+route_node_match (const struct route_table *table, const struct prefix *p)
{
struct route_node *node;
struct route_node *matched;
@@ -247,7 +247,8 @@ route_node_match (struct route_table *table, struct prefix *p)
}
struct route_node *
-route_node_match_ipv4 (struct route_table *table, struct in_addr *addr)
+route_node_match_ipv4 (const struct route_table *table,
+ const struct in_addr *addr)
{
struct prefix_ipv4 p;
@@ -261,7 +262,8 @@ route_node_match_ipv4 (struct route_table *table, struct in_addr *addr)
#ifdef HAVE_IPV6
struct route_node *
-route_node_match_ipv6 (struct route_table *table, struct in6_addr *addr)
+route_node_match_ipv6 (const struct route_table *table,
+ const struct in6_addr *addr)
{
struct prefix_ipv6 p;
diff --git a/lib/table.h b/lib/table.h
index 45ec6067..41d1fa70 100644
--- a/lib/table.h
+++ b/lib/table.h
@@ -66,13 +66,13 @@ extern struct route_node *route_node_get (struct route_table *,
extern struct route_node *route_node_lookup (struct route_table *,
struct prefix *);
extern struct route_node *route_lock_node (struct route_node *node);
-extern struct route_node *route_node_match (struct route_table *,
- struct prefix *);
-extern struct route_node *route_node_match_ipv4 (struct route_table *,
- struct in_addr *);
+extern struct route_node *route_node_match (const struct route_table *,
+ const struct prefix *);
+extern struct route_node *route_node_match_ipv4 (const struct route_table *,
+ const struct in_addr *);
#ifdef HAVE_IPV6
-extern struct route_node *route_node_match_ipv6 (struct route_table *,
- struct in6_addr *);
+extern struct route_node *route_node_match_ipv6 (const struct route_table *,
+ const struct in6_addr *);
#endif /* HAVE_IPV6 */
#endif /* _ZEBRA_TABLE_H */