* [PATCH] net: Make table id type u32
@ 2015-09-01 18:18 David Ahern
2015-09-01 18:25 ` [PATCH net-next] " David Ahern
0 siblings, 1 reply; 4+ messages in thread
From: David Ahern @ 2015-09-01 18:18 UTC (permalink / raw)
To: netdev; +Cc: David Ahern
A number of VRF patches used 'int' for table id. It should be u32 to be
consistent with the rest of the stack.
Fixes:
4e3c89920cd3a ("net: Introduce VRF related flags and helpers")
15be405eb2ea9 ("net: Add inet_addr lookup by table")
30bbaa1950055 ("net: Fix up inet_addr_type checks")
021dd3b8a142d ("net: Add routes to the table associated with the device")
dc028da54ed35 ("inet: Move VRF table lookup to inlined function")
Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
---
include/net/route.h | 2 +-
include/net/vrf.h | 24 ++++++++++++------------
net/ipv4/af_inet.c | 2 +-
net/ipv4/fib_frontend.c | 10 +++++-----
net/ipv4/fib_semantics.c | 2 +-
5 files changed, 20 insertions(+), 20 deletions(-)
diff --git a/include/net/route.h b/include/net/route.h
index 395d79bb556c..cc61cb95f059 100644
--- a/include/net/route.h
+++ b/include/net/route.h
@@ -188,7 +188,7 @@ void ipv4_sk_redirect(struct sk_buff *skb, struct sock *sk);
void ip_rt_send_redirect(struct sk_buff *skb);
unsigned int inet_addr_type(struct net *net, __be32 addr);
-unsigned int inet_addr_type_table(struct net *net, __be32 addr, int tb_id);
+unsigned int inet_addr_type_table(struct net *net, __be32 addr, u32 tb_id);
unsigned int inet_dev_addr_type(struct net *net, const struct net_device *dev,
__be32 addr);
unsigned int inet_addr_type_dev_table(struct net *net,
diff --git a/include/net/vrf.h b/include/net/vrf.h
index 5bfb16237fd7..593e6094ddd4 100644
--- a/include/net/vrf.h
+++ b/include/net/vrf.h
@@ -66,9 +66,9 @@ static inline int vrf_master_ifindex(const struct net_device *dev)
}
/* called with rcu_read_lock */
-static inline int vrf_dev_table_rcu(const struct net_device *dev)
+static inline u32 vrf_dev_table_rcu(const struct net_device *dev)
{
- int tb_id = 0;
+ u32 tb_id = 0;
if (dev) {
struct net_vrf_dev *vrf_ptr;
@@ -80,9 +80,9 @@ static inline int vrf_dev_table_rcu(const struct net_device *dev)
return tb_id;
}
-static inline int vrf_dev_table(const struct net_device *dev)
+static inline u32 vrf_dev_table(const struct net_device *dev)
{
- int tb_id;
+ u32 tb_id;
rcu_read_lock();
tb_id = vrf_dev_table_rcu(dev);
@@ -91,10 +91,10 @@ static inline int vrf_dev_table(const struct net_device *dev)
return tb_id;
}
-static inline int vrf_dev_table_ifindex(struct net *net, int ifindex)
+static inline u32 vrf_dev_table_ifindex(struct net *net, int ifindex)
{
struct net_device *dev;
- int tb_id = 0;
+ u32 tb_id = 0;
if (!ifindex)
return 0;
@@ -111,9 +111,9 @@ static inline int vrf_dev_table_ifindex(struct net *net, int ifindex)
}
/* called with rtnl */
-static inline int vrf_dev_table_rtnl(const struct net_device *dev)
+static inline u32 vrf_dev_table_rtnl(const struct net_device *dev)
{
- int tb_id = 0;
+ u32 tb_id = 0;
if (dev) {
struct net_vrf_dev *vrf_ptr;
@@ -149,22 +149,22 @@ static inline int vrf_master_ifindex(const struct net_device *dev)
return 0;
}
-static inline int vrf_dev_table_rcu(const struct net_device *dev)
+static inline u32 vrf_dev_table_rcu(const struct net_device *dev)
{
return 0;
}
-static inline int vrf_dev_table(const struct net_device *dev)
+static inline u32 vrf_dev_table(const struct net_device *dev)
{
return 0;
}
-static inline int vrf_dev_table_ifindex(struct net *net, int ifindex)
+static inline u32 vrf_dev_table_ifindex(struct net *net, int ifindex)
{
return 0;
}
-static inline int vrf_dev_table_rtnl(const struct net_device *dev)
+static inline u32 vrf_dev_table_rtnl(const struct net_device *dev)
{
return 0;
}
diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c
index 675e88cac2b4..8b9b7d77a9bf 100644
--- a/net/ipv4/af_inet.c
+++ b/net/ipv4/af_inet.c
@@ -428,7 +428,7 @@ int inet_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len)
struct net *net = sock_net(sk);
unsigned short snum;
int chk_addr_ret;
- int tb_id = RT_TABLE_LOCAL;
+ u32 tb_id = RT_TABLE_LOCAL;
int err;
/* If the socket has its own bind function then use it. (RAW) */
diff --git a/net/ipv4/fib_frontend.c b/net/ipv4/fib_frontend.c
index 7fa277176c33..818b96a9b3c2 100644
--- a/net/ipv4/fib_frontend.c
+++ b/net/ipv4/fib_frontend.c
@@ -212,7 +212,7 @@ void fib_flush_external(struct net *net)
*/
static inline unsigned int __inet_dev_addr_type(struct net *net,
const struct net_device *dev,
- __be32 addr, int tb_id)
+ __be32 addr, u32 tb_id)
{
struct flowi4 fl4 = { .daddr = addr };
struct fib_result res;
@@ -239,7 +239,7 @@ static inline unsigned int __inet_dev_addr_type(struct net *net,
return ret;
}
-unsigned int inet_addr_type_table(struct net *net, __be32 addr, int tb_id)
+unsigned int inet_addr_type_table(struct net *net, __be32 addr, u32 tb_id)
{
return __inet_dev_addr_type(net, NULL, addr, tb_id);
}
@@ -254,7 +254,7 @@ EXPORT_SYMBOL(inet_addr_type);
unsigned int inet_dev_addr_type(struct net *net, const struct net_device *dev,
__be32 addr)
{
- int rt_table = vrf_dev_table(dev) ? : RT_TABLE_LOCAL;
+ u32 rt_table = vrf_dev_table(dev) ? : RT_TABLE_LOCAL;
return __inet_dev_addr_type(net, dev, addr, rt_table);
}
@@ -267,7 +267,7 @@ unsigned int inet_addr_type_dev_table(struct net *net,
const struct net_device *dev,
__be32 addr)
{
- int rt_table = vrf_dev_table(dev) ? : RT_TABLE_LOCAL;
+ u32 rt_table = vrf_dev_table(dev) ? : RT_TABLE_LOCAL;
return __inet_dev_addr_type(net, NULL, addr, rt_table);
}
@@ -800,7 +800,7 @@ static int inet_dump_fib(struct sk_buff *skb, struct netlink_callback *cb)
static void fib_magic(int cmd, int type, __be32 dst, int dst_len, struct in_ifaddr *ifa)
{
struct net *net = dev_net(ifa->ifa_dev->dev);
- int tb_id = vrf_dev_table_rtnl(ifa->ifa_dev->dev);
+ u32 tb_id = vrf_dev_table_rtnl(ifa->ifa_dev->dev);
struct fib_table *tb;
struct fib_config cfg = {
.fc_protocol = RTPROT_KERNEL,
diff --git a/net/ipv4/fib_semantics.c b/net/ipv4/fib_semantics.c
index 1b2d01170a4d..fcb34791844c 100644
--- a/net/ipv4/fib_semantics.c
+++ b/net/ipv4/fib_semantics.c
@@ -863,7 +863,7 @@ static bool fib_valid_prefsrc(struct fib_config *cfg, __be32 fib_prefsrc)
{
if (cfg->fc_type != RTN_LOCAL || !cfg->fc_dst ||
fib_prefsrc != cfg->fc_dst) {
- int tb_id = cfg->fc_table;
+ u32 tb_id = cfg->fc_table;
if (tb_id == RT_TABLE_MAIN)
tb_id = RT_TABLE_LOCAL;
--
1.9.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH net-next] net: Make table id type u32
2015-09-01 18:18 [PATCH] net: Make table id type u32 David Ahern
@ 2015-09-01 18:25 ` David Ahern
2015-09-01 18:39 ` Nikolay Aleksandrov
0 siblings, 1 reply; 4+ messages in thread
From: David Ahern @ 2015-09-01 18:25 UTC (permalink / raw)
To: netdev
for net-next. Forgot to add to subject line. (Thanks, Roopa, for the
reminder.)
On 9/1/15 12:18 PM, David Ahern wrote:
> A number of VRF patches used 'int' for table id. It should be u32 to be
> consistent with the rest of the stack.
>
> Fixes:
> 4e3c89920cd3a ("net: Introduce VRF related flags and helpers")
> 15be405eb2ea9 ("net: Add inet_addr lookup by table")
> 30bbaa1950055 ("net: Fix up inet_addr_type checks")
> 021dd3b8a142d ("net: Add routes to the table associated with the device")
> dc028da54ed35 ("inet: Move VRF table lookup to inlined function")
>
> Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
> ---
> include/net/route.h | 2 +-
> include/net/vrf.h | 24 ++++++++++++------------
> net/ipv4/af_inet.c | 2 +-
> net/ipv4/fib_frontend.c | 10 +++++-----
> net/ipv4/fib_semantics.c | 2 +-
> 5 files changed, 20 insertions(+), 20 deletions(-)
>
> diff --git a/include/net/route.h b/include/net/route.h
> index 395d79bb556c..cc61cb95f059 100644
> --- a/include/net/route.h
> +++ b/include/net/route.h
> @@ -188,7 +188,7 @@ void ipv4_sk_redirect(struct sk_buff *skb, struct sock *sk);
> void ip_rt_send_redirect(struct sk_buff *skb);
>
> unsigned int inet_addr_type(struct net *net, __be32 addr);
> -unsigned int inet_addr_type_table(struct net *net, __be32 addr, int tb_id);
> +unsigned int inet_addr_type_table(struct net *net, __be32 addr, u32 tb_id);
> unsigned int inet_dev_addr_type(struct net *net, const struct net_device *dev,
> __be32 addr);
> unsigned int inet_addr_type_dev_table(struct net *net,
> diff --git a/include/net/vrf.h b/include/net/vrf.h
> index 5bfb16237fd7..593e6094ddd4 100644
> --- a/include/net/vrf.h
> +++ b/include/net/vrf.h
> @@ -66,9 +66,9 @@ static inline int vrf_master_ifindex(const struct net_device *dev)
> }
>
> /* called with rcu_read_lock */
> -static inline int vrf_dev_table_rcu(const struct net_device *dev)
> +static inline u32 vrf_dev_table_rcu(const struct net_device *dev)
> {
> - int tb_id = 0;
> + u32 tb_id = 0;
>
> if (dev) {
> struct net_vrf_dev *vrf_ptr;
> @@ -80,9 +80,9 @@ static inline int vrf_dev_table_rcu(const struct net_device *dev)
> return tb_id;
> }
>
> -static inline int vrf_dev_table(const struct net_device *dev)
> +static inline u32 vrf_dev_table(const struct net_device *dev)
> {
> - int tb_id;
> + u32 tb_id;
>
> rcu_read_lock();
> tb_id = vrf_dev_table_rcu(dev);
> @@ -91,10 +91,10 @@ static inline int vrf_dev_table(const struct net_device *dev)
> return tb_id;
> }
>
> -static inline int vrf_dev_table_ifindex(struct net *net, int ifindex)
> +static inline u32 vrf_dev_table_ifindex(struct net *net, int ifindex)
> {
> struct net_device *dev;
> - int tb_id = 0;
> + u32 tb_id = 0;
>
> if (!ifindex)
> return 0;
> @@ -111,9 +111,9 @@ static inline int vrf_dev_table_ifindex(struct net *net, int ifindex)
> }
>
> /* called with rtnl */
> -static inline int vrf_dev_table_rtnl(const struct net_device *dev)
> +static inline u32 vrf_dev_table_rtnl(const struct net_device *dev)
> {
> - int tb_id = 0;
> + u32 tb_id = 0;
>
> if (dev) {
> struct net_vrf_dev *vrf_ptr;
> @@ -149,22 +149,22 @@ static inline int vrf_master_ifindex(const struct net_device *dev)
> return 0;
> }
>
> -static inline int vrf_dev_table_rcu(const struct net_device *dev)
> +static inline u32 vrf_dev_table_rcu(const struct net_device *dev)
> {
> return 0;
> }
>
> -static inline int vrf_dev_table(const struct net_device *dev)
> +static inline u32 vrf_dev_table(const struct net_device *dev)
> {
> return 0;
> }
>
> -static inline int vrf_dev_table_ifindex(struct net *net, int ifindex)
> +static inline u32 vrf_dev_table_ifindex(struct net *net, int ifindex)
> {
> return 0;
> }
>
> -static inline int vrf_dev_table_rtnl(const struct net_device *dev)
> +static inline u32 vrf_dev_table_rtnl(const struct net_device *dev)
> {
> return 0;
> }
> diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c
> index 675e88cac2b4..8b9b7d77a9bf 100644
> --- a/net/ipv4/af_inet.c
> +++ b/net/ipv4/af_inet.c
> @@ -428,7 +428,7 @@ int inet_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len)
> struct net *net = sock_net(sk);
> unsigned short snum;
> int chk_addr_ret;
> - int tb_id = RT_TABLE_LOCAL;
> + u32 tb_id = RT_TABLE_LOCAL;
> int err;
>
> /* If the socket has its own bind function then use it. (RAW) */
> diff --git a/net/ipv4/fib_frontend.c b/net/ipv4/fib_frontend.c
> index 7fa277176c33..818b96a9b3c2 100644
> --- a/net/ipv4/fib_frontend.c
> +++ b/net/ipv4/fib_frontend.c
> @@ -212,7 +212,7 @@ void fib_flush_external(struct net *net)
> */
> static inline unsigned int __inet_dev_addr_type(struct net *net,
> const struct net_device *dev,
> - __be32 addr, int tb_id)
> + __be32 addr, u32 tb_id)
> {
> struct flowi4 fl4 = { .daddr = addr };
> struct fib_result res;
> @@ -239,7 +239,7 @@ static inline unsigned int __inet_dev_addr_type(struct net *net,
> return ret;
> }
>
> -unsigned int inet_addr_type_table(struct net *net, __be32 addr, int tb_id)
> +unsigned int inet_addr_type_table(struct net *net, __be32 addr, u32 tb_id)
> {
> return __inet_dev_addr_type(net, NULL, addr, tb_id);
> }
> @@ -254,7 +254,7 @@ EXPORT_SYMBOL(inet_addr_type);
> unsigned int inet_dev_addr_type(struct net *net, const struct net_device *dev,
> __be32 addr)
> {
> - int rt_table = vrf_dev_table(dev) ? : RT_TABLE_LOCAL;
> + u32 rt_table = vrf_dev_table(dev) ? : RT_TABLE_LOCAL;
>
> return __inet_dev_addr_type(net, dev, addr, rt_table);
> }
> @@ -267,7 +267,7 @@ unsigned int inet_addr_type_dev_table(struct net *net,
> const struct net_device *dev,
> __be32 addr)
> {
> - int rt_table = vrf_dev_table(dev) ? : RT_TABLE_LOCAL;
> + u32 rt_table = vrf_dev_table(dev) ? : RT_TABLE_LOCAL;
>
> return __inet_dev_addr_type(net, NULL, addr, rt_table);
> }
> @@ -800,7 +800,7 @@ static int inet_dump_fib(struct sk_buff *skb, struct netlink_callback *cb)
> static void fib_magic(int cmd, int type, __be32 dst, int dst_len, struct in_ifaddr *ifa)
> {
> struct net *net = dev_net(ifa->ifa_dev->dev);
> - int tb_id = vrf_dev_table_rtnl(ifa->ifa_dev->dev);
> + u32 tb_id = vrf_dev_table_rtnl(ifa->ifa_dev->dev);
> struct fib_table *tb;
> struct fib_config cfg = {
> .fc_protocol = RTPROT_KERNEL,
> diff --git a/net/ipv4/fib_semantics.c b/net/ipv4/fib_semantics.c
> index 1b2d01170a4d..fcb34791844c 100644
> --- a/net/ipv4/fib_semantics.c
> +++ b/net/ipv4/fib_semantics.c
> @@ -863,7 +863,7 @@ static bool fib_valid_prefsrc(struct fib_config *cfg, __be32 fib_prefsrc)
> {
> if (cfg->fc_type != RTN_LOCAL || !cfg->fc_dst ||
> fib_prefsrc != cfg->fc_dst) {
> - int tb_id = cfg->fc_table;
> + u32 tb_id = cfg->fc_table;
>
> if (tb_id == RT_TABLE_MAIN)
> tb_id = RT_TABLE_LOCAL;
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH net-next] net: Make table id type u32
2015-09-01 18:25 ` [PATCH net-next] " David Ahern
@ 2015-09-01 18:39 ` Nikolay Aleksandrov
2015-09-01 18:39 ` David Ahern
0 siblings, 1 reply; 4+ messages in thread
From: Nikolay Aleksandrov @ 2015-09-01 18:39 UTC (permalink / raw)
To: David Ahern; +Cc: netdev
> On Sep 1, 2015, at 11:25 AM, David Ahern <dsa@cumulusnetworks.com> wrote:
>
> for net-next. Forgot to add to subject line. (Thanks, Roopa, for the reminder.)
>
> On 9/1/15 12:18 PM, David Ahern wrote:
>> A number of VRF patches used 'int' for table id. It should be u32 to be
>> consistent with the rest of the stack.
>>
>> Fixes:
>> 4e3c89920cd3a ("net: Introduce VRF related flags and helpers")
>> 15be405eb2ea9 ("net: Add inet_addr lookup by table")
>> 30bbaa1950055 ("net: Fix up inet_addr_type checks")
>> 021dd3b8a142d ("net: Add routes to the table associated with the device")
>> dc028da54ed35 ("inet: Move VRF table lookup to inlined function")
>>
>> Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
>> ---
>> include/net/route.h | 2 +-
>> include/net/vrf.h | 24 ++++++++++++------------
>> net/ipv4/af_inet.c | 2 +-
>> net/ipv4/fib_frontend.c | 10 +++++-----
>> net/ipv4/fib_semantics.c | 2 +-
>> 5 files changed, 20 insertions(+), 20 deletions(-)
<<snip>>
Should the fib_table_lookup tracepoint be updated as well ? It seems to be using
int for tb_id even though it’s a u32 in struct fib_table.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH net-next] net: Make table id type u32
2015-09-01 18:39 ` Nikolay Aleksandrov
@ 2015-09-01 18:39 ` David Ahern
0 siblings, 0 replies; 4+ messages in thread
From: David Ahern @ 2015-09-01 18:39 UTC (permalink / raw)
To: Nikolay Aleksandrov; +Cc: netdev
On 9/1/15 12:39 PM, Nikolay Aleksandrov wrote:
>
>> On Sep 1, 2015, at 11:25 AM, David Ahern <dsa@cumulusnetworks.com> wrote:
>>
>> for net-next. Forgot to add to subject line. (Thanks, Roopa, for the reminder.)
>>
>> On 9/1/15 12:18 PM, David Ahern wrote:
>>> A number of VRF patches used 'int' for table id. It should be u32 to be
>>> consistent with the rest of the stack.
>>>
>>> Fixes:
>>> 4e3c89920cd3a ("net: Introduce VRF related flags and helpers")
>>> 15be405eb2ea9 ("net: Add inet_addr lookup by table")
>>> 30bbaa1950055 ("net: Fix up inet_addr_type checks")
>>> 021dd3b8a142d ("net: Add routes to the table associated with the device")
>>> dc028da54ed35 ("inet: Move VRF table lookup to inlined function")
>>>
>>> Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
>>> ---
>>> include/net/route.h | 2 +-
>>> include/net/vrf.h | 24 ++++++++++++------------
>>> net/ipv4/af_inet.c | 2 +-
>>> net/ipv4/fib_frontend.c | 10 +++++-----
>>> net/ipv4/fib_semantics.c | 2 +-
>>> 5 files changed, 20 insertions(+), 20 deletions(-)
> <<snip>>
>
> Should the fib_table_lookup tracepoint be updated as well ? It seems to be using
> int for tb_id even though it’s a u32 in struct fib_table.
>
yes. good catch.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-09-01 18:39 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-01 18:18 [PATCH] net: Make table id type u32 David Ahern
2015-09-01 18:25 ` [PATCH net-next] " David Ahern
2015-09-01 18:39 ` Nikolay Aleksandrov
2015-09-01 18:39 ` David Ahern
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).