2018-07-25 22:21:27

by Anders Roxell

[permalink] [raw]
Subject: [PATCH] net/rds/Kconfig: RDS should depend on IPV6

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 <[email protected]>
---
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
---help---
The RDS (Reliable Datagram Sockets) protocol provides reliable,
sequenced delivery of datagrams over Infiniband or TCP.
--
2.18.0



2018-07-25 22:47:33

by Santosh Shilimkar

[permalink] [raw]
Subject: Re: [PATCH] net/rds/Kconfig: RDS should depend on IPV6

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 <[email protected]>
> ---
> 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



2018-07-26 04:57:39

by Ka-Cheong Poon

[permalink] [raw]
Subject: Re: [PATCH] net/rds/Kconfig: RDS should depend on IPV6

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 <[email protected]>
>> ---
>>   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
[email protected]



2018-07-26 05:03:37

by Santosh Shilimkar

[permalink] [raw]
Subject: Re: [PATCH] net/rds/Kconfig: RDS should depend on IPV6

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 <[email protected]>
>>> --- >>>   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 <[email protected]>


2018-07-26 05:35:47

by David Miller

[permalink] [raw]
Subject: Re: [PATCH] net/rds/Kconfig: RDS should depend on IPV6

From: Anders Roxell <[email protected]>
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 <[email protected]>

Applied.

2018-07-27 11:53:43

by Eric Dumazet

[permalink] [raw]
Subject: Re: [PATCH] net/rds/Kconfig: RDS should depend on IPV6



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 <[email protected]>
> ---
> 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.
>

2018-07-27 13:14:22

by Anders Roxell

[permalink] [raw]
Subject: Re: [PATCH] net/rds/Kconfig: RDS should depend on IPV6

On Fri, 27 Jul 2018 at 13:52, Eric Dumazet <[email protected]> wrote:
>
>
>
> 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 <[email protected]>
> > ---
> > 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

Hmm... Yes, I'll send out a new patch to fix it.

I'm sorry.

Cheers,
Anders

>
>
> > ---help---
> > The RDS (Reliable Datagram Sockets) protocol provides reliable,
> > sequenced delivery of datagrams over Infiniband or TCP.
> >