Netdev Archive on lore.kernel.org
 help / Atom feed
From: Mark Bloch <markb@mellanox.com>
To: wenxu <wenxu@ucloud.cn>, Saeed Mahameed <saeedm@mellanox.com>,
	Roi Dayan <roid@mellanox.com>
Cc: "netdev@vger.kernel.org" <netdev@vger.kernel.org>
Subject: Re: [PATCH v2] net/mlx5e: Add bonding device for indr block to offload the packet received from bonding device
Date: Sat, 18 May 2019 05:09:19 +0000
Message-ID: <16f1a1c9-a02b-e17d-dd95-71c525f8c1be@mellanox.com> (raw)
In-Reply-To: <2b7bb0a4-d697-2a7e-fa02-399f1368d809@ucloud.cn>



On 5/17/2019 20:17, wenxu wrote:
> 
> 在 2019/5/18 6:11, Mark Bloch 写道:
>>
>> On 5/17/19 2:17 AM, wenxu@ucloud.cn wrote:
>>> From: wenxu <wenxu@ucloud.cn>
>>>
>>> The mlx5e support the lag mode. When add mlx_p0 and mlx_p1 to bond0.
>>> packet received from mlx_p0 or mlx_p1 and in the ingress tc flower
>>> forward to vf0. The tc rule can't be offloaded because there is
>>> no indr_register_block for the bonding device.
>>>
>>> Signed-off-by: wenxu <wenxu@ucloud.cn>
>>> ---
>>>  drivers/net/ethernet/mellanox/mlx5/core/en_rep.c | 1 +
>>>  1 file changed, 1 insertion(+)
>>>
>>> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c b/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
>>> index 91e24f1..134fa0b 100644
>>> --- a/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
>>> +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
>>> @@ -796,6 +796,7 @@ static int mlx5e_nic_rep_netdevice_event(struct notifier_block *nb,
>>>  	struct net_device *netdev = netdev_notifier_info_to_dev(ptr);
>>>  
>>>  	if (!mlx5e_tc_tun_device_to_offload(priv, netdev) &&
>>> +	    !netif_is_bond_master(netdev) &&
>> I'm not that familiar with this code path, but shouldn't you check the mlx5e
>> netdevices are slaves of the bond device (what if you have multiple
>> bond devices in the system?)
> 
> The bonding device is not simlilar with vlan device,  when vlan device is register, the real device is defintived.  But the when the bonding device is register, there maybe not slave device.

I know how bonding works, that's why I asked what I asked.
It seems there is a piece of code missing which filters the rules (probably in mlx5e_configure_flower())
 
> 
> As the following codes. Any NETDEV_REGISTER EVENT will do indr register block.
> 
>     if (!mlx5e_tc_tun_device_to_offload(priv, netdev) &&
>         !netif_is_bond_master(netdev) &&
>         !is_vlan_dev(netdev))
>         return NOTIFY_OK;
> 
>     switch (event) {
>     case NETDEV_REGISTER:
>         mlx5e_rep_indr_register_block(rpriv, netdev);
> 
>>>  	    !is_vlan_dev(netdev))
>>>  		return NOTIFY_OK;
>>>  
>>>
>> Mark

Mark

  reply index

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-17  9:17 wenxu
2019-05-17 20:34 ` Saeed Mahameed
2019-05-17 22:11 ` Mark Bloch
2019-05-18  3:17   ` wenxu
2019-05-18  5:09     ` Mark Bloch [this message]
2019-05-19  7:23 ` Or Gerlitz

Reply instructions:

You may reply publically to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=16f1a1c9-a02b-e17d-dd95-71c525f8c1be@mellanox.com \
    --to=markb@mellanox.com \
    --cc=netdev@vger.kernel.org \
    --cc=roid@mellanox.com \
    --cc=saeedm@mellanox.com \
    --cc=wenxu@ucloud.cn \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Netdev Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/netdev/0 netdev/git/0.git
	git clone --mirror https://lore.kernel.org/netdev/1 netdev/git/1.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 netdev netdev/ https://lore.kernel.org/netdev \
		netdev@vger.kernel.org netdev@archiver.kernel.org
	public-inbox-index netdev


Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.netdev


AGPL code for this site: git clone https://public-inbox.org/ public-inbox