Message ID | 1477885947-35804-1-git-send-email-haifeng.lin@huawei.com (mailing list archive) |
---|---|
State | Superseded, archived |
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id D0E0358D8; Mon, 31 Oct 2016 04:53:16 +0100 (CET) Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [58.251.152.64]) by dpdk.org (Postfix) with ESMTP id 25FC756AB for <dev@dpdk.org>; Mon, 31 Oct 2016 04:53:13 +0100 (CET) Received: from 172.24.1.36 (EHLO SZXEML424-HUB.china.huawei.com) ([172.24.1.36]) by szxrg01-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id DUI33423; Mon, 31 Oct 2016 11:53:11 +0800 (CST) Received: from localhost (10.177.20.223) by SZXEML424-HUB.china.huawei.com (10.82.67.153) with Microsoft SMTP Server id 14.3.235.1; Mon, 31 Oct 2016 11:53:06 +0800 From: linhaifeng <haifeng.lin@huawei.com> To: <dev@dpdk.org>, <declan.doherty@intel.com> Date: Mon, 31 Oct 2016 11:52:27 +0800 Message-ID: <1477885947-35804-1-git-send-email-haifeng.lin@huawei.com> X-Mailer: git-send-email 1.8.5.2.msysgit.0 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.177.20.223] X-CFilter-Loop: Reflected Subject: [dpdk-dev] [PATCH] net/bonding: not handle vlan slow packet X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK <dev.dpdk.org> List-Unsubscribe: <http://dpdk.org/ml/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://dpdk.org/ml/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <http://dpdk.org/ml/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Commit Message
Linhaifeng
Oct. 31, 2016, 3:52 a.m. UTC
From: Haifeng Lin <haifeng.lin@huawei.com> if rx vlan offload is enable we should not handle vlan slow packets too. Signed-off-by: Haifeng Lin <haifeng.lin@huawei.com> --- drivers/net/bonding/rte_eth_bond_pmd.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
Comments
Hi Haifeng, On 10/31/2016 3:52 AM, linhaifeng wrote: > From: Haifeng Lin <haifeng.lin@huawei.com> > > if rx vlan offload is enable we should not handle vlan slow > packets too. > > Signed-off-by: Haifeng Lin <haifeng.lin@huawei.com> > --- > drivers/net/bonding/rte_eth_bond_pmd.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c > index 09ce7bf..ca17898 100644 > --- a/drivers/net/bonding/rte_eth_bond_pmd.c > +++ b/drivers/net/bonding/rte_eth_bond_pmd.c > @@ -169,7 +169,8 @@ bond_ethdev_rx_burst_8023ad(void *queue, struct rte_mbuf **bufs, > /* Remove packet from array if it is slow packet or slave is not > * in collecting state or bondign interface is not in promiscus > * mode and packet address does not match. */ > - if (unlikely(hdr->ether_type == ether_type_slow_be || > + if (unlikely((hdr->ether_type == ether_type_slow_be && > + !bufs[j]->vlan_tci) || > !collecting || (!promisc && > !is_multicast_ether_addr(&hdr->d_addr) && > !is_same_ether_addr(&bond_mac, &hdr->d_addr)))) { > There are a few version of this patch, I guess this one is the correct one, can you please confirm? Also this one supersede following one, right? http://dpdk.org/dev/patchwork/patch/16840/ It helps a lot if you use versioning in the patches [PATCH -vN] and add a description of changes in commit log (after "---") between patch versions. Thanks, ferruh
在 2016/11/1 18:46, Ferruh Yigit 写道: > Hi Haifeng, > > On 10/31/2016 3:52 AM, linhaifeng wrote: >> From: Haifeng Lin <haifeng.lin@huawei.com> >> >> if rx vlan offload is enable we should not handle vlan slow >> packets too. >> >> Signed-off-by: Haifeng Lin <haifeng.lin@huawei.com> >> --- >> drivers/net/bonding/rte_eth_bond_pmd.c | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c >> index 09ce7bf..ca17898 100644 >> --- a/drivers/net/bonding/rte_eth_bond_pmd.c >> +++ b/drivers/net/bonding/rte_eth_bond_pmd.c >> @@ -169,7 +169,8 @@ bond_ethdev_rx_burst_8023ad(void *queue, struct rte_mbuf **bufs, >> /* Remove packet from array if it is slow packet or slave is not >> * in collecting state or bondign interface is not in promiscus >> * mode and packet address does not match. */ >> - if (unlikely(hdr->ether_type == ether_type_slow_be || >> + if (unlikely((hdr->ether_type == ether_type_slow_be && >> + !bufs[j]->vlan_tci) || >> !collecting || (!promisc && >> !is_multicast_ether_addr(&hdr->d_addr) && >> !is_same_ether_addr(&bond_mac, &hdr->d_addr)))) { >> > > There are a few version of this patch, I guess this one is the correct > one, can you please confirm? > Also this one supersede following one, right? > http://dpdk.org/dev/patchwork/patch/16840/ yes,this is > > It helps a lot if you use versioning in the patches [PATCH -vN] and add > a description of changes in commit log (after "---") between patch versions. > ok,i think should not send patch so worry:) I have a question to ask: Is there any other packets' type also is 0x8809 except with lacp packets? I saw some guests try to use this type to check link status between VM but droped by lacp bond recv function. > Thanks, > ferruh > > . >
Hi,all please ignore the patch which title is "net/bonding: not handle vlan slow packet", I will send another one. 在 2016/11/1 20:32, linhaifeng 写道: > 在 2016/11/1 18:46, Ferruh Yigit 写道: >> Hi Haifeng, >> >> On 10/31/2016 3:52 AM, linhaifeng wrote: >>> From: Haifeng Lin <haifeng.lin@huawei.com> >>> >>> if rx vlan offload is enable we should not handle vlan slow >>> packets too. >>> >>> Signed-off-by: Haifeng Lin <haifeng.lin@huawei.com> >>> --- >>> drivers/net/bonding/rte_eth_bond_pmd.c | 3 ++- >>> 1 file changed, 2 insertions(+), 1 deletion(-) >>> >>> diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c >>> index 09ce7bf..ca17898 100644 >>> --- a/drivers/net/bonding/rte_eth_bond_pmd.c >>> +++ b/drivers/net/bonding/rte_eth_bond_pmd.c >>> @@ -169,7 +169,8 @@ bond_ethdev_rx_burst_8023ad(void *queue, struct rte_mbuf **bufs, >>> /* Remove packet from array if it is slow packet or slave is not >>> * in collecting state or bondign interface is not in promiscus >>> * mode and packet address does not match. */ >>> - if (unlikely(hdr->ether_type == ether_type_slow_be || >>> + if (unlikely((hdr->ether_type == ether_type_slow_be && >>> + !bufs[j]->vlan_tci) || >>> !collecting || (!promisc && >>> !is_multicast_ether_addr(&hdr->d_addr) && >>> !is_same_ether_addr(&bond_mac, &hdr->d_addr)))) { >>> >> >> There are a few version of this patch, I guess this one is the correct >> one, can you please confirm? >> Also this one supersede following one, right? >> http://dpdk.org/dev/patchwork/patch/16840/ > > yes,this is > >> >> It helps a lot if you use versioning in the patches [PATCH -vN] and add >> a description of changes in commit log (after "---") between patch versions. >> > > ok,i think should not send patch so worry:) > > I have a question to ask: > Is there any other packets' type also is 0x8809 except with lacp packets? > I saw some guests try to use this type to check link status between VM > but droped by lacp bond recv function. > > >> Thanks, >> ferruh >> >> . >> >
diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c index 09ce7bf..ca17898 100644 --- a/drivers/net/bonding/rte_eth_bond_pmd.c +++ b/drivers/net/bonding/rte_eth_bond_pmd.c @@ -169,7 +169,8 @@ bond_ethdev_rx_burst_8023ad(void *queue, struct rte_mbuf **bufs, /* Remove packet from array if it is slow packet or slave is not * in collecting state or bondign interface is not in promiscus * mode and packet address does not match. */ - if (unlikely(hdr->ether_type == ether_type_slow_be || + if (unlikely((hdr->ether_type == ether_type_slow_be && + !bufs[j]->vlan_tci) || !collecting || (!promisc && !is_multicast_ether_addr(&hdr->d_addr) && !is_same_ether_addr(&bond_mac, &hdr->d_addr)))) {