[CRIU] [PATCH CRIU 08/14] restore/net/ipv6: net device and def/all configuration
Pavel Tikhomirov
ptikhomirov at virtuozzo.com
Mon Apr 4 09:24:41 PDT 2016
Best regards, Tikhomirov Pavel
Software Developer, Virtuozzo.
----Пользователь Pavel Tikhomirov написал ----
> Best regards, Tikhomirov Pavel
> Software Developer, Virtuozzo.
>
> ----Пользователь Pavel Emelyanov написал ----
>
> > On 04/04/2016 06:38 PM, Pavel Tikhomirov wrote:
> > > On 04/04/2016 06:29 PM, Pavel Tikhomirov wrote:
> > >>
> > >>
> > >> On 04/04/2016 06:03 PM, Pavel Emelyanov wrote:
> > >>> On 04/04/2016 05:46 PM, Pavel Tikhomirov wrote:
> > >>>>
> > >>>>
> > >>>> On 04/04/2016 05:40 PM, Pavel Emelyanov wrote:
> > >>>>> On 04/04/2016 04:58 PM, Pavel Tikhomirov wrote:
> > >>>>>>
> > >>>>>>
> > >>>>>> 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).
> > >>>>>
> > >>>>> How can this happen? Anything in the image should match the same in
> > >>>>> sysctl-s
> > >>>>> on the dump side, so if eth0.mtu == default.mtu in image, then the
> > >>>>> same is
> > >>>>> true for sysctls on dump side. Why should it differ on restore?
> > >>>>
> > >>>> From comment to 06/14 patch:
> > >>>>
> > >>>> >In
> > >>>> addrconf_sysctl_disable->addrconf_disable_ipv6->dev_disable_change:
> > >>>> >On addrconf_notify + NETDEV_UP if idev->cnf.mtu6 differs from
> > >>>> dev->mtu,
> > >>>> >sysctl mtu6 is overwritten.
> > >>>> >
> > >>>> >So changing disable_ipv6 sysctl for some device may change mtu sysctl
> > >>>> >for it...
> > >>>>
> > >>>> eth0.mtu sysctl changed on step 4.
> > >>>
> > >>> Argh... Let's come with examples. Would you show the combination of
> > >>> eth0/default
> > >>> mtu/disable_ipv6 -s _in_ _images_ that would be restored wrongly if we
> > >>> don't
> > >>> make the check you suggest?
> > >>
> > >
> > > In images:
> > >
> > > eth0.mtu = 1500
> > >
> > > def_conf6.mtu=1280 def_conf.disable_ipv6=1
> > > eth0.conf6.mtu=1280 eth0.conf6.disable_ipv6=0
> >
> > OK. So you mean that when we create eth0, it will inherit mtu from default
> > and will have it be 1280, but when we'll set eth0.disable_ipv6 to 0 the
> > eth0.mtu will change to 1500. Right?
>
> Yes. But now I see that even after creation it will be 1500 already.
But still patch fixes both problems.
>
> >
> > -- Pavel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openvz.org/pipermail/criu/attachments/20160404/9ff91005/attachment.html>
More information about the CRIU
mailing list