[CRIU] [PATCH v3] net: Add ip rule save/restore
Kirill Tkhai
ktkhai at odin.com
Fri Oct 23 10:03:25 PDT 2015
On 23.10.2015 20:02, Pavel Emelyanov wrote:
> On 10/23/2015 07:58 PM, Kirill Tkhai wrote:
>>
>>
>> On 23.10.2015 19:54, Pavel Emelyanov wrote:
>>>> @@ -657,6 +678,32 @@ static inline int restore_route(int pid)
>>>> return 0;
>>>> }
>>>>
>>>> +static inline int restore_rule(int pid)
>>>> +{
>>>> + struct cr_img *img;
>>>> + int ret = 0;
>>>> +
>>>> + img = open_image(CR_FD_RULE, O_RSTR, pid);
>>>> + if (!img)
>>>
>>> Presumably in this case we should report -1.
>>
>> This case all developers and users must update their iproute2 package
>> to mainstream version.
>
> No, this is the case when the image file failed to open for some
> reason other than ENOENT. The iproute2 is not even yet launched.
Ah, sure, thanks.
>>>
>>>> + goto out;
>>>> + if (empty_image(img))
>>>> + goto close;
>>>> + /*
>>>> + * Delete 3 default rules to prevent duplicates. See kernel's
>>>> + * function fib_default_rules_init() for the details.
>>>> + */
>>>> + run_ip_tool("rule", "delete", NULL, -1, -1);
>>>> + run_ip_tool("rule", "delete", NULL, -1, -1);
>>>> + run_ip_tool("rule", "delete", NULL, -1, -1);
>>>> +
>>>> + if (restore_ip_dump(CR_FD_RULE, pid, "rule"))
>>>> + ret = -1;
>>>> +close:
>>>> + close_image(img);
>>>> +out:
>>>> + return ret;
>>>> +}
>>>> +
>>>
>> .
>>
>
More information about the CRIU
mailing list