Le 05/06/2018 à 18:52, Stephen Hemminger a écrit :
> On Tue,  5 Jun 2018 15:08:30 +0200
> Nicolas Dichtel <nicolas.dich...@6wind.com> wrote:
> 
>>  
>> +char *get_name_from_nsid(int nsid)
>> +{
>> +    struct nsid_cache *c;
>> +
>> +    netns_nsid_socket_init();
>> +    netns_map_init();
>> +
>> +    c = netns_map_get_by_nsid(nsid);
>> +    if (c)
>> +            return c->name;
>> +
>> +    return NULL;
>> +}
>> +
> 
> This is better, but now there is a different problem.
> When doing multiple interfaces, won't the initialization code be called twice?
> 
No, the init function is propected:

void netns_nsid_socket_init(void)
{
        if (rtnsh.fd > -1 || !ipnetns_have_nsid())
                return;
...

void netns_map_init(void)
{
...
        if (initialized || !ipnetns_have_nsid())
                return;
...

Reply via email to