net/rds/Kconfig: RDS should depend on IPV6

Message ID 20180725222008.32186-1-anders.roxell@linaro.org
State Accepted
Commit ba7d7e2677c0953b251c36588b15f5f442e59c84
Headers show
Series
  • net/rds/Kconfig: RDS should depend on IPV6
Related show

Commit Message

Anders Roxell July 25, 2018, 10:20 p.m.
Build error, implicit declaration of function __inet6_ehashfn shows up
When RDS is enabled but not IPV6.
net/rds/connection.c: In function ‘rds_conn_bucket’:
net/rds/connection.c:67:9: error: implicit declaration of function ‘__inet6_ehashfn’; did you mean ‘__inet_ehashfn’? [-Werror=implicit-function-declaration]
  hash = __inet6_ehashfn(lhash, 0, fhash, 0, rds_hash_secret);
         ^~~~~~~~~~~~~~~
         __inet_ehashfn

Current code adds IPV6 as a depends on in config RDS.

Fixes: eee2fa6ab322 ("rds: Changing IP address internal representation to struct in6_addr")
Signed-off-by: Anders Roxell <anders.roxell@linaro.org>

---
 net/rds/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
2.18.0

Comments

santosh.shilimkar@oracle.com July 25, 2018, 10:36 p.m. | #1
On 7/25/2018 3:20 PM, Anders Roxell wrote:
> Build error, implicit declaration of function __inet6_ehashfn shows up

> When RDS is enabled but not IPV6.

> net/rds/connection.c: In function ‘rds_conn_bucket’:

> net/rds/connection.c:67:9: error: implicit declaration of function ‘__inet6_ehashfn’; did you mean ‘__inet_ehashfn’? [-Werror=implicit-function-declaration]

>    hash = __inet6_ehashfn(lhash, 0, fhash, 0, rds_hash_secret);

>           ^~~~~~~~~~~~~~~

>           __inet_ehashfn

> 

> Current code adds IPV6 as a depends on in config RDS.

> 

> Fixes: eee2fa6ab322 ("rds: Changing IP address internal representation to struct in6_addr")

> Signed-off-by: Anders Roxell <anders.roxell@linaro.org>

> ---

>   net/rds/Kconfig | 2 +-

>   1 file changed, 1 insertion(+), 1 deletion(-)

> 

> diff --git a/net/rds/Kconfig b/net/rds/Kconfig

> index 41f75563b54b..607128f10bcd 100644

> --- a/net/rds/Kconfig

> +++ b/net/rds/Kconfig

> @@ -1,7 +1,7 @@

>   

>   config RDS

>   	tristate "The RDS Protocol"

> -	depends on INET

> +	depends on INET && CONFIG_IPV6

This should build without CONFIG_IPV6 too.

Hi Ka-cheong,
Can you please loot at it ? I know you modified
lookup function to take always in6_addr now, but
probably hashing with '__inet_ehashfn' should
work too for non IPV6 address(s).

Regards,
Santosh
Ka-Cheong Poon July 26, 2018, 4:56 a.m. | #2
On 07/26/2018 06:36 AM, Santosh Shilimkar wrote:
> On 7/25/2018 3:20 PM, Anders Roxell wrote:

>> Build error, implicit declaration of function __inet6_ehashfn shows up

>> When RDS is enabled but not IPV6.

>> net/rds/connection.c: In function ‘rds_conn_bucket’:

>> net/rds/connection.c:67:9: error: implicit declaration of function 

>> ‘__inet6_ehashfn’; did you mean ‘__inet_ehashfn’? 

>> [-Werror=implicit-function-declaration]

>>    hash = __inet6_ehashfn(lhash, 0, fhash, 0, rds_hash_secret);

>>           ^~~~~~~~~~~~~~~

>>           __inet_ehashfn

>>

>> Current code adds IPV6 as a depends on in config RDS.

>>

>> Fixes: eee2fa6ab322 ("rds: Changing IP address internal representation 

>> to struct in6_addr")

>> Signed-off-by: Anders Roxell <anders.roxell@linaro.org>

>> ---

>>   net/rds/Kconfig | 2 +-

>>   1 file changed, 1 insertion(+), 1 deletion(-)

>>

>> diff --git a/net/rds/Kconfig b/net/rds/Kconfig

>> index 41f75563b54b..607128f10bcd 100644

>> --- a/net/rds/Kconfig

>> +++ b/net/rds/Kconfig

>> @@ -1,7 +1,7 @@

>>   config RDS

>>       tristate "The RDS Protocol"

>> -    depends on INET

>> +    depends on INET && CONFIG_IPV6

> This should build without CONFIG_IPV6 too.

> 

> Hi Ka-cheong,

> Can you please loot at it ? I know you modified

> lookup function to take always in6_addr now, but

> probably hashing with '__inet_ehashfn' should

> work too for non IPV6 address(s).



I guess for now, let's add this dependency first.  I
will do a follow up patch to remove this dependency.

Thanks.


-- 
K. Poon
ka-cheong.poon@oracle.com
santosh.shilimkar@oracle.com July 26, 2018, 5:02 a.m. | #3
On 7/25/18 9:56 PM, Ka-Cheong Poon wrote:
> On 07/26/2018 06:36 AM, Santosh Shilimkar wrote:

>> On 7/25/2018 3:20 PM, Anders Roxell wrote:

>>> Build error, implicit declaration of function __inet6_ehashfn shows up

>>> When RDS is enabled but not IPV6.

>>> net/rds/connection.c: In function ‘rds_conn_bucket’:

>>> net/rds/connection.c:67:9: error: implicit declaration of function 

>>> ‘__inet6_ehashfn’; did you mean ‘__inet_ehashfn’? 

>>> [-Werror=implicit-function-declaration]

>>>    hash = __inet6_ehashfn(lhash, 0, fhash, 0, rds_hash_secret);

>>>           ^~~~~~~~~~~~~~~

>>>           __inet_ehashfn

>>>

>>> Current code adds IPV6 as a depends on in config RDS.

>>>

>>> Fixes: eee2fa6ab322 ("rds: Changing IP address internal 

>>> representation to struct in6_addr")

>>> Signed-off-by: Anders Roxell <anders.roxell@linaro.org>

>>> --- >>>   net/rds/Kconfig | 2 +-

>>>   1 file changed, 1 insertion(+), 1 deletion(-)

>>>

>>> diff --git a/net/rds/Kconfig b/net/rds/Kconfig

>>> index 41f75563b54b..607128f10bcd 100644

>>> --- a/net/rds/Kconfig

>>> +++ b/net/rds/Kconfig

>>> @@ -1,7 +1,7 @@

>>>   config RDS

>>>       tristate "The RDS Protocol"

>>> -    depends on INET

>>> +    depends on INET && CONFIG_IPV6

>> This should build without CONFIG_IPV6 too.

>>

>> Hi Ka-cheong,

>> Can you please loot at it ? I know you modified

>> lookup function to take always in6_addr now, but

>> probably hashing with '__inet_ehashfn' should

>> work too for non IPV6 address(s).

> 

> 

> I guess for now, let's add this dependency first.  I

> will do a follow up patch to remove this dependency.

> 

Sounds good to me.

FWIW,
Acked-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
David Miller July 26, 2018, 5:34 a.m. | #4
From: Anders Roxell <anders.roxell@linaro.org>

Date: Thu, 26 Jul 2018 00:20:08 +0200

> Build error, implicit declaration of function __inet6_ehashfn shows up

> When RDS is enabled but not IPV6.

> net/rds/connection.c: In function ‘rds_conn_bucket’:

> net/rds/connection.c:67:9: error: implicit declaration of function ‘__inet6_ehashfn’; did you mean ‘__inet_ehashfn’? [-Werror=implicit-function-declaration]

>   hash = __inet6_ehashfn(lhash, 0, fhash, 0, rds_hash_secret);

>          ^~~~~~~~~~~~~~~

>          __inet_ehashfn

> 

> Current code adds IPV6 as a depends on in config RDS.

> 

> Fixes: eee2fa6ab322 ("rds: Changing IP address internal representation to struct in6_addr")

> Signed-off-by: Anders Roxell <anders.roxell@linaro.org>


Applied.
Eric Dumazet July 27, 2018, 11:52 a.m. | #5
On 07/25/2018 03:20 PM, Anders Roxell wrote:
> Build error, implicit declaration of function __inet6_ehashfn shows up

> When RDS is enabled but not IPV6.

> net/rds/connection.c: In function ‘rds_conn_bucket’:

> net/rds/connection.c:67:9: error: implicit declaration of function ‘__inet6_ehashfn’; did you mean ‘__inet_ehashfn’? [-Werror=implicit-function-declaration]

>   hash = __inet6_ehashfn(lhash, 0, fhash, 0, rds_hash_secret);

>          ^~~~~~~~~~~~~~~

>          __inet_ehashfn

> 

> Current code adds IPV6 as a depends on in config RDS.

> 

> Fixes: eee2fa6ab322 ("rds: Changing IP address internal representation to struct in6_addr")

> Signed-off-by: Anders Roxell <anders.roxell@linaro.org>

> ---

>  net/rds/Kconfig | 2 +-

>  1 file changed, 1 insertion(+), 1 deletion(-)

> 

> diff --git a/net/rds/Kconfig b/net/rds/Kconfig

> index 41f75563b54b..607128f10bcd 100644

> --- a/net/rds/Kconfig

> +++ b/net/rds/Kconfig

> @@ -1,7 +1,7 @@

>  

>  config RDS

>  	tristate "The RDS Protocol"

> -	depends on INET

> +	depends on INET && CONFIG_IPV6


You probably meant :

        depends on INET && IPV6


>  	---help---

>  	  The RDS (Reliable Datagram Sockets) protocol provides reliable,

>  	  sequenced delivery of datagrams over Infiniband or TCP.

>

Patch

diff --git a/net/rds/Kconfig b/net/rds/Kconfig
index 41f75563b54b..607128f10bcd 100644
--- a/net/rds/Kconfig
+++ b/net/rds/Kconfig
@@ -1,7 +1,7 @@ 
 
 config RDS
 	tristate "The RDS Protocol"
-	depends on INET
+	depends on INET && CONFIG_IPV6
 	---help---
 	  The RDS (Reliable Datagram Sockets) protocol provides reliable,
 	  sequenced delivery of datagrams over Infiniband or TCP.