[CRIU] [PATCH CRIU 08/14] restore/net/ipv6: net device and def/all configuration

Pavel Tikhomirov ptikhomirov at virtuozzo.com
Mon Apr 4 06:58:10 PDT 2016



On 04/04/2016 04:38 PM, Pavel Emelyanov wrote:
> On 04/04/2016 01:30 PM, Pavel Tikhomirov wrote:
>>
>>
>> On 04/04/2016 01:16 PM, Pavel Emelyanov wrote:
>>>
>>>> @@ -163,9 +163,11 @@ static int net_conf_op(char *tgt, int *conf, int n, int op, char *proto,
>>>>    			continue;
>>>>    		}
>>>>    		/*
>>>> -		 * If dev conf value is the same as default skip restoring it
>>>> +		 * If dev conf value is the same as default skip restoring it,
>>>> +		 * mtu may be changed by disable_ipv6 so we can not skip
>>>> +		 * it's restore
>>>>    		 */
>>>
>>> No, this means that we should restore mtu after disable_ipv6. And we still can check
>>> for it to match default value.
>>
>> Imagine situation:
>> 1)restore disable_ipv6 for default
>> 2)restore mtu for default
>> 3)create eth0
>> 4)restore disable_ipv6 for eth0
>> 5)restore mtu for eth0
>>
>> After step 3 both default and eth0 mtu are set to default value. But
>> after step 4 eth0's one can possibly change. So do you mean we need to
>> first restore both default/disable_ipv6 and eth0/disable_ipv6 and only
>> after that restore default/mtu ?
>
> No. By step 5 will eth0's mtu match the default mtu?

By step 5 we will have eth0/mtu(in image) equal to default/mtu(in image) 
equal to default/mtu(sysctl) but not equal to eth0/mtu(sysctl).

>
>>>
>>>> -		if (def_conf && conf[i] == def_conf[i]) {
>>>> +		if (def_conf && conf[i] == def_conf[i] && strcmp(devconfs[i], "mtu")) {
>>>>    			pr_debug("DEBUG Skip %s/%s, val =%d\n", tgt, devconfs[i], conf[i]);
>>>>    			continue;
>>>>    		}
>>>
>>
>

-- 
Best regards, Tikhomirov Pavel
Software Developer, Virtuozzo.


More information about the CRIU mailing list