Sat, Jul 20, 2019 at 05:58:49AM CEST, jakub.kicin...@netronome.com wrote:
>On Fri, 19 Jul 2019 13:00:25 +0200, Jiri Pirko wrote:
>> +int netdev_name_node_alt_destroy(struct net_device *dev, char *name)
>> +{
>> +    struct netdev_name_node *name_node;
>> +    struct net *net = dev_net(dev);
>> +
>> +    name_node = netdev_name_node_lookup(net, name);
>> +    if (!name_node)
>> +            return -ENOENT;
>> +    __netdev_name_node_alt_destroy(name_node);
>> +
>> +    return 0;
>> +}
>> +EXPORT_SYMBOL(netdev_name_node_alt_destroy);
>
>I was surprised to see the exports are they strictly necessary?

Well I call them from net/core/rtnetlink.c, so yes. Maybe I'm missing
your point...


>Just wondering..
>
>> @@ -8258,6 +8313,7 @@ static void rollback_registered_many(struct list_head 
>> *head)
>>              dev_uc_flush(dev);
>>              dev_mc_flush(dev);
>>  
>> +            netdev_name_node_alt_flush(dev);
>>              netdev_name_node_free(dev->name_node);
>>  
>>              if (dev->netdev_ops->ndo_uninit)
>> diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
>> index 1ee6460f8275..7a2010b16e10 100644
>> --- a/net/core/rtnetlink.c
>> +++ b/net/core/rtnetlink.c
>> @@ -1750,6 +1750,8 @@ static const struct nla_policy ifla_policy[IFLA_MAX+1] 
>> = {
>>      [IFLA_CARRIER_DOWN_COUNT] = { .type = NLA_U32 },
>>      [IFLA_MIN_MTU]          = { .type = NLA_U32 },
>>      [IFLA_MAX_MTU]          = { .type = NLA_U32 },
>> +    [IFLA_ALT_IFNAME_MOD]   = { .type = NLA_STRING,
>> +                                .len = ALTIFNAMSIZ - 1 },
>
>Should we set:
>
>       .strict_start_type = IFLA_ALT_IFNAME_MOD

Probably yes. Will add it.


>
>?
>
>>  };
>>  
>>  static const struct nla_policy ifla_info_policy[IFLA_INFO_MAX+1] = {

Reply via email to