lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 24 Mar 2015 18:12:47 +0000
From:	"Tantilov, Emil S" <emil.s.tantilov@...el.com>
To:	Vlad Zolotarov <vladz@...udius-systems.com>,
	"netdev@...r.kernel.org" <netdev@...r.kernel.org>
CC:	"Kirsher, Jeffrey T" <jeffrey.t.kirsher@...el.com>,
	"avi@...udius-systems.com" <avi@...udius-systems.com>,
	"gleb@...udius-systems.com" <gleb@...udius-systems.com>
Subject: RE: [PATCH net-next v6 4/7] ixgbevf: Add a RETA query code

>-----Original Message-----
>From: Vlad Zolotarov [mailto:vladz@...udius-systems.com] 
>Sent: Tuesday, March 24, 2015 3:26 AM
>Subject: Re: [PATCH net-next v6 4/7] ixgbevf: Add a RETA query code
>
>
>
>On 03/24/15 01:46, Tantilov, Emil S wrote:
>>> -----Original Message-----
>>> From: netdev-owner@...r.kernel.org [mailto:netdev-owner@...r.kernel.org] On Behalf Of Vlad Zolotarov
>>> Sent: Sunday, March 22, 2015 12:01 PM
>>>
>>> Subject: [PATCH net-next v6 4/7] ixgbevf: Add a RETA query code
>>>
>>>    - Added a new API version support.
>>>    - Added the query implementation in the ixgbevf.
>>>
>>> Signed-off-by: Vlad Zolotarov <vladz@...udius-systems.com>
>>> ---
>>> New in v6:
>>>    - Add a proper return code when an operation is blocked by PF.
>>>
>>> New in v3:
>>>    - Adjusted to the new interface IXGBE_VF_GET_RETA command.
>>>    - Added a proper support for x550 devices.
>>>
>>> New in v1 (compared to RFC):
>>>    - Use "if-else" statement instead of a "switch-case" for a single option case
>>>      (in ixgbevf_get_reta()).
>>> ---
>>> drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c |  4 +-
>>> drivers/net/ethernet/intel/ixgbevf/mbx.h          |  8 ++
>>> drivers/net/ethernet/intel/ixgbevf/vf.c           | 92 +++++++++++++++++++++++
>>> drivers/net/ethernet/intel/ixgbevf/vf.h           |  1 +
>>> 4 files changed, 104 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c >>>b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
>>> index 4ee15ad..4787fcf 100644
>>> --- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
>>> +++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
>>> @@ -2030,7 +2030,8 @@ static void ixgbevf_init_last_counter_stats(struct ixgbevf_adapter *adapter)
>>> static void ixgbevf_negotiate_api(struct ixgbevf_adapter *adapter)
>>> {
>>> 	struct ixgbe_hw *hw = &adapter->hw;
>>> -	int api[] = { ixgbe_mbox_api_11,
>>> +	int api[] = { ixgbe_mbox_api_12,
>>> +		      ixgbe_mbox_api_11,
>>> 		      ixgbe_mbox_api_10,
>>> 		      ixgbe_mbox_api_unknown };
>>> 	int err = 0, idx = 0;
>>> @@ -3712,6 +3713,7 @@ static int ixgbevf_change_mtu(struct net_device *netdev, int new_mtu)
>>>
>>> 	switch (adapter->hw.api_version) {
>>> 	case ixgbe_mbox_api_11:
>>> +	case ixgbe_mbox_api_12:
>>> 		max_possible_frame = IXGBE_MAX_JUMBO_FRAME_SIZE;
>>> 		break;
>>> 	default:
>> You need another case for ixgbe_mbox_api_12 in ixgbevf_set_num_queues(), otherwise the driver will load with a >>single queue.
>
>Right. I've missed this place since it's been added after the first 
>series version and 'git rebase' silently integrated it... ;)
>
>I have a question about this new code though. Why does ixgbevf ignores 
>IXGBE_VF_RX_QUEUES PF returns it in IXGBE_VF_GET_QUEUE?
>PF returns there 1 by the way (see ixgbe_get_vf_queues()) despite the 
>fact it configures the VF to have up to 4 queues... I do understand why 
>it allows up to 4 queues but why does it return 1 for IXGBE_VF_RX_QUEUES 
>in IXGBE_VF_GET_QUEUE? Shouldn't it return 4 there?

I'm not sure where you see this, on my setup ixgbevf_get_queues() gets 4 in msg[IXGBE_VF_R/TX_QUEUES] which is used to set hw->mac.max_t/rx_queues.

BTW - there are other issues with your patches. The indirection table seems to come out as all 0s and the VF driver reports link down/up when querying it.

Where is this information useful anyway - what is the use case? There is no description in your patches for why all this is needed.

Thanks,
Emil


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ