Re: [patch net-next 08/26] net: add info struct for LAG changeupper

Jiri Pirko
2015-12-02T11:11:21Z

Wed, Dec 02, 2015 at 12:07:51PM CET, nikolay@cumulusnetworks.com wrote:
>On 12/02/2015 12:06 PM, Jiri Pirko wrote:
>> Wed, Dec 02, 2015 at 11:59:59AM CET, nikolay@cumulusnetworks.com wrote:
>>> On 12/01/2015 02:48 PM, Jiri Pirko wrote:
>>>> From: Jiri Pirko <jiri@mellanox.com>
>>>>
>>>> This struct will be shared by bonding and team to pass internal
>>>> information to notifier listeners.
>>>>
>>>> Signed-off-by: Jiri Pirko <jiri@mellanox.com>
>>>> ---
>>>> include/linux/netdevice.h | 13 +++++++++++++
>>>> 1 file changed, 13 insertions(+)
>>>>
>>>> diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
>>>> index a55be5b..7ea3e83 100644
>>>> --- a/include/linux/netdevice.h
>>>> +++ b/include/linux/netdevice.h
>>>> @@ -2108,6 +2108,19 @@ struct pcpu_sw_netstats {
>>>> #define netdev_alloc_pcpu_stats(type) \
>>>> __netdev_alloc_pcpu_stats(type, GFP_KERNEL);
>>>>
>>>> +enum netdev_lag_tx_type {
>>>> + NETDEV_LAG_TX_TYPE_UNKNOWN,
>>>> + NETDEV_LAG_TX_TYPE_RANDOM,
>>>> + NETDEV_LAG_TX_TYPE_BROADCAST,
>>>> + NETDEV_LAG_TX_TYPE_ROUNDROBIN,
>>>> + NETDEV_LAG_TX_TYPE_ACTIVEBACKUP,
>>>> + NETDEV_LAG_TX_TYPE_HASH,
>>>> +};
>>>
>>> There're 2 more modes supported by the bonding which aren't supported by team,
>>> RLB and TLB. Since you've included _RANDOM, for completeness you can add
>>> these, too.
>>
>> For now it is "NETDEV_LAG_TX_TYPE_UNKNOWN". If needed to be identified
>> by driver, it can be easily added.
>>
>
>Out of curiosity, is _RANDOM needed to be identified by the driver ? :-)

RANDOM is easy to handle as it is obvious what it is doing. That cannot
be said about *LB. That is the reason I left those out for now.

>
>>
>>>
>>>> +
>>>> +struct netdev_lag_upper_info {
>>>> + enum netdev_lag_tx_type tx_type;
>>>> +};
>>>> +
>>>> #include <linux/notifier.h>
>>>>
>>>> /* netdevice notifier chain. Please remember to update the rtnetlink
>>>>
>>>
>