[CRIU] [PATCH 4/5] inet: remember ipv6 connections' ifindex for restore
Andrey Wagin
avagin at gmail.com
Tue Nov 24 08:37:38 PST 2015
2015-11-24 18:39 GMT+03:00 Tycho Andersen <tycho.andersen at canonical.com>:
> On Tue, Nov 24, 2015 at 02:08:16PM +0300, Andrew Vagin wrote:
>> On Mon, Nov 23, 2015 at 01:55:27PM -0700, Tycho Andersen wrote:
>> > For some ipv6 scope types (link local, amongo others), we need to tell the
>> > kernel the ifindex of the interface whose address we want to bind to as
>> > well as the address itself.
>> >
>>
>> Can we use SO_BINDTODEVICE to get this information?
>
> Oh, probably. I didn't know about this flag. That would make things
> much simpler. I'll check and see.
>
>> diff --git a/test/zdtm/live/static/bridge.c b/test/zdtm/live/static/bridge.c
>> index 06bff50..5bb9c40 100644
>> --- a/test/zdtm/live/static/bridge.c
>> +++ b/test/zdtm/live/static/bridge.c
>> @@ -77,6 +77,13 @@ int main(int argc, char **argv)
>> goto out;
>> }
>>
>> + {
>> + char name[1024];
>> + socklen_t len = 1024;
>> + getsockopt(sk, SOL_SOCKET, SO_BINDTODEVICE, &name, &len);
>> + pr_err("%s\n", name);
>> + }
>> +
>> /* Here, we grep for inet because some of the IPV6 DAD stuff can be
>> * racy, and all we really care about is that the bridge got restored
>> * with the right MAC, since we know DAD will succeed eventually.
>>
>> [root at fc22-vm criu]# cat test/zdtm/live/static/bridge.out
>> 10:58:52.252: 4: ERR: bridge.c:84: zdtmbr0
>> 10:58:52.261: 4: PASS
>
> Not sure what this means?
I use your test to check that SO_BINDTODEVICE does what we need. Looks
like we get the right answer by using this option.
>
> Tycho
> _______________________________________________
> CRIU mailing list
> CRIU at openvz.org
> https://lists.openvz.org/mailman/listinfo/criu
More information about the CRIU
mailing list