netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [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).