These 2 patches fix issues related to the promiscuous mode on VF.
Comments are welcome, Olivier
Cc: stable@vger.kernel.org Cc: Nicolas Dichtel nicolas.dichtel@6wind.com
Changes since v1: - resend with CC intel-wired-lan - remove CC Hiroshi Shimamoto (address does not exist anymore)
Olivier Matz (2): ixgbe: fix bcast packets Rx on VF after promisc removal ixgbe: fix unexpected VLAN Rx in promisc mode on VF
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
After a VF requested to remove the promiscuous flag on an interface, the broadcast packets are not received anymore. This breaks some protocols like ARP.
In ixgbe_update_vf_xcast_mode(), we should keep the IXGBE_VMOLR_BAM bit (Broadcast Accept) on promiscuous removal.
This flag is already set by default in ixgbe_set_vmolr() on VF reset.
Fixes: 8443c1a4b192 ("ixgbe, ixgbevf: Add new mbox API xcast mode") Cc: stable@vger.kernel.org Cc: Nicolas Dichtel nicolas.dichtel@6wind.com Signed-off-by: Olivier Matz olivier.matz@6wind.com --- drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c index 7f11c0a8e7a9..8d108a78941b 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c @@ -1184,9 +1184,9 @@ static int ixgbe_update_vf_xcast_mode(struct ixgbe_adapter *adapter,
switch (xcast_mode) { case IXGBEVF_XCAST_MODE_NONE: - disable = IXGBE_VMOLR_BAM | IXGBE_VMOLR_ROMPE | + disable = IXGBE_VMOLR_ROMPE | IXGBE_VMOLR_MPE | IXGBE_VMOLR_UPE | IXGBE_VMOLR_VPE; - enable = 0; + enable = IXGBE_VMOLR_BAM; break; case IXGBEVF_XCAST_MODE_MULTI: disable = IXGBE_VMOLR_MPE | IXGBE_VMOLR_UPE | IXGBE_VMOLR_VPE;
-----Original Message----- From: Intel-wired-lan intel-wired-lan-bounces@osuosl.org On Behalf Of Olivier Matz Sent: Wednesday, April 6, 2022 11:53 AM To: netdev@vger.kernel.org Cc: Paul Menzel pmenzel@molgen.mpg.de; intel-wired-lan@osuosl.org; stable@vger.kernel.org; Jakub Kicinski kuba@kernel.org; Nicolas Dichtel nicolas.dichtel@6wind.com; Paolo Abeni pabeni@redhat.com; David S . Miller davem@davemloft.net Subject: [Intel-wired-lan] [PATCH net v2 1/2] ixgbe: fix bcast packets Rx on VF after promisc removal
After a VF requested to remove the promiscuous flag on an interface, the broadcast packets are not received anymore. This breaks some protocols like ARP.
In ixgbe_update_vf_xcast_mode(), we should keep the IXGBE_VMOLR_BAM bit (Broadcast Accept) on promiscuous removal.
This flag is already set by default in ixgbe_set_vmolr() on VF reset.
Fixes: 8443c1a4b192 ("ixgbe, ixgbevf: Add new mbox API xcast mode") Cc: stable@vger.kernel.org Cc: Nicolas Dichtel nicolas.dichtel@6wind.com Signed-off-by: Olivier Matz olivier.matz@6wind.com
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c index 7f11c0a8e7a9..8d108a78941b 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c @@ -1184,9 +1184,9 @@ static int ixgbe_update_vf_xcast_mode(struct
Tested-by: Konrad Jankowski konrad0.jankowski@intel.com
When the promiscuous mode is enabled on a VF, the IXGBE_VMOLR_VPE bit (VLAN Promiscuous Enable) is set. This means that the VF will receive packets whose VLAN is not the same than the VLAN of the VF.
For instance, in this situation:
┌────────┐ ┌────────┐ ┌────────┐ │ │ │ │ │ │ │ │ │ │ │ │ │ VF0├────┤VF1 VF2├────┤VF3 │ │ │ │ │ │ │ └────────┘ └────────┘ └────────┘ VM1 VM2 VM3
vf 0: vlan 1000 vf 1: vlan 1000 vf 2: vlan 1001 vf 3: vlan 1001
If we tcpdump on VF3, we see all the packets, even those transmitted on vlan 1000.
This behavior prevents to bridge VF1 and VF2 in VM2, because it will create a loop: packets transmitted on VF1 will be received by VF2 and vice-versa, and bridged again through the software bridge.
This patch remove the activation of VLAN Promiscuous when a VF enables the promiscuous mode. However, the IXGBE_VMOLR_UPE bit (Unicast Promiscuous) is kept, so that a VF receives all packets that has the same VLAN, whatever the destination MAC address.
Fixes: 8443c1a4b192 ("ixgbe, ixgbevf: Add new mbox API xcast mode") Cc: stable@vger.kernel.org Cc: Nicolas Dichtel nicolas.dichtel@6wind.com Signed-off-by: Olivier Matz olivier.matz@6wind.com --- drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c index 8d108a78941b..d4e63f0644c3 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c @@ -1208,9 +1208,9 @@ static int ixgbe_update_vf_xcast_mode(struct ixgbe_adapter *adapter, return -EPERM; }
- disable = 0; + disable = IXGBE_VMOLR_VPE; enable = IXGBE_VMOLR_BAM | IXGBE_VMOLR_ROMPE | - IXGBE_VMOLR_MPE | IXGBE_VMOLR_UPE | IXGBE_VMOLR_VPE; + IXGBE_VMOLR_MPE | IXGBE_VMOLR_UPE; break; default: return -EOPNOTSUPP;
-----Original Message----- From: Intel-wired-lan intel-wired-lan-bounces@osuosl.org On Behalf Of Olivier Matz Sent: Wednesday, April 6, 2022 11:53 AM To: netdev@vger.kernel.org Cc: Paul Menzel pmenzel@molgen.mpg.de; intel-wired-lan@osuosl.org; stable@vger.kernel.org; Jakub Kicinski kuba@kernel.org; Nicolas Dichtel nicolas.dichtel@6wind.com; Paolo Abeni pabeni@redhat.com; David S . Miller davem@davemloft.net Subject: [Intel-wired-lan] [PATCH net v2 2/2] ixgbe: fix unexpected VLAN Rx in promisc mode on VF
When the promiscuous mode is enabled on a VF, the IXGBE_VMOLR_VPE bit (VLAN Promiscuous Enable) is set. This means that the VF will receive packets whose VLAN is not the same than the VLAN of the VF.
For instance, in this situation:
┌────────┐ ┌────────┐ ┌────────┐ │ │ │ │ │ │ │ │ │ │ │ │ │ VF0├────┤VF1 VF2├────┤VF3 │ │ │ │ │ │ │ └────────┘ └────────┘ └────────┘ VM1 VM2 VM3
vf 0: vlan 1000 vf 1: vlan 1000 vf 2: vlan 1001 vf 3: vlan 1001
If we tcpdump on VF3, we see all the packets, even those transmitted on vlan 1000.
This behavior prevents to bridge VF1 and VF2 in VM2, because it will create a loop: packets transmitted on VF1 will be received by VF2 and vice-versa, and bridged again through the software bridge.
This patch remove the activation of VLAN Promiscuous when a VF enables the promiscuous mode. However, the IXGBE_VMOLR_UPE bit (Unicast Promiscuous) is kept, so that a VF receives all packets that has the same VLAN, whatever the destination MAC address.
Fixes: 8443c1a4b192 ("ixgbe, ixgbevf: Add new mbox API xcast mode") Cc: stable@vger.kernel.org Cc: Nicolas Dichtel nicolas.dichtel@6wind.com Signed-off-by: Olivier Matz olivier.matz@6wind.com
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c index 8d108a78941b..d4e63f0644c3 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c @@ -1208,9 +1208,9 @@ static int ixgbe_update_vf_xcast_mode(struct
Tested-by: Konrad Jankowski konrad0.jankowski@intel.com
Hi,
On Wed, Apr 06, 2022 at 11:52:50AM +0200, Olivier Matz wrote:
These 2 patches fix issues related to the promiscuous mode on VF.
Comments are welcome, Olivier
Cc: stable@vger.kernel.org Cc: Nicolas Dichtel nicolas.dichtel@6wind.com
Changes since v1:
- resend with CC intel-wired-lan
- remove CC Hiroshi Shimamoto (address does not exist anymore)
Olivier Matz (2): ixgbe: fix bcast packets Rx on VF after promisc removal ixgbe: fix unexpected VLAN Rx in promisc mode on VF
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
Any feedback about this patchset? Comments are welcome.
Thanks, Olivier
Hi,
On Mon, Apr 25, 2022 at 01:51:53PM +0200, Olivier Matz wrote:
Hi,
On Wed, Apr 06, 2022 at 11:52:50AM +0200, Olivier Matz wrote:
These 2 patches fix issues related to the promiscuous mode on VF.
Comments are welcome, Olivier
Cc: stable@vger.kernel.org Cc: Nicolas Dichtel nicolas.dichtel@6wind.com
Changes since v1:
- resend with CC intel-wired-lan
- remove CC Hiroshi Shimamoto (address does not exist anymore)
Olivier Matz (2): ixgbe: fix bcast packets Rx on VF after promisc removal ixgbe: fix unexpected VLAN Rx in promisc mode on VF
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
Any feedback about this patchset? Comments are welcome.
I didn't get feedback for this patchset until now. Am I doing things correctly? Am I targeting the appropriate mailing lists and people?
Please let me know if I missed something.
Thanks, Olivier
On Tue, 24 May 2022 09:37:52 +0200 Olivier Matz wrote:
On Mon, Apr 25, 2022 at 01:51:53PM +0200, Olivier Matz wrote:
On Wed, Apr 06, 2022 at 11:52:50AM +0200, Olivier Matz wrote:
These 2 patches fix issues related to the promiscuous mode on VF.
Comments are welcome, Olivier
Cc: stable@vger.kernel.org Cc: Nicolas Dichtel nicolas.dichtel@6wind.com
Changes since v1:
- resend with CC intel-wired-lan
- remove CC Hiroshi Shimamoto (address does not exist anymore)
Olivier Matz (2): ixgbe: fix bcast packets Rx on VF after promisc removal ixgbe: fix unexpected VLAN Rx in promisc mode on VF
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
Any feedback about this patchset? Comments are welcome.
I didn't get feedback for this patchset until now. Am I doing things correctly? Am I targeting the appropriate mailing lists and people?
Please let me know if I missed something.
You are doing this correctly.. adding a couple more Intel folks.
On Mon, Apr 25, 2022 at 01:51:53PM +0200, Olivier Matz wrote:
Hi,
On Wed, Apr 06, 2022 at 11:52:50AM +0200, Olivier Matz wrote:
These 2 patches fix issues related to the promiscuous mode on VF.
Comments are welcome, Olivier
Cc: stable@vger.kernel.org Cc: Nicolas Dichtel nicolas.dichtel@6wind.com
Changes since v1:
- resend with CC intel-wired-lan
- remove CC Hiroshi Shimamoto (address does not exist anymore)
Olivier Matz (2): ixgbe: fix bcast packets Rx on VF after promisc removal ixgbe: fix unexpected VLAN Rx in promisc mode on VF
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
Any feedback about this patchset? Comments are welcome.
I didn't get feedback for this patchset until now. Am I doing things correctly? Am I targeting the appropriate mailing lists and people?
Please let me know if I missed something.
Hi Olivier,
Sorry for the late reply, We had to analyze it internally and it took us some time. After reviewing, we decided that the proposed patches could be accepted.
ACK for series.
Thanks, Piotr
Hi Piotr,
On Thu, May 26, 2022 at 04:10:15PM +0200, Piotr Skajewski wrote:
On Mon, Apr 25, 2022 at 01:51:53PM +0200, Olivier Matz wrote:
Hi,
On Wed, Apr 06, 2022 at 11:52:50AM +0200, Olivier Matz wrote:
These 2 patches fix issues related to the promiscuous mode on VF.
Comments are welcome, Olivier
Cc: stable@vger.kernel.org Cc: Nicolas Dichtel nicolas.dichtel@6wind.com
Changes since v1:
- resend with CC intel-wired-lan
- remove CC Hiroshi Shimamoto (address does not exist anymore)
Olivier Matz (2): ixgbe: fix bcast packets Rx on VF after promisc removal ixgbe: fix unexpected VLAN Rx in promisc mode on VF
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
Any feedback about this patchset? Comments are welcome.
I didn't get feedback for this patchset until now. Am I doing things correctly? Am I targeting the appropriate mailing lists and people?
Please let me know if I missed something.
Hi Olivier,
Sorry for the late reply, We had to analyze it internally and it took us some time. After reviewing, we decided that the proposed patches could be accepted.
ACK for series.
No problem for the delay. Thank you!
Olivier
linux-stable-mirror@lists.linaro.org