DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] net/bonding: allow configuring jumbo frames without slaves
       [not found] <CGME20170407150720eucas1p2ea1d3b1c4f1e4dd394f98ff4d8573c32@eucas1p2.samsung.com>
@ 2017-04-07 15:07 ` Ilya Maximets
  2017-04-10  2:22   ` Eric Kinzie
  0 siblings, 1 reply; 4+ messages in thread
From: Ilya Maximets @ 2017-04-07 15:07 UTC (permalink / raw)
  To: dev, Declan Doherty
  Cc: Heetae Ahn, Eric Kinzie, Bernard Iremonger, Ilya Maximets, stable

Currently, 'rte_eth_dev_configure' fails on attempt to setup
max_rx_pkt_len > 2048 if no slaves was added to bonded device.

For example:

	rte_eth_dev_attach("eth_bond0,slave=05:00.0,mode=l34", &id)
	conf.rxmode.jumbo_frame = 1;
	conf.rxmode.max_rx_pkt_len = 9000;
	rte_eth_dev_configure(id, 1, 1, &conf)

Result:
	EAL: Initializing pmd_bond for eth_bond0
	EAL: Create bonded device eth_bond0 on port 4 in mode 2 on socket 0.
	rte_eth_dev_configure: ethdev port_id=4 \
		max_rx_pkt_len 9018 > max valid value 2048

It's expected that slaves will be added to bonded device inside
'rte_eth_dev_configure' and proper 'max_rx_pktlen' configured
for all of them.

Failure happens because of hardcoded low value of 'max_rx_pktlen'.
Increasing of this value to ETHER_MAX_JUMBO_FRAME_LEN will allow
above scenario (attach + configure).

It is important because it is the way OVS wants to work with
all DPDK devices (including virtual).
Changing the default hardcoded value makes no harm because
all the slaves' related code uses only 'candidate_max_rx_pktlen'
variable.

CC: stable@dpdk.org
Fixes: 6cfc6a4f0d61 ("net/bonding: inherit maximum Rx packet length")
Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
---
 drivers/net/bonding/rte_eth_bond_pmd.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
index c398fdb..0c8cc40 100644
--- a/drivers/net/bonding/rte_eth_bond_pmd.c
+++ b/drivers/net/bonding/rte_eth_bond_pmd.c
@@ -1689,8 +1689,9 @@ bond_ethdev_info(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
 
 	dev_info->max_mac_addrs = 1;
 
-	dev_info->max_rx_pktlen = internals->candidate_max_rx_pktlen ?
-				  internals->candidate_max_rx_pktlen : 2048;
+	dev_info->max_rx_pktlen = internals->candidate_max_rx_pktlen
+				  ? internals->candidate_max_rx_pktlen
+				  : ETHER_MAX_JUMBO_FRAME_LEN;
 
 	dev_info->max_rx_queues = (uint16_t)128;
 	dev_info->max_tx_queues = (uint16_t)512;
-- 
2.7.4

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

* Re: [dpdk-dev] [PATCH] net/bonding: allow configuring jumbo frames without slaves
  2017-04-07 15:07 ` [dpdk-dev] [PATCH] net/bonding: allow configuring jumbo frames without slaves Ilya Maximets
@ 2017-04-10  2:22   ` Eric Kinzie
  2017-04-14  8:31     ` Declan Doherty
  0 siblings, 1 reply; 4+ messages in thread
From: Eric Kinzie @ 2017-04-10  2:22 UTC (permalink / raw)
  To: Ilya Maximets; +Cc: dev, Declan Doherty, Heetae Ahn, Bernard Iremonger, stable

On Fri Apr 07 18:07:12 +0300 2017, Ilya Maximets wrote:
> Currently, 'rte_eth_dev_configure' fails on attempt to setup
> max_rx_pkt_len > 2048 if no slaves was added to bonded device.
> 
> For example:
> 
> 	rte_eth_dev_attach("eth_bond0,slave=05:00.0,mode=l34", &id)
> 	conf.rxmode.jumbo_frame = 1;
> 	conf.rxmode.max_rx_pkt_len = 9000;
> 	rte_eth_dev_configure(id, 1, 1, &conf)
> 
> Result:
> 	EAL: Initializing pmd_bond for eth_bond0
> 	EAL: Create bonded device eth_bond0 on port 4 in mode 2 on socket 0.
> 	rte_eth_dev_configure: ethdev port_id=4 \
> 		max_rx_pkt_len 9018 > max valid value 2048
> 
> It's expected that slaves will be added to bonded device inside
> 'rte_eth_dev_configure' and proper 'max_rx_pktlen' configured
> for all of them.
> 
> Failure happens because of hardcoded low value of 'max_rx_pktlen'.
> Increasing of this value to ETHER_MAX_JUMBO_FRAME_LEN will allow
> above scenario (attach + configure).
> 
> It is important because it is the way OVS wants to work with
> all DPDK devices (including virtual).
> Changing the default hardcoded value makes no harm because
> all the slaves' related code uses only 'candidate_max_rx_pktlen'
> variable.
> 
> CC: stable@dpdk.org
> Fixes: 6cfc6a4f0d61 ("net/bonding: inherit maximum Rx packet length")
> Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
> ---
>  drivers/net/bonding/rte_eth_bond_pmd.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
> index c398fdb..0c8cc40 100644
> --- a/drivers/net/bonding/rte_eth_bond_pmd.c
> +++ b/drivers/net/bonding/rte_eth_bond_pmd.c
> @@ -1689,8 +1689,9 @@ bond_ethdev_info(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
>  
>  	dev_info->max_mac_addrs = 1;
>  
> -	dev_info->max_rx_pktlen = internals->candidate_max_rx_pktlen ?
> -				  internals->candidate_max_rx_pktlen : 2048;
> +	dev_info->max_rx_pktlen = internals->candidate_max_rx_pktlen
> +				  ? internals->candidate_max_rx_pktlen
> +				  : ETHER_MAX_JUMBO_FRAME_LEN;
>  
>  	dev_info->max_rx_queues = (uint16_t)128;
>  	dev_info->max_tx_queues = (uint16_t)512;
> -- 
> 2.7.4
> 

Reviewed-by: Eric Kinzie <ehkinzie@gmail.com>

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

* Re: [dpdk-dev] [PATCH] net/bonding: allow configuring jumbo frames without slaves
  2017-04-10  2:22   ` Eric Kinzie
@ 2017-04-14  8:31     ` Declan Doherty
  2017-04-14  9:40       ` Ferruh Yigit
  0 siblings, 1 reply; 4+ messages in thread
From: Declan Doherty @ 2017-04-14  8:31 UTC (permalink / raw)
  To: Eric Kinzie, Ilya Maximets; +Cc: dev, Heetae Ahn, Bernard Iremonger, stable

On 10/04/17 03:22, Eric Kinzie wrote:
> On Fri Apr 07 18:07:12 +0300 2017, Ilya Maximets wrote:
>> Currently, 'rte_eth_dev_configure' fails on attempt to setup
>> max_rx_pkt_len > 2048 if no slaves was added to bonded device.
>>
>> For example:
>>
>> 	rte_eth_dev_attach("eth_bond0,slave=05:00.0,mode=l34", &id)
>> 	conf.rxmode.jumbo_frame = 1;
>> 	conf.rxmode.max_rx_pkt_len = 9000;
>> 	rte_eth_dev_configure(id, 1, 1, &conf)
>>
>> Result:
>> 	EAL: Initializing pmd_bond for eth_bond0
>> 	EAL: Create bonded device eth_bond0 on port 4 in mode 2 on socket 0.
>> 	rte_eth_dev_configure: ethdev port_id=4 \
>> 		max_rx_pkt_len 9018 > max valid value 2048
>>
>> It's expected that slaves will be added to bonded device inside
>> 'rte_eth_dev_configure' and proper 'max_rx_pktlen' configured
>> for all of them.
>>
>> Failure happens because of hardcoded low value of 'max_rx_pktlen'.
>> Increasing of this value to ETHER_MAX_JUMBO_FRAME_LEN will allow
>> above scenario (attach + configure).
>>
>> It is important because it is the way OVS wants to work with
>> all DPDK devices (including virtual).
>> Changing the default hardcoded value makes no harm because
>> all the slaves' related code uses only 'candidate_max_rx_pktlen'
>> variable.
>>
>> CC: stable@dpdk.org
>> Fixes: 6cfc6a4f0d61 ("net/bonding: inherit maximum Rx packet length")
>> Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
>> ---
...
>
> Reviewed-by: Eric Kinzie <ehkinzie@gmail.com>
>

Acked-by: Declan Doherty <declan.doherty@gmail.com>

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

* Re: [dpdk-dev] [PATCH] net/bonding: allow configuring jumbo frames without slaves
  2017-04-14  8:31     ` Declan Doherty
@ 2017-04-14  9:40       ` Ferruh Yigit
  0 siblings, 0 replies; 4+ messages in thread
From: Ferruh Yigit @ 2017-04-14  9:40 UTC (permalink / raw)
  To: Declan Doherty, Eric Kinzie, Ilya Maximets
  Cc: dev, Heetae Ahn, Bernard Iremonger, stable

On 4/14/2017 9:31 AM, Declan Doherty wrote:
> On 10/04/17 03:22, Eric Kinzie wrote:
>> On Fri Apr 07 18:07:12 +0300 2017, Ilya Maximets wrote:
>>> Currently, 'rte_eth_dev_configure' fails on attempt to setup
>>> max_rx_pkt_len > 2048 if no slaves was added to bonded device.
>>>
>>> For example:
>>>
>>> 	rte_eth_dev_attach("eth_bond0,slave=05:00.0,mode=l34", &id)
>>> 	conf.rxmode.jumbo_frame = 1;
>>> 	conf.rxmode.max_rx_pkt_len = 9000;
>>> 	rte_eth_dev_configure(id, 1, 1, &conf)
>>>
>>> Result:
>>> 	EAL: Initializing pmd_bond for eth_bond0
>>> 	EAL: Create bonded device eth_bond0 on port 4 in mode 2 on socket 0.
>>> 	rte_eth_dev_configure: ethdev port_id=4 \
>>> 		max_rx_pkt_len 9018 > max valid value 2048
>>>
>>> It's expected that slaves will be added to bonded device inside
>>> 'rte_eth_dev_configure' and proper 'max_rx_pktlen' configured
>>> for all of them.
>>>
>>> Failure happens because of hardcoded low value of 'max_rx_pktlen'.
>>> Increasing of this value to ETHER_MAX_JUMBO_FRAME_LEN will allow
>>> above scenario (attach + configure).
>>>
>>> It is important because it is the way OVS wants to work with
>>> all DPDK devices (including virtual).
>>> Changing the default hardcoded value makes no harm because
>>> all the slaves' related code uses only 'candidate_max_rx_pktlen'
>>> variable.
>>>

>>> Fixes: 6cfc6a4f0d61 ("net/bonding: inherit maximum Rx packet length")
>>> CC: stable@dpdk.org

>>> Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
>>> ---
> ...
>>
>> Reviewed-by: Eric Kinzie <ehkinzie@gmail.com>
>>
> 
> Acked-by: Declan Doherty <declan.doherty@gmail.com>

Applied to dpdk-next-net/master, thanks.

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

end of thread, other threads:[~2017-04-14  9:40 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <CGME20170407150720eucas1p2ea1d3b1c4f1e4dd394f98ff4d8573c32@eucas1p2.samsung.com>
2017-04-07 15:07 ` [dpdk-dev] [PATCH] net/bonding: allow configuring jumbo frames without slaves Ilya Maximets
2017-04-10  2:22   ` Eric Kinzie
2017-04-14  8:31     ` Declan Doherty
2017-04-14  9:40       ` Ferruh Yigit

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).