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
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
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]
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]>
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.
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.
>
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.
> >