Commit 2dfe55b4 authored by Patrick McHardy's avatar Patrick McHardy Committed by David S. Miller

[NET]: Use u32 for routing table IDs

Use u32 for routing table IDs in net/ipv4 and net/decnet in preparation of
support for a larger number of routing tables. net/ipv6 already uses u32
everywhere and needs no further changes. No functional changes are made by
this patch.
Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent d924424a
...@@ -94,7 +94,7 @@ struct dn_fib_node { ...@@ -94,7 +94,7 @@ struct dn_fib_node {
struct dn_fib_table { struct dn_fib_table {
int n; u32 n;
int (*insert)(struct dn_fib_table *t, struct rtmsg *r, int (*insert)(struct dn_fib_table *t, struct rtmsg *r,
struct dn_kern_rta *rta, struct nlmsghdr *n, struct dn_kern_rta *rta, struct nlmsghdr *n,
...@@ -137,7 +137,7 @@ extern int dn_fib_sync_up(struct net_device *dev); ...@@ -137,7 +137,7 @@ extern int dn_fib_sync_up(struct net_device *dev);
/* /*
* dn_tables.c * dn_tables.c
*/ */
extern struct dn_fib_table *dn_fib_get_table(int n, int creat); extern struct dn_fib_table *dn_fib_get_table(u32 n, int creat);
extern struct dn_fib_table *dn_fib_empty_table(void); extern struct dn_fib_table *dn_fib_empty_table(void);
extern void dn_fib_table_init(void); extern void dn_fib_table_init(void);
extern void dn_fib_table_cleanup(void); extern void dn_fib_table_cleanup(void);
......
...@@ -150,7 +150,7 @@ struct fib_result_nl { ...@@ -150,7 +150,7 @@ struct fib_result_nl {
#endif /* CONFIG_IP_ROUTE_MULTIPATH_WRANDOM */ #endif /* CONFIG_IP_ROUTE_MULTIPATH_WRANDOM */
struct fib_table { struct fib_table {
unsigned char tb_id; u32 tb_id;
unsigned tb_stamp; unsigned tb_stamp;
int (*tb_lookup)(struct fib_table *tb, const struct flowi *flp, struct fib_result *res); int (*tb_lookup)(struct fib_table *tb, const struct flowi *flp, struct fib_result *res);
int (*tb_insert)(struct fib_table *table, struct rtmsg *r, int (*tb_insert)(struct fib_table *table, struct rtmsg *r,
...@@ -173,14 +173,14 @@ struct fib_table { ...@@ -173,14 +173,14 @@ struct fib_table {
extern struct fib_table *ip_fib_local_table; extern struct fib_table *ip_fib_local_table;
extern struct fib_table *ip_fib_main_table; extern struct fib_table *ip_fib_main_table;
static inline struct fib_table *fib_get_table(int id) static inline struct fib_table *fib_get_table(u32 id)
{ {
if (id != RT_TABLE_LOCAL) if (id != RT_TABLE_LOCAL)
return ip_fib_main_table; return ip_fib_main_table;
return ip_fib_local_table; return ip_fib_local_table;
} }
static inline struct fib_table *fib_new_table(int id) static inline struct fib_table *fib_new_table(u32 id)
{ {
return fib_get_table(id); return fib_get_table(id);
} }
...@@ -205,9 +205,9 @@ static inline void fib_select_default(const struct flowi *flp, struct fib_result ...@@ -205,9 +205,9 @@ static inline void fib_select_default(const struct flowi *flp, struct fib_result
extern struct fib_table * fib_tables[RT_TABLE_MAX+1]; extern struct fib_table * fib_tables[RT_TABLE_MAX+1];
extern int fib_lookup(struct flowi *flp, struct fib_result *res); extern int fib_lookup(struct flowi *flp, struct fib_result *res);
extern struct fib_table *__fib_new_table(int id); extern struct fib_table *__fib_new_table(u32 id);
static inline struct fib_table *fib_get_table(int id) static inline struct fib_table *fib_get_table(u32 id)
{ {
if (id == 0) if (id == 0)
id = RT_TABLE_MAIN; id = RT_TABLE_MAIN;
...@@ -215,7 +215,7 @@ static inline struct fib_table *fib_get_table(int id) ...@@ -215,7 +215,7 @@ static inline struct fib_table *fib_get_table(int id)
return fib_tables[id]; return fib_tables[id];
} }
static inline struct fib_table *fib_new_table(int id) static inline struct fib_table *fib_new_table(u32 id)
{ {
if (id == 0) if (id == 0)
id = RT_TABLE_MAIN; id = RT_TABLE_MAIN;
...@@ -248,7 +248,7 @@ extern int fib_convert_rtentry(int cmd, struct nlmsghdr *nl, struct rtmsg *rtm, ...@@ -248,7 +248,7 @@ extern int fib_convert_rtentry(int cmd, struct nlmsghdr *nl, struct rtmsg *rtm,
extern u32 __fib_res_prefsrc(struct fib_result *res); extern u32 __fib_res_prefsrc(struct fib_result *res);
/* Exported by fib_hash.c */ /* Exported by fib_hash.c */
extern struct fib_table *fib_hash_init(int id); extern struct fib_table *fib_hash_init(u32 id);
#ifdef CONFIG_IP_MULTIPLE_TABLES #ifdef CONFIG_IP_MULTIPLE_TABLES
extern int fib4_rules_dump(struct sk_buff *skb, struct netlink_callback *cb); extern int fib4_rules_dump(struct sk_buff *skb, struct netlink_callback *cb);
......
...@@ -534,8 +534,8 @@ int dn_fib_rtm_newroute(struct sk_buff *skb, struct nlmsghdr *nlh, void *arg) ...@@ -534,8 +534,8 @@ int dn_fib_rtm_newroute(struct sk_buff *skb, struct nlmsghdr *nlh, void *arg)
int dn_fib_dump(struct sk_buff *skb, struct netlink_callback *cb) int dn_fib_dump(struct sk_buff *skb, struct netlink_callback *cb)
{ {
int t; u32 t;
int s_t; u32 s_t;
struct dn_fib_table *tb; struct dn_fib_table *tb;
if (NLMSG_PAYLOAD(cb->nlh, 0) >= sizeof(struct rtmsg) && if (NLMSG_PAYLOAD(cb->nlh, 0) >= sizeof(struct rtmsg) &&
...@@ -765,7 +765,7 @@ void dn_fib_flush(void) ...@@ -765,7 +765,7 @@ void dn_fib_flush(void)
{ {
int flushed = 0; int flushed = 0;
struct dn_fib_table *tb; struct dn_fib_table *tb;
int id; u32 id;
for(id = RT_TABLE_MAX; id > 0; id--) { for(id = RT_TABLE_MAX; id > 0; id--) {
if ((tb = dn_fib_get_table(id, 0)) == NULL) if ((tb = dn_fib_get_table(id, 0)) == NULL)
......
...@@ -264,7 +264,7 @@ static int dn_fib_nh_match(struct rtmsg *r, struct nlmsghdr *nlh, struct dn_kern ...@@ -264,7 +264,7 @@ static int dn_fib_nh_match(struct rtmsg *r, struct nlmsghdr *nlh, struct dn_kern
} }
static int dn_fib_dump_info(struct sk_buff *skb, u32 pid, u32 seq, int event, static int dn_fib_dump_info(struct sk_buff *skb, u32 pid, u32 seq, int event,
u8 tb_id, u8 type, u8 scope, void *dst, int dst_len, u32 tb_id, u8 type, u8 scope, void *dst, int dst_len,
struct dn_fib_info *fi, unsigned int flags) struct dn_fib_info *fi, unsigned int flags)
{ {
struct rtmsg *rtm; struct rtmsg *rtm;
...@@ -327,7 +327,7 @@ static int dn_fib_dump_info(struct sk_buff *skb, u32 pid, u32 seq, int event, ...@@ -327,7 +327,7 @@ static int dn_fib_dump_info(struct sk_buff *skb, u32 pid, u32 seq, int event,
} }
static void dn_rtmsg_fib(int event, struct dn_fib_node *f, int z, int tb_id, static void dn_rtmsg_fib(int event, struct dn_fib_node *f, int z, u32 tb_id,
struct nlmsghdr *nlh, struct netlink_skb_parms *req) struct nlmsghdr *nlh, struct netlink_skb_parms *req)
{ {
struct sk_buff *skb; struct sk_buff *skb;
...@@ -740,7 +740,7 @@ static int dn_fib_table_lookup(struct dn_fib_table *tb, const struct flowi *flp, ...@@ -740,7 +740,7 @@ static int dn_fib_table_lookup(struct dn_fib_table *tb, const struct flowi *flp,
} }
struct dn_fib_table *dn_fib_get_table(int n, int create) struct dn_fib_table *dn_fib_get_table(u32 n, int create)
{ {
struct dn_fib_table *t; struct dn_fib_table *t;
...@@ -777,7 +777,7 @@ struct dn_fib_table *dn_fib_get_table(int n, int create) ...@@ -777,7 +777,7 @@ struct dn_fib_table *dn_fib_get_table(int n, int create)
return t; return t;
} }
static void dn_fib_del_tree(int n) static void dn_fib_del_tree(u32 n)
{ {
struct dn_fib_table *t; struct dn_fib_table *t;
...@@ -791,7 +791,7 @@ static void dn_fib_del_tree(int n) ...@@ -791,7 +791,7 @@ static void dn_fib_del_tree(int n)
struct dn_fib_table *dn_fib_empty_table(void) struct dn_fib_table *dn_fib_empty_table(void)
{ {
int id; u32 id;
for(id = RT_TABLE_MIN; id <= RT_TABLE_MAX; id++) for(id = RT_TABLE_MIN; id <= RT_TABLE_MAX; id++)
if (dn_fib_tables[id] == NULL) if (dn_fib_tables[id] == NULL)
......
...@@ -62,7 +62,7 @@ struct fib_table *ip_fib_main_table; ...@@ -62,7 +62,7 @@ struct fib_table *ip_fib_main_table;
struct fib_table *fib_tables[RT_TABLE_MAX+1]; struct fib_table *fib_tables[RT_TABLE_MAX+1];
struct fib_table *__fib_new_table(int id) struct fib_table *__fib_new_table(u32 id)
{ {
struct fib_table *tb; struct fib_table *tb;
...@@ -82,7 +82,7 @@ static void fib_flush(void) ...@@ -82,7 +82,7 @@ static void fib_flush(void)
int flushed = 0; int flushed = 0;
#ifdef CONFIG_IP_MULTIPLE_TABLES #ifdef CONFIG_IP_MULTIPLE_TABLES
struct fib_table *tb; struct fib_table *tb;
int id; u32 id;
for (id = RT_TABLE_MAX; id>0; id--) { for (id = RT_TABLE_MAX; id>0; id--) {
if ((tb = fib_get_table(id))==NULL) if ((tb = fib_get_table(id))==NULL)
...@@ -333,8 +333,8 @@ int inet_rtm_newroute(struct sk_buff *skb, struct nlmsghdr* nlh, void *arg) ...@@ -333,8 +333,8 @@ int inet_rtm_newroute(struct sk_buff *skb, struct nlmsghdr* nlh, void *arg)
int inet_dump_fib(struct sk_buff *skb, struct netlink_callback *cb) int inet_dump_fib(struct sk_buff *skb, struct netlink_callback *cb)
{ {
int t; u32 t;
int s_t; u32 s_t;
struct fib_table *tb; struct fib_table *tb;
if (NLMSG_PAYLOAD(cb->nlh, 0) >= sizeof(struct rtmsg) && if (NLMSG_PAYLOAD(cb->nlh, 0) >= sizeof(struct rtmsg) &&
......
...@@ -765,9 +765,9 @@ static int fn_hash_dump(struct fib_table *tb, struct sk_buff *skb, struct netlin ...@@ -765,9 +765,9 @@ static int fn_hash_dump(struct fib_table *tb, struct sk_buff *skb, struct netlin
} }
#ifdef CONFIG_IP_MULTIPLE_TABLES #ifdef CONFIG_IP_MULTIPLE_TABLES
struct fib_table * fib_hash_init(int id) struct fib_table * fib_hash_init(u32 id)
#else #else
struct fib_table * __init fib_hash_init(int id) struct fib_table * __init fib_hash_init(u32 id)
#endif #endif
{ {
struct fib_table *tb; struct fib_table *tb;
......
...@@ -30,11 +30,11 @@ extern struct fib_info *fib_create_info(const struct rtmsg *r, ...@@ -30,11 +30,11 @@ extern struct fib_info *fib_create_info(const struct rtmsg *r,
extern int fib_nh_match(struct rtmsg *r, struct nlmsghdr *, extern int fib_nh_match(struct rtmsg *r, struct nlmsghdr *,
struct kern_rta *rta, struct fib_info *fi); struct kern_rta *rta, struct fib_info *fi);
extern int fib_dump_info(struct sk_buff *skb, u32 pid, u32 seq, int event, extern int fib_dump_info(struct sk_buff *skb, u32 pid, u32 seq, int event,
u8 tb_id, u8 type, u8 scope, void *dst, u32 tb_id, u8 type, u8 scope, void *dst,
int dst_len, u8 tos, struct fib_info *fi, int dst_len, u8 tos, struct fib_info *fi,
unsigned int); unsigned int);
extern void rtmsg_fib(int event, u32 key, struct fib_alias *fa, extern void rtmsg_fib(int event, u32 key, struct fib_alias *fa,
int z, int tb_id, int z, u32 tb_id,
struct nlmsghdr *n, struct netlink_skb_parms *req); struct nlmsghdr *n, struct netlink_skb_parms *req);
extern struct fib_alias *fib_find_alias(struct list_head *fah, extern struct fib_alias *fib_find_alias(struct list_head *fah,
u8 tos, u32 prio); u8 tos, u32 prio);
......
...@@ -169,7 +169,7 @@ static int fib4_rule_match(struct fib_rule *rule, struct flowi *fl, int flags) ...@@ -169,7 +169,7 @@ static int fib4_rule_match(struct fib_rule *rule, struct flowi *fl, int flags)
static struct fib_table *fib_empty_table(void) static struct fib_table *fib_empty_table(void)
{ {
int id; u32 id;
for (id = 1; id <= RT_TABLE_MAX; id++) for (id = 1; id <= RT_TABLE_MAX; id++)
if (fib_tables[id] == NULL) if (fib_tables[id] == NULL)
......
...@@ -273,7 +273,7 @@ int ip_fib_check_default(u32 gw, struct net_device *dev) ...@@ -273,7 +273,7 @@ int ip_fib_check_default(u32 gw, struct net_device *dev)
} }
void rtmsg_fib(int event, u32 key, struct fib_alias *fa, void rtmsg_fib(int event, u32 key, struct fib_alias *fa,
int z, int tb_id, int z, u32 tb_id,
struct nlmsghdr *n, struct netlink_skb_parms *req) struct nlmsghdr *n, struct netlink_skb_parms *req)
{ {
struct sk_buff *skb; struct sk_buff *skb;
...@@ -939,7 +939,7 @@ u32 __fib_res_prefsrc(struct fib_result *res) ...@@ -939,7 +939,7 @@ u32 __fib_res_prefsrc(struct fib_result *res)
int int
fib_dump_info(struct sk_buff *skb, u32 pid, u32 seq, int event, fib_dump_info(struct sk_buff *skb, u32 pid, u32 seq, int event,
u8 tb_id, u8 type, u8 scope, void *dst, int dst_len, u8 tos, u32 tb_id, u8 type, u8 scope, void *dst, int dst_len, u8 tos,
struct fib_info *fi, unsigned int flags) struct fib_info *fi, unsigned int flags)
{ {
struct rtmsg *rtm; struct rtmsg *rtm;
......
...@@ -1148,7 +1148,7 @@ fn_trie_insert(struct fib_table *tb, struct rtmsg *r, struct kern_rta *rta, ...@@ -1148,7 +1148,7 @@ fn_trie_insert(struct fib_table *tb, struct rtmsg *r, struct kern_rta *rta,
key = ntohl(key); key = ntohl(key);
pr_debug("Insert table=%d %08x/%d\n", tb->tb_id, key, plen); pr_debug("Insert table=%u %08x/%d\n", tb->tb_id, key, plen);
mask = ntohl(inet_make_mask(plen)); mask = ntohl(inet_make_mask(plen));
...@@ -1943,9 +1943,9 @@ static int fn_trie_dump(struct fib_table *tb, struct sk_buff *skb, struct netlin ...@@ -1943,9 +1943,9 @@ static int fn_trie_dump(struct fib_table *tb, struct sk_buff *skb, struct netlin
/* Fix more generic FIB names for init later */ /* Fix more generic FIB names for init later */
#ifdef CONFIG_IP_MULTIPLE_TABLES #ifdef CONFIG_IP_MULTIPLE_TABLES
struct fib_table * fib_hash_init(int id) struct fib_table * fib_hash_init(u32 id)
#else #else
struct fib_table * __init fib_hash_init(int id) struct fib_table * __init fib_hash_init(u32 id)
#endif #endif
{ {
struct fib_table *tb; struct fib_table *tb;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment