All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] igb: add VF trust infrastructure
@ 2018-01-17 10:53 ` Corinna Vinschen
  0 siblings, 0 replies; 10+ messages in thread
From: Corinna Vinschen @ 2018-01-17 10:53 UTC (permalink / raw)
  To: intel-wired-lan; +Cc: netdev, Corinna Vinschen

* Add a per-VF value to know if a VF is trusted, by default don't
  trust VFs.

* Implement netdev op to trust VFs (igb_ndo_set_vf_trust) and add
  trust status to ndo_get_vf_config output.

* Allow a trusted VF to change MAC and MAC filters even if MAC
  has been administratively set.

Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
---
 drivers/net/ethernet/intel/igb/igb.h      |  1 +
 drivers/net/ethernet/intel/igb/igb_main.c | 30 +++++++++++++++++++++++++++---
 2 files changed, 28 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ethernet/intel/igb/igb.h b/drivers/net/ethernet/intel/igb/igb.h
index 1c6b8d9176a8..55d6f17d5799 100644
--- a/drivers/net/ethernet/intel/igb/igb.h
+++ b/drivers/net/ethernet/intel/igb/igb.h
@@ -109,6 +109,7 @@ struct vf_data_storage {
 	u16 pf_qos;
 	u16 tx_rate;
 	bool spoofchk_enabled;
+	bool trusted;
 };
 
 /* Number of unicast MAC filters reserved for the PF in the RAR registers */
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
index 749fb1f720b4..5cbec6cf2b2a 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -190,6 +190,8 @@ static int igb_ndo_set_vf_vlan(struct net_device *netdev,
 static int igb_ndo_set_vf_bw(struct net_device *, int, int, int);
 static int igb_ndo_set_vf_spoofchk(struct net_device *netdev, int vf,
 				   bool setting);
+static int igb_ndo_set_vf_trust(struct net_device *netdev, int vf,
+				bool setting);
 static int igb_ndo_get_vf_config(struct net_device *netdev, int vf,
 				 struct ifla_vf_info *ivi);
 static void igb_check_vf_rate_limit(struct igb_adapter *);
@@ -2527,6 +2529,7 @@ static const struct net_device_ops igb_netdev_ops = {
 	.ndo_set_vf_vlan	= igb_ndo_set_vf_vlan,
 	.ndo_set_vf_rate	= igb_ndo_set_vf_bw,
 	.ndo_set_vf_spoofchk	= igb_ndo_set_vf_spoofchk,
+	.ndo_set_vf_trust	= igb_ndo_set_vf_trust,
 	.ndo_get_vf_config	= igb_ndo_get_vf_config,
 #ifdef CONFIG_NET_POLL_CONTROLLER
 	.ndo_poll_controller	= igb_netpoll,
@@ -6383,6 +6386,9 @@ static int igb_vf_configure(struct igb_adapter *adapter, int vf)
 	/* By default spoof check is enabled for all VFs */
 	adapter->vf_data[vf].spoofchk_enabled = true;
 
+	/* By default VFs are not trusted */
+	adapter->vf_data[vf].trusted = false;
+
 	return 0;
 }
 
@@ -6940,13 +6946,13 @@ static int igb_set_vf_mac_filter(struct igb_adapter *adapter, const int vf,
 		}
 		break;
 	case E1000_VF_MAC_FILTER_ADD:
-		if (vf_data->flags & IGB_VF_FLAG_PF_SET_MAC) {
+		if ((vf_data->flags & IGB_VF_FLAG_PF_SET_MAC) &&
+		    !vf_data->trusted) {
 			dev_warn(&pdev->dev,
 				 "VF %d requested MAC filter but is administratively denied\n",
 				 vf);
 			return -EINVAL;
 		}
-
 		if (!is_valid_ether_addr(addr)) {
 			dev_warn(&pdev->dev,
 				 "VF %d attempted to set invalid MAC filter\n",
@@ -6998,7 +7004,8 @@ static int igb_set_vf_mac_addr(struct igb_adapter *adapter, u32 *msg, int vf)
 	int ret = 0;
 
 	if (!info) {
-		if (vf_data->flags & IGB_VF_FLAG_PF_SET_MAC) {
+		if ((vf_data->flags & IGB_VF_FLAG_PF_SET_MAC) &&
+		    !vf_data->trusted) {
 			dev_warn(&pdev->dev,
 				 "VF %d attempted to override administratively set MAC address\nReload the VF driver to resume operations\n",
 				 vf);
@@ -8934,6 +8941,22 @@ static int igb_ndo_set_vf_spoofchk(struct net_device *netdev, int vf,
 	return 0;
 }
 
+static int igb_ndo_set_vf_trust(struct net_device *netdev, int vf, bool setting)
+{
+	struct igb_adapter *adapter = netdev_priv(netdev);
+
+	if (vf >= adapter->vfs_allocated_count)
+		return -EINVAL;
+	if (adapter->vf_data[vf].trusted == setting)
+		return 0;
+
+	adapter->vf_data[vf].trusted = setting;
+
+	dev_info(&adapter->pdev->dev, "VF %u is %strusted\n",
+		 vf, setting ? "" : "not ");
+	return 0;
+}
+
 static int igb_ndo_get_vf_config(struct net_device *netdev,
 				 int vf, struct ifla_vf_info *ivi)
 {
@@ -8947,6 +8970,7 @@ static int igb_ndo_get_vf_config(struct net_device *netdev,
 	ivi->vlan = adapter->vf_data[vf].pf_vlan;
 	ivi->qos = adapter->vf_data[vf].pf_qos;
 	ivi->spoofchk = adapter->vf_data[vf].spoofchk_enabled;
+	ivi->trusted = adapter->vf_data[vf].trusted;
 	return 0;
 }
 
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [Intel-wired-lan] [PATCH] igb: add VF trust infrastructure
@ 2018-01-17 10:53 ` Corinna Vinschen
  0 siblings, 0 replies; 10+ messages in thread
From: Corinna Vinschen @ 2018-01-17 10:53 UTC (permalink / raw)
  To: intel-wired-lan

* Add a per-VF value to know if a VF is trusted, by default don't
  trust VFs.

* Implement netdev op to trust VFs (igb_ndo_set_vf_trust) and add
  trust status to ndo_get_vf_config output.

* Allow a trusted VF to change MAC and MAC filters even if MAC
  has been administratively set.

Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
---
 drivers/net/ethernet/intel/igb/igb.h      |  1 +
 drivers/net/ethernet/intel/igb/igb_main.c | 30 +++++++++++++++++++++++++++---
 2 files changed, 28 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ethernet/intel/igb/igb.h b/drivers/net/ethernet/intel/igb/igb.h
index 1c6b8d9176a8..55d6f17d5799 100644
--- a/drivers/net/ethernet/intel/igb/igb.h
+++ b/drivers/net/ethernet/intel/igb/igb.h
@@ -109,6 +109,7 @@ struct vf_data_storage {
 	u16 pf_qos;
 	u16 tx_rate;
 	bool spoofchk_enabled;
+	bool trusted;
 };
 
 /* Number of unicast MAC filters reserved for the PF in the RAR registers */
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
index 749fb1f720b4..5cbec6cf2b2a 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -190,6 +190,8 @@ static int igb_ndo_set_vf_vlan(struct net_device *netdev,
 static int igb_ndo_set_vf_bw(struct net_device *, int, int, int);
 static int igb_ndo_set_vf_spoofchk(struct net_device *netdev, int vf,
 				   bool setting);
+static int igb_ndo_set_vf_trust(struct net_device *netdev, int vf,
+				bool setting);
 static int igb_ndo_get_vf_config(struct net_device *netdev, int vf,
 				 struct ifla_vf_info *ivi);
 static void igb_check_vf_rate_limit(struct igb_adapter *);
@@ -2527,6 +2529,7 @@ static const struct net_device_ops igb_netdev_ops = {
 	.ndo_set_vf_vlan	= igb_ndo_set_vf_vlan,
 	.ndo_set_vf_rate	= igb_ndo_set_vf_bw,
 	.ndo_set_vf_spoofchk	= igb_ndo_set_vf_spoofchk,
+	.ndo_set_vf_trust	= igb_ndo_set_vf_trust,
 	.ndo_get_vf_config	= igb_ndo_get_vf_config,
 #ifdef CONFIG_NET_POLL_CONTROLLER
 	.ndo_poll_controller	= igb_netpoll,
@@ -6383,6 +6386,9 @@ static int igb_vf_configure(struct igb_adapter *adapter, int vf)
 	/* By default spoof check is enabled for all VFs */
 	adapter->vf_data[vf].spoofchk_enabled = true;
 
+	/* By default VFs are not trusted */
+	adapter->vf_data[vf].trusted = false;
+
 	return 0;
 }
 
@@ -6940,13 +6946,13 @@ static int igb_set_vf_mac_filter(struct igb_adapter *adapter, const int vf,
 		}
 		break;
 	case E1000_VF_MAC_FILTER_ADD:
-		if (vf_data->flags & IGB_VF_FLAG_PF_SET_MAC) {
+		if ((vf_data->flags & IGB_VF_FLAG_PF_SET_MAC) &&
+		    !vf_data->trusted) {
 			dev_warn(&pdev->dev,
 				 "VF %d requested MAC filter but is administratively denied\n",
 				 vf);
 			return -EINVAL;
 		}
-
 		if (!is_valid_ether_addr(addr)) {
 			dev_warn(&pdev->dev,
 				 "VF %d attempted to set invalid MAC filter\n",
@@ -6998,7 +7004,8 @@ static int igb_set_vf_mac_addr(struct igb_adapter *adapter, u32 *msg, int vf)
 	int ret = 0;
 
 	if (!info) {
-		if (vf_data->flags & IGB_VF_FLAG_PF_SET_MAC) {
+		if ((vf_data->flags & IGB_VF_FLAG_PF_SET_MAC) &&
+		    !vf_data->trusted) {
 			dev_warn(&pdev->dev,
 				 "VF %d attempted to override administratively set MAC address\nReload the VF driver to resume operations\n",
 				 vf);
@@ -8934,6 +8941,22 @@ static int igb_ndo_set_vf_spoofchk(struct net_device *netdev, int vf,
 	return 0;
 }
 
+static int igb_ndo_set_vf_trust(struct net_device *netdev, int vf, bool setting)
+{
+	struct igb_adapter *adapter = netdev_priv(netdev);
+
+	if (vf >= adapter->vfs_allocated_count)
+		return -EINVAL;
+	if (adapter->vf_data[vf].trusted == setting)
+		return 0;
+
+	adapter->vf_data[vf].trusted = setting;
+
+	dev_info(&adapter->pdev->dev, "VF %u is %strusted\n",
+		 vf, setting ? "" : "not ");
+	return 0;
+}
+
 static int igb_ndo_get_vf_config(struct net_device *netdev,
 				 int vf, struct ifla_vf_info *ivi)
 {
@@ -8947,6 +8970,7 @@ static int igb_ndo_get_vf_config(struct net_device *netdev,
 	ivi->vlan = adapter->vf_data[vf].pf_vlan;
 	ivi->qos = adapter->vf_data[vf].pf_qos;
 	ivi->spoofchk = adapter->vf_data[vf].spoofchk_enabled;
+	ivi->trusted = adapter->vf_data[vf].trusted;
 	return 0;
 }
 
-- 
2.14.3


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH] igb: add VF trust infrastructure
  2018-01-17 10:53 ` [Intel-wired-lan] " Corinna Vinschen
@ 2018-01-22  8:54   ` Corinna Vinschen
  -1 siblings, 0 replies; 10+ messages in thread
From: Corinna Vinschen @ 2018-01-22  8:54 UTC (permalink / raw)
  To: intel-wired-lan, netdev; +Cc: Corinna Vinschen

Hi,

Could somebody please review this patch?


Thanks,
Corinna


On Jan 17 11:53, Corinna Vinschen wrote:
> * Add a per-VF value to know if a VF is trusted, by default don't
>   trust VFs.
> 
> * Implement netdev op to trust VFs (igb_ndo_set_vf_trust) and add
>   trust status to ndo_get_vf_config output.
> 
> * Allow a trusted VF to change MAC and MAC filters even if MAC
>   has been administratively set.
> 
> Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
> ---
>  drivers/net/ethernet/intel/igb/igb.h      |  1 +
>  drivers/net/ethernet/intel/igb/igb_main.c | 30 +++++++++++++++++++++++++++---
>  2 files changed, 28 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/net/ethernet/intel/igb/igb.h b/drivers/net/ethernet/intel/igb/igb.h
> index 1c6b8d9176a8..55d6f17d5799 100644
> --- a/drivers/net/ethernet/intel/igb/igb.h
> +++ b/drivers/net/ethernet/intel/igb/igb.h
> @@ -109,6 +109,7 @@ struct vf_data_storage {
>  	u16 pf_qos;
>  	u16 tx_rate;
>  	bool spoofchk_enabled;
> +	bool trusted;
>  };
>  
>  /* Number of unicast MAC filters reserved for the PF in the RAR registers */
> diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
> index 749fb1f720b4..5cbec6cf2b2a 100644
> --- a/drivers/net/ethernet/intel/igb/igb_main.c
> +++ b/drivers/net/ethernet/intel/igb/igb_main.c
> @@ -190,6 +190,8 @@ static int igb_ndo_set_vf_vlan(struct net_device *netdev,
>  static int igb_ndo_set_vf_bw(struct net_device *, int, int, int);
>  static int igb_ndo_set_vf_spoofchk(struct net_device *netdev, int vf,
>  				   bool setting);
> +static int igb_ndo_set_vf_trust(struct net_device *netdev, int vf,
> +				bool setting);
>  static int igb_ndo_get_vf_config(struct net_device *netdev, int vf,
>  				 struct ifla_vf_info *ivi);
>  static void igb_check_vf_rate_limit(struct igb_adapter *);
> @@ -2527,6 +2529,7 @@ static const struct net_device_ops igb_netdev_ops = {
>  	.ndo_set_vf_vlan	= igb_ndo_set_vf_vlan,
>  	.ndo_set_vf_rate	= igb_ndo_set_vf_bw,
>  	.ndo_set_vf_spoofchk	= igb_ndo_set_vf_spoofchk,
> +	.ndo_set_vf_trust	= igb_ndo_set_vf_trust,
>  	.ndo_get_vf_config	= igb_ndo_get_vf_config,
>  #ifdef CONFIG_NET_POLL_CONTROLLER
>  	.ndo_poll_controller	= igb_netpoll,
> @@ -6383,6 +6386,9 @@ static int igb_vf_configure(struct igb_adapter *adapter, int vf)
>  	/* By default spoof check is enabled for all VFs */
>  	adapter->vf_data[vf].spoofchk_enabled = true;
>  
> +	/* By default VFs are not trusted */
> +	adapter->vf_data[vf].trusted = false;
> +
>  	return 0;
>  }
>  
> @@ -6940,13 +6946,13 @@ static int igb_set_vf_mac_filter(struct igb_adapter *adapter, const int vf,
>  		}
>  		break;
>  	case E1000_VF_MAC_FILTER_ADD:
> -		if (vf_data->flags & IGB_VF_FLAG_PF_SET_MAC) {
> +		if ((vf_data->flags & IGB_VF_FLAG_PF_SET_MAC) &&
> +		    !vf_data->trusted) {
>  			dev_warn(&pdev->dev,
>  				 "VF %d requested MAC filter but is administratively denied\n",
>  				 vf);
>  			return -EINVAL;
>  		}
> -
>  		if (!is_valid_ether_addr(addr)) {
>  			dev_warn(&pdev->dev,
>  				 "VF %d attempted to set invalid MAC filter\n",
> @@ -6998,7 +7004,8 @@ static int igb_set_vf_mac_addr(struct igb_adapter *adapter, u32 *msg, int vf)
>  	int ret = 0;
>  
>  	if (!info) {
> -		if (vf_data->flags & IGB_VF_FLAG_PF_SET_MAC) {
> +		if ((vf_data->flags & IGB_VF_FLAG_PF_SET_MAC) &&
> +		    !vf_data->trusted) {
>  			dev_warn(&pdev->dev,
>  				 "VF %d attempted to override administratively set MAC address\nReload the VF driver to resume operations\n",
>  				 vf);
> @@ -8934,6 +8941,22 @@ static int igb_ndo_set_vf_spoofchk(struct net_device *netdev, int vf,
>  	return 0;
>  }
>  
> +static int igb_ndo_set_vf_trust(struct net_device *netdev, int vf, bool setting)
> +{
> +	struct igb_adapter *adapter = netdev_priv(netdev);
> +
> +	if (vf >= adapter->vfs_allocated_count)
> +		return -EINVAL;
> +	if (adapter->vf_data[vf].trusted == setting)
> +		return 0;
> +
> +	adapter->vf_data[vf].trusted = setting;
> +
> +	dev_info(&adapter->pdev->dev, "VF %u is %strusted\n",
> +		 vf, setting ? "" : "not ");
> +	return 0;
> +}
> +
>  static int igb_ndo_get_vf_config(struct net_device *netdev,
>  				 int vf, struct ifla_vf_info *ivi)
>  {
> @@ -8947,6 +8970,7 @@ static int igb_ndo_get_vf_config(struct net_device *netdev,
>  	ivi->vlan = adapter->vf_data[vf].pf_vlan;
>  	ivi->qos = adapter->vf_data[vf].pf_qos;
>  	ivi->spoofchk = adapter->vf_data[vf].spoofchk_enabled;
> +	ivi->trusted = adapter->vf_data[vf].trusted;
>  	return 0;
>  }
>  
> -- 
> 2.14.3

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Intel-wired-lan] [PATCH] igb: add VF trust infrastructure
@ 2018-01-22  8:54   ` Corinna Vinschen
  0 siblings, 0 replies; 10+ messages in thread
From: Corinna Vinschen @ 2018-01-22  8:54 UTC (permalink / raw)
  To: intel-wired-lan

Hi,

Could somebody please review this patch?


Thanks,
Corinna


On Jan 17 11:53, Corinna Vinschen wrote:
> * Add a per-VF value to know if a VF is trusted, by default don't
>   trust VFs.
> 
> * Implement netdev op to trust VFs (igb_ndo_set_vf_trust) and add
>   trust status to ndo_get_vf_config output.
> 
> * Allow a trusted VF to change MAC and MAC filters even if MAC
>   has been administratively set.
> 
> Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
> ---
>  drivers/net/ethernet/intel/igb/igb.h      |  1 +
>  drivers/net/ethernet/intel/igb/igb_main.c | 30 +++++++++++++++++++++++++++---
>  2 files changed, 28 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/net/ethernet/intel/igb/igb.h b/drivers/net/ethernet/intel/igb/igb.h
> index 1c6b8d9176a8..55d6f17d5799 100644
> --- a/drivers/net/ethernet/intel/igb/igb.h
> +++ b/drivers/net/ethernet/intel/igb/igb.h
> @@ -109,6 +109,7 @@ struct vf_data_storage {
>  	u16 pf_qos;
>  	u16 tx_rate;
>  	bool spoofchk_enabled;
> +	bool trusted;
>  };
>  
>  /* Number of unicast MAC filters reserved for the PF in the RAR registers */
> diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
> index 749fb1f720b4..5cbec6cf2b2a 100644
> --- a/drivers/net/ethernet/intel/igb/igb_main.c
> +++ b/drivers/net/ethernet/intel/igb/igb_main.c
> @@ -190,6 +190,8 @@ static int igb_ndo_set_vf_vlan(struct net_device *netdev,
>  static int igb_ndo_set_vf_bw(struct net_device *, int, int, int);
>  static int igb_ndo_set_vf_spoofchk(struct net_device *netdev, int vf,
>  				   bool setting);
> +static int igb_ndo_set_vf_trust(struct net_device *netdev, int vf,
> +				bool setting);
>  static int igb_ndo_get_vf_config(struct net_device *netdev, int vf,
>  				 struct ifla_vf_info *ivi);
>  static void igb_check_vf_rate_limit(struct igb_adapter *);
> @@ -2527,6 +2529,7 @@ static const struct net_device_ops igb_netdev_ops = {
>  	.ndo_set_vf_vlan	= igb_ndo_set_vf_vlan,
>  	.ndo_set_vf_rate	= igb_ndo_set_vf_bw,
>  	.ndo_set_vf_spoofchk	= igb_ndo_set_vf_spoofchk,
> +	.ndo_set_vf_trust	= igb_ndo_set_vf_trust,
>  	.ndo_get_vf_config	= igb_ndo_get_vf_config,
>  #ifdef CONFIG_NET_POLL_CONTROLLER
>  	.ndo_poll_controller	= igb_netpoll,
> @@ -6383,6 +6386,9 @@ static int igb_vf_configure(struct igb_adapter *adapter, int vf)
>  	/* By default spoof check is enabled for all VFs */
>  	adapter->vf_data[vf].spoofchk_enabled = true;
>  
> +	/* By default VFs are not trusted */
> +	adapter->vf_data[vf].trusted = false;
> +
>  	return 0;
>  }
>  
> @@ -6940,13 +6946,13 @@ static int igb_set_vf_mac_filter(struct igb_adapter *adapter, const int vf,
>  		}
>  		break;
>  	case E1000_VF_MAC_FILTER_ADD:
> -		if (vf_data->flags & IGB_VF_FLAG_PF_SET_MAC) {
> +		if ((vf_data->flags & IGB_VF_FLAG_PF_SET_MAC) &&
> +		    !vf_data->trusted) {
>  			dev_warn(&pdev->dev,
>  				 "VF %d requested MAC filter but is administratively denied\n",
>  				 vf);
>  			return -EINVAL;
>  		}
> -
>  		if (!is_valid_ether_addr(addr)) {
>  			dev_warn(&pdev->dev,
>  				 "VF %d attempted to set invalid MAC filter\n",
> @@ -6998,7 +7004,8 @@ static int igb_set_vf_mac_addr(struct igb_adapter *adapter, u32 *msg, int vf)
>  	int ret = 0;
>  
>  	if (!info) {
> -		if (vf_data->flags & IGB_VF_FLAG_PF_SET_MAC) {
> +		if ((vf_data->flags & IGB_VF_FLAG_PF_SET_MAC) &&
> +		    !vf_data->trusted) {
>  			dev_warn(&pdev->dev,
>  				 "VF %d attempted to override administratively set MAC address\nReload the VF driver to resume operations\n",
>  				 vf);
> @@ -8934,6 +8941,22 @@ static int igb_ndo_set_vf_spoofchk(struct net_device *netdev, int vf,
>  	return 0;
>  }
>  
> +static int igb_ndo_set_vf_trust(struct net_device *netdev, int vf, bool setting)
> +{
> +	struct igb_adapter *adapter = netdev_priv(netdev);
> +
> +	if (vf >= adapter->vfs_allocated_count)
> +		return -EINVAL;
> +	if (adapter->vf_data[vf].trusted == setting)
> +		return 0;
> +
> +	adapter->vf_data[vf].trusted = setting;
> +
> +	dev_info(&adapter->pdev->dev, "VF %u is %strusted\n",
> +		 vf, setting ? "" : "not ");
> +	return 0;
> +}
> +
>  static int igb_ndo_get_vf_config(struct net_device *netdev,
>  				 int vf, struct ifla_vf_info *ivi)
>  {
> @@ -8947,6 +8970,7 @@ static int igb_ndo_get_vf_config(struct net_device *netdev,
>  	ivi->vlan = adapter->vf_data[vf].pf_vlan;
>  	ivi->qos = adapter->vf_data[vf].pf_qos;
>  	ivi->spoofchk = adapter->vf_data[vf].spoofchk_enabled;
> +	ivi->trusted = adapter->vf_data[vf].trusted;
>  	return 0;
>  }
>  
> -- 
> 2.14.3

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Intel-wired-lan] [PATCH] igb: add VF trust infrastructure
  2018-01-22  8:54   ` [Intel-wired-lan] " Corinna Vinschen
@ 2018-01-22 22:57     ` Alexander Duyck
  -1 siblings, 0 replies; 10+ messages in thread
From: Alexander Duyck @ 2018-01-22 22:57 UTC (permalink / raw)
  To: intel-wired-lan, Netdev; +Cc: Corinna Vinschen, Jeff Kirsher

Hi Corinna,

I've looked over the patch and didn't see any issues. My understanding
is that Jeff has pulled it into his tree and it should be going
through testing shortly.

Thanks.

- Alex

On Mon, Jan 22, 2018 at 12:54 AM, Corinna Vinschen <vinschen@redhat.com> wrote:
> Hi,
>
> Could somebody please review this patch?
>
>
> Thanks,
> Corinna
>
>
> On Jan 17 11:53, Corinna Vinschen wrote:
>> * Add a per-VF value to know if a VF is trusted, by default don't
>>   trust VFs.
>>
>> * Implement netdev op to trust VFs (igb_ndo_set_vf_trust) and add
>>   trust status to ndo_get_vf_config output.
>>
>> * Allow a trusted VF to change MAC and MAC filters even if MAC
>>   has been administratively set.
>>
>> Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
>> ---
>>  drivers/net/ethernet/intel/igb/igb.h      |  1 +
>>  drivers/net/ethernet/intel/igb/igb_main.c | 30 +++++++++++++++++++++++++++---
>>  2 files changed, 28 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/net/ethernet/intel/igb/igb.h b/drivers/net/ethernet/intel/igb/igb.h
>> index 1c6b8d9176a8..55d6f17d5799 100644
>> --- a/drivers/net/ethernet/intel/igb/igb.h
>> +++ b/drivers/net/ethernet/intel/igb/igb.h
>> @@ -109,6 +109,7 @@ struct vf_data_storage {
>>       u16 pf_qos;
>>       u16 tx_rate;
>>       bool spoofchk_enabled;
>> +     bool trusted;
>>  };
>>
>>  /* Number of unicast MAC filters reserved for the PF in the RAR registers */
>> diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
>> index 749fb1f720b4..5cbec6cf2b2a 100644
>> --- a/drivers/net/ethernet/intel/igb/igb_main.c
>> +++ b/drivers/net/ethernet/intel/igb/igb_main.c
>> @@ -190,6 +190,8 @@ static int igb_ndo_set_vf_vlan(struct net_device *netdev,
>>  static int igb_ndo_set_vf_bw(struct net_device *, int, int, int);
>>  static int igb_ndo_set_vf_spoofchk(struct net_device *netdev, int vf,
>>                                  bool setting);
>> +static int igb_ndo_set_vf_trust(struct net_device *netdev, int vf,
>> +                             bool setting);
>>  static int igb_ndo_get_vf_config(struct net_device *netdev, int vf,
>>                                struct ifla_vf_info *ivi);
>>  static void igb_check_vf_rate_limit(struct igb_adapter *);
>> @@ -2527,6 +2529,7 @@ static const struct net_device_ops igb_netdev_ops = {
>>       .ndo_set_vf_vlan        = igb_ndo_set_vf_vlan,
>>       .ndo_set_vf_rate        = igb_ndo_set_vf_bw,
>>       .ndo_set_vf_spoofchk    = igb_ndo_set_vf_spoofchk,
>> +     .ndo_set_vf_trust       = igb_ndo_set_vf_trust,
>>       .ndo_get_vf_config      = igb_ndo_get_vf_config,
>>  #ifdef CONFIG_NET_POLL_CONTROLLER
>>       .ndo_poll_controller    = igb_netpoll,
>> @@ -6383,6 +6386,9 @@ static int igb_vf_configure(struct igb_adapter *adapter, int vf)
>>       /* By default spoof check is enabled for all VFs */
>>       adapter->vf_data[vf].spoofchk_enabled = true;
>>
>> +     /* By default VFs are not trusted */
>> +     adapter->vf_data[vf].trusted = false;
>> +
>>       return 0;
>>  }
>>
>> @@ -6940,13 +6946,13 @@ static int igb_set_vf_mac_filter(struct igb_adapter *adapter, const int vf,
>>               }
>>               break;
>>       case E1000_VF_MAC_FILTER_ADD:
>> -             if (vf_data->flags & IGB_VF_FLAG_PF_SET_MAC) {
>> +             if ((vf_data->flags & IGB_VF_FLAG_PF_SET_MAC) &&
>> +                 !vf_data->trusted) {
>>                       dev_warn(&pdev->dev,
>>                                "VF %d requested MAC filter but is administratively denied\n",
>>                                vf);
>>                       return -EINVAL;
>>               }
>> -
>>               if (!is_valid_ether_addr(addr)) {
>>                       dev_warn(&pdev->dev,
>>                                "VF %d attempted to set invalid MAC filter\n",
>> @@ -6998,7 +7004,8 @@ static int igb_set_vf_mac_addr(struct igb_adapter *adapter, u32 *msg, int vf)
>>       int ret = 0;
>>
>>       if (!info) {
>> -             if (vf_data->flags & IGB_VF_FLAG_PF_SET_MAC) {
>> +             if ((vf_data->flags & IGB_VF_FLAG_PF_SET_MAC) &&
>> +                 !vf_data->trusted) {
>>                       dev_warn(&pdev->dev,
>>                                "VF %d attempted to override administratively set MAC address\nReload the VF driver to resume operations\n",
>>                                vf);
>> @@ -8934,6 +8941,22 @@ static int igb_ndo_set_vf_spoofchk(struct net_device *netdev, int vf,
>>       return 0;
>>  }
>>
>> +static int igb_ndo_set_vf_trust(struct net_device *netdev, int vf, bool setting)
>> +{
>> +     struct igb_adapter *adapter = netdev_priv(netdev);
>> +
>> +     if (vf >= adapter->vfs_allocated_count)
>> +             return -EINVAL;
>> +     if (adapter->vf_data[vf].trusted == setting)
>> +             return 0;
>> +
>> +     adapter->vf_data[vf].trusted = setting;
>> +
>> +     dev_info(&adapter->pdev->dev, "VF %u is %strusted\n",
>> +              vf, setting ? "" : "not ");
>> +     return 0;
>> +}
>> +
>>  static int igb_ndo_get_vf_config(struct net_device *netdev,
>>                                int vf, struct ifla_vf_info *ivi)
>>  {
>> @@ -8947,6 +8970,7 @@ static int igb_ndo_get_vf_config(struct net_device *netdev,
>>       ivi->vlan = adapter->vf_data[vf].pf_vlan;
>>       ivi->qos = adapter->vf_data[vf].pf_qos;
>>       ivi->spoofchk = adapter->vf_data[vf].spoofchk_enabled;
>> +     ivi->trusted = adapter->vf_data[vf].trusted;
>>       return 0;
>>  }
>>
>> --
>> 2.14.3
> _______________________________________________
> Intel-wired-lan mailing list
> Intel-wired-lan@osuosl.org
> https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Intel-wired-lan] [PATCH] igb: add VF trust infrastructure
@ 2018-01-22 22:57     ` Alexander Duyck
  0 siblings, 0 replies; 10+ messages in thread
From: Alexander Duyck @ 2018-01-22 22:57 UTC (permalink / raw)
  To: intel-wired-lan

Hi Corinna,

I've looked over the patch and didn't see any issues. My understanding
is that Jeff has pulled it into his tree and it should be going
through testing shortly.

Thanks.

- Alex

On Mon, Jan 22, 2018 at 12:54 AM, Corinna Vinschen <vinschen@redhat.com> wrote:
> Hi,
>
> Could somebody please review this patch?
>
>
> Thanks,
> Corinna
>
>
> On Jan 17 11:53, Corinna Vinschen wrote:
>> * Add a per-VF value to know if a VF is trusted, by default don't
>>   trust VFs.
>>
>> * Implement netdev op to trust VFs (igb_ndo_set_vf_trust) and add
>>   trust status to ndo_get_vf_config output.
>>
>> * Allow a trusted VF to change MAC and MAC filters even if MAC
>>   has been administratively set.
>>
>> Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
>> ---
>>  drivers/net/ethernet/intel/igb/igb.h      |  1 +
>>  drivers/net/ethernet/intel/igb/igb_main.c | 30 +++++++++++++++++++++++++++---
>>  2 files changed, 28 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/net/ethernet/intel/igb/igb.h b/drivers/net/ethernet/intel/igb/igb.h
>> index 1c6b8d9176a8..55d6f17d5799 100644
>> --- a/drivers/net/ethernet/intel/igb/igb.h
>> +++ b/drivers/net/ethernet/intel/igb/igb.h
>> @@ -109,6 +109,7 @@ struct vf_data_storage {
>>       u16 pf_qos;
>>       u16 tx_rate;
>>       bool spoofchk_enabled;
>> +     bool trusted;
>>  };
>>
>>  /* Number of unicast MAC filters reserved for the PF in the RAR registers */
>> diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
>> index 749fb1f720b4..5cbec6cf2b2a 100644
>> --- a/drivers/net/ethernet/intel/igb/igb_main.c
>> +++ b/drivers/net/ethernet/intel/igb/igb_main.c
>> @@ -190,6 +190,8 @@ static int igb_ndo_set_vf_vlan(struct net_device *netdev,
>>  static int igb_ndo_set_vf_bw(struct net_device *, int, int, int);
>>  static int igb_ndo_set_vf_spoofchk(struct net_device *netdev, int vf,
>>                                  bool setting);
>> +static int igb_ndo_set_vf_trust(struct net_device *netdev, int vf,
>> +                             bool setting);
>>  static int igb_ndo_get_vf_config(struct net_device *netdev, int vf,
>>                                struct ifla_vf_info *ivi);
>>  static void igb_check_vf_rate_limit(struct igb_adapter *);
>> @@ -2527,6 +2529,7 @@ static const struct net_device_ops igb_netdev_ops = {
>>       .ndo_set_vf_vlan        = igb_ndo_set_vf_vlan,
>>       .ndo_set_vf_rate        = igb_ndo_set_vf_bw,
>>       .ndo_set_vf_spoofchk    = igb_ndo_set_vf_spoofchk,
>> +     .ndo_set_vf_trust       = igb_ndo_set_vf_trust,
>>       .ndo_get_vf_config      = igb_ndo_get_vf_config,
>>  #ifdef CONFIG_NET_POLL_CONTROLLER
>>       .ndo_poll_controller    = igb_netpoll,
>> @@ -6383,6 +6386,9 @@ static int igb_vf_configure(struct igb_adapter *adapter, int vf)
>>       /* By default spoof check is enabled for all VFs */
>>       adapter->vf_data[vf].spoofchk_enabled = true;
>>
>> +     /* By default VFs are not trusted */
>> +     adapter->vf_data[vf].trusted = false;
>> +
>>       return 0;
>>  }
>>
>> @@ -6940,13 +6946,13 @@ static int igb_set_vf_mac_filter(struct igb_adapter *adapter, const int vf,
>>               }
>>               break;
>>       case E1000_VF_MAC_FILTER_ADD:
>> -             if (vf_data->flags & IGB_VF_FLAG_PF_SET_MAC) {
>> +             if ((vf_data->flags & IGB_VF_FLAG_PF_SET_MAC) &&
>> +                 !vf_data->trusted) {
>>                       dev_warn(&pdev->dev,
>>                                "VF %d requested MAC filter but is administratively denied\n",
>>                                vf);
>>                       return -EINVAL;
>>               }
>> -
>>               if (!is_valid_ether_addr(addr)) {
>>                       dev_warn(&pdev->dev,
>>                                "VF %d attempted to set invalid MAC filter\n",
>> @@ -6998,7 +7004,8 @@ static int igb_set_vf_mac_addr(struct igb_adapter *adapter, u32 *msg, int vf)
>>       int ret = 0;
>>
>>       if (!info) {
>> -             if (vf_data->flags & IGB_VF_FLAG_PF_SET_MAC) {
>> +             if ((vf_data->flags & IGB_VF_FLAG_PF_SET_MAC) &&
>> +                 !vf_data->trusted) {
>>                       dev_warn(&pdev->dev,
>>                                "VF %d attempted to override administratively set MAC address\nReload the VF driver to resume operations\n",
>>                                vf);
>> @@ -8934,6 +8941,22 @@ static int igb_ndo_set_vf_spoofchk(struct net_device *netdev, int vf,
>>       return 0;
>>  }
>>
>> +static int igb_ndo_set_vf_trust(struct net_device *netdev, int vf, bool setting)
>> +{
>> +     struct igb_adapter *adapter = netdev_priv(netdev);
>> +
>> +     if (vf >= adapter->vfs_allocated_count)
>> +             return -EINVAL;
>> +     if (adapter->vf_data[vf].trusted == setting)
>> +             return 0;
>> +
>> +     adapter->vf_data[vf].trusted = setting;
>> +
>> +     dev_info(&adapter->pdev->dev, "VF %u is %strusted\n",
>> +              vf, setting ? "" : "not ");
>> +     return 0;
>> +}
>> +
>>  static int igb_ndo_get_vf_config(struct net_device *netdev,
>>                                int vf, struct ifla_vf_info *ivi)
>>  {
>> @@ -8947,6 +8970,7 @@ static int igb_ndo_get_vf_config(struct net_device *netdev,
>>       ivi->vlan = adapter->vf_data[vf].pf_vlan;
>>       ivi->qos = adapter->vf_data[vf].pf_qos;
>>       ivi->spoofchk = adapter->vf_data[vf].spoofchk_enabled;
>> +     ivi->trusted = adapter->vf_data[vf].trusted;
>>       return 0;
>>  }
>>
>> --
>> 2.14.3
> _______________________________________________
> Intel-wired-lan mailing list
> Intel-wired-lan at osuosl.org
> https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

^ permalink raw reply	[flat|nested] 10+ messages in thread

* RE: [Intel-wired-lan] [PATCH] igb: add VF trust infrastructure
  2018-01-22 22:57     ` Alexander Duyck
@ 2018-01-24  3:41       ` Brown, Aaron F
  -1 siblings, 0 replies; 10+ messages in thread
From: Brown, Aaron F @ 2018-01-24  3:41 UTC (permalink / raw)
  To: Alexander Duyck, intel-wired-lan, Netdev; +Cc: Corinna Vinschen

> From: Intel-wired-lan [mailto:intel-wired-lan-bounces@osuosl.org] On
> Behalf Of Alexander Duyck
> Sent: Monday, January 22, 2018 2:58 PM
> To: intel-wired-lan <intel-wired-lan@lists.osuosl.org>; Netdev
> <netdev@vger.kernel.org>
> Cc: Corinna Vinschen <vinschen@redhat.com>
> Subject: Re: [Intel-wired-lan] [PATCH] igb: add VF trust infrastructure
> 
> Hi Corinna,
> 
> I've looked over the patch and didn't see any issues. My understanding
> is that Jeff has pulled it into his tree and it should be going
> through testing shortly.

Indeed it is / was ;)

> 
> Thanks.
> 
> - Alex
> 
> On Mon, Jan 22, 2018 at 12:54 AM, Corinna Vinschen
> <vinschen@redhat.com> wrote:
> > Hi,
> >
> > Could somebody please review this patch?
> >
> >
> > Thanks,
> > Corinna
> >
> >
> > On Jan 17 11:53, Corinna Vinschen wrote:
> >> * Add a per-VF value to know if a VF is trusted, by default don't
> >>   trust VFs.
> >>
> >> * Implement netdev op to trust VFs (igb_ndo_set_vf_trust) and add
> >>   trust status to ndo_get_vf_config output.
> >>
> >> * Allow a trusted VF to change MAC and MAC filters even if MAC
> >>   has been administratively set.
> >>
> >> Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
> >> ---
> >>  drivers/net/ethernet/intel/igb/igb.h      |  1 +
> >>  drivers/net/ethernet/intel/igb/igb_main.c | 30
> +++++++++++++++++++++++++++---
> >>  2 files changed, 28 insertions(+), 3 deletions(-)

Tested-by: Aaron Brown <aaron.f.brown@intel.com>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Intel-wired-lan] [PATCH] igb: add VF trust infrastructure
@ 2018-01-24  3:41       ` Brown, Aaron F
  0 siblings, 0 replies; 10+ messages in thread
From: Brown, Aaron F @ 2018-01-24  3:41 UTC (permalink / raw)
  To: intel-wired-lan

> From: Intel-wired-lan [mailto:intel-wired-lan-bounces at osuosl.org] On
> Behalf Of Alexander Duyck
> Sent: Monday, January 22, 2018 2:58 PM
> To: intel-wired-lan <intel-wired-lan@lists.osuosl.org>; Netdev
> <netdev@vger.kernel.org>
> Cc: Corinna Vinschen <vinschen@redhat.com>
> Subject: Re: [Intel-wired-lan] [PATCH] igb: add VF trust infrastructure
> 
> Hi Corinna,
> 
> I've looked over the patch and didn't see any issues. My understanding
> is that Jeff has pulled it into his tree and it should be going
> through testing shortly.

Indeed it is / was ;)

> 
> Thanks.
> 
> - Alex
> 
> On Mon, Jan 22, 2018 at 12:54 AM, Corinna Vinschen
> <vinschen@redhat.com> wrote:
> > Hi,
> >
> > Could somebody please review this patch?
> >
> >
> > Thanks,
> > Corinna
> >
> >
> > On Jan 17 11:53, Corinna Vinschen wrote:
> >> * Add a per-VF value to know if a VF is trusted, by default don't
> >>   trust VFs.
> >>
> >> * Implement netdev op to trust VFs (igb_ndo_set_vf_trust) and add
> >>   trust status to ndo_get_vf_config output.
> >>
> >> * Allow a trusted VF to change MAC and MAC filters even if MAC
> >>   has been administratively set.
> >>
> >> Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
> >> ---
> >>  drivers/net/ethernet/intel/igb/igb.h      |  1 +
> >>  drivers/net/ethernet/intel/igb/igb_main.c | 30
> +++++++++++++++++++++++++++---
> >>  2 files changed, 28 insertions(+), 3 deletions(-)

Tested-by: Aaron Brown <aaron.f.brown@intel.com>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Intel-wired-lan] [PATCH] igb: add VF trust infrastructure
  2018-01-24  3:41       ` Brown, Aaron F
@ 2018-01-24 12:09         ` Corinna Vinschen
  -1 siblings, 0 replies; 10+ messages in thread
From: Corinna Vinschen @ 2018-01-24 12:09 UTC (permalink / raw)
  To: Brown, Aaron F; +Cc: Alexander Duyck, intel-wired-lan, Netdev

On Jan 24 03:41, Brown, Aaron F wrote:
> > From: Intel-wired-lan [mailto:intel-wired-lan-bounces@osuosl.org] On
> > Behalf Of Alexander Duyck
> > Sent: Monday, January 22, 2018 2:58 PM
> > To: intel-wired-lan <intel-wired-lan@lists.osuosl.org>; Netdev
> > <netdev@vger.kernel.org>
> > Cc: Corinna Vinschen <vinschen@redhat.com>
> > Subject: Re: [Intel-wired-lan] [PATCH] igb: add VF trust infrastructure
> > 
> > Hi Corinna,
> > 
> > I've looked over the patch and didn't see any issues. My understanding
> > is that Jeff has pulled it into his tree and it should be going
> > through testing shortly.
> 
> Indeed it is / was ;)

Thanks guys!


Corinna

> 
> > 
> > Thanks.
> > 
> > - Alex
> > 
> > On Mon, Jan 22, 2018 at 12:54 AM, Corinna Vinschen
> > <vinschen@redhat.com> wrote:
> > > Hi,
> > >
> > > Could somebody please review this patch?
> > >
> > >
> > > Thanks,
> > > Corinna
> > >
> > >
> > > On Jan 17 11:53, Corinna Vinschen wrote:
> > >> * Add a per-VF value to know if a VF is trusted, by default don't
> > >>   trust VFs.
> > >>
> > >> * Implement netdev op to trust VFs (igb_ndo_set_vf_trust) and add
> > >>   trust status to ndo_get_vf_config output.
> > >>
> > >> * Allow a trusted VF to change MAC and MAC filters even if MAC
> > >>   has been administratively set.
> > >>
> > >> Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
> > >> ---
> > >>  drivers/net/ethernet/intel/igb/igb.h      |  1 +
> > >>  drivers/net/ethernet/intel/igb/igb_main.c | 30
> > +++++++++++++++++++++++++++---
> > >>  2 files changed, 28 insertions(+), 3 deletions(-)
> 
> Tested-by: Aaron Brown <aaron.f.brown@intel.com>
> _______________________________________________
> Intel-wired-lan mailing list
> Intel-wired-lan@osuosl.org
> https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Intel-wired-lan] [PATCH] igb: add VF trust infrastructure
@ 2018-01-24 12:09         ` Corinna Vinschen
  0 siblings, 0 replies; 10+ messages in thread
From: Corinna Vinschen @ 2018-01-24 12:09 UTC (permalink / raw)
  To: intel-wired-lan

On Jan 24 03:41, Brown, Aaron F wrote:
> > From: Intel-wired-lan [mailto:intel-wired-lan-bounces at osuosl.org] On
> > Behalf Of Alexander Duyck
> > Sent: Monday, January 22, 2018 2:58 PM
> > To: intel-wired-lan <intel-wired-lan@lists.osuosl.org>; Netdev
> > <netdev@vger.kernel.org>
> > Cc: Corinna Vinschen <vinschen@redhat.com>
> > Subject: Re: [Intel-wired-lan] [PATCH] igb: add VF trust infrastructure
> > 
> > Hi Corinna,
> > 
> > I've looked over the patch and didn't see any issues. My understanding
> > is that Jeff has pulled it into his tree and it should be going
> > through testing shortly.
> 
> Indeed it is / was ;)

Thanks guys!


Corinna

> 
> > 
> > Thanks.
> > 
> > - Alex
> > 
> > On Mon, Jan 22, 2018 at 12:54 AM, Corinna Vinschen
> > <vinschen@redhat.com> wrote:
> > > Hi,
> > >
> > > Could somebody please review this patch?
> > >
> > >
> > > Thanks,
> > > Corinna
> > >
> > >
> > > On Jan 17 11:53, Corinna Vinschen wrote:
> > >> * Add a per-VF value to know if a VF is trusted, by default don't
> > >>   trust VFs.
> > >>
> > >> * Implement netdev op to trust VFs (igb_ndo_set_vf_trust) and add
> > >>   trust status to ndo_get_vf_config output.
> > >>
> > >> * Allow a trusted VF to change MAC and MAC filters even if MAC
> > >>   has been administratively set.
> > >>
> > >> Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
> > >> ---
> > >>  drivers/net/ethernet/intel/igb/igb.h      |  1 +
> > >>  drivers/net/ethernet/intel/igb/igb_main.c | 30
> > +++++++++++++++++++++++++++---
> > >>  2 files changed, 28 insertions(+), 3 deletions(-)
> 
> Tested-by: Aaron Brown <aaron.f.brown@intel.com>
> _______________________________________________
> Intel-wired-lan mailing list
> Intel-wired-lan at osuosl.org
> https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2018-01-24 12:09 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-17 10:53 [PATCH] igb: add VF trust infrastructure Corinna Vinschen
2018-01-17 10:53 ` [Intel-wired-lan] " Corinna Vinschen
2018-01-22  8:54 ` Corinna Vinschen
2018-01-22  8:54   ` [Intel-wired-lan] " Corinna Vinschen
2018-01-22 22:57   ` Alexander Duyck
2018-01-22 22:57     ` Alexander Duyck
2018-01-24  3:41     ` Brown, Aaron F
2018-01-24  3:41       ` Brown, Aaron F
2018-01-24 12:09       ` Corinna Vinschen
2018-01-24 12:09         ` Corinna Vinschen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.