Le 20/01/2021 à 13:16, Philippe Mathieu-Daudé a écrit :
> On 1/19/21 6:54 PM, Laurent Vivier wrote:
>> From: Shu-Chun Weng <[email protected]>
>>
>> IPV6_ADDR_PREFERENCES (RFC5014: Source address selection) was not supported.
>>
>> Signed-off-by: Shu-Chun Weng <[email protected]>
>> Reviewed-by: Laurent Vivier <[email protected]>
>> Message-Id: <[email protected]>
>> Signed-off-by: Laurent Vivier <[email protected]>
>> ---
>>  linux-user/syscall.c | 3 +++
>>  1 file changed, 3 insertions(+)
>>
>> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
>> index 969db2008104..70c61d15ebf8 100644
>> --- a/linux-user/syscall.c
>> +++ b/linux-user/syscall.c
>> @@ -51,6 +51,7 @@
>>  #include <sys/sysinfo.h>
>>  #include <sys/signalfd.h>
>>  //#include <sys/user.h>
>> +#include <netinet/in.h>
>>  #include <netinet/ip.h>
>>  #include <netinet/tcp.h>
>>  #include <netinet/udp.h>
>> @@ -2272,6 +2273,7 @@ static abi_long do_setsockopt(int sockfd, int level, 
>> int optname,
>>          case IPV6_RECVDSTOPTS:
>>          case IPV6_2292DSTOPTS:
>>          case IPV6_TCLASS:
>> +        case IPV6_ADDR_PREFERENCES:
>>  #ifdef IPV6_RECVPATHMTU
>>          case IPV6_RECVPATHMTU:
>>  #endif
>> @@ -2926,6 +2928,7 @@ get_timeout:
>>          case IPV6_RECVDSTOPTS:
>>          case IPV6_2292DSTOPTS:
>>          case IPV6_TCLASS:
>> +        case IPV6_ADDR_PREFERENCES:
>>  #ifdef IPV6_RECVPATHMTU
>>          case IPV6_RECVPATHMTU:
>>  #endif
>>
> 
> Building on Centos7:
> 
> ../linux-user/syscall.c: In function 'do_setsockopt':
> ../linux-user/syscall.c:2276:14: error: 'IPV6_ADDR_PREFERENCES'
> undeclared (first use in this function)
>          case IPV6_ADDR_PREFERENCES:
>               ^
> ../linux-user/syscall.c:2276:14: note: each undeclared identifier is
> reported only once for each function it appears in
> ../linux-user/syscall.c: In function 'do_getsockopt':
> ../linux-user/syscall.c:2931:14: error: 'IPV6_ADDR_PREFERENCES'
> undeclared (first use in this function)
>          case IPV6_ADDR_PREFERENCES:
>               ^
> 

Strange... this is defined since kernel v2.6.26 in /usr/include/linux/in6.h

7cbca67c0732 [IPV6]: Support Source Address Selection API (RFC5014).

Could try adding the include?

Thanks,
Laurent

Reply via email to