To help administrative tasks on ports, new per-port information need
to be added into the data structure rte_eth_dev_info supplied by the
dev_infos_get() function exported by a Poll Mode Driver.
See http://dpdk.org/ml/archives/dev/2017-September/074885.html for
details.
Signed-off-by: Ivan Boule
new fields, along with the
port_infos_display() function of the testpmd to display them.
Signed-off-by: Ivan Boule
---
lib/librte_ether/rte_ethdev.c | 1 +
lib/librte_ether/rte_ethdev.h | 112 ++
2 files changed, 113 insertions(+)
diff --git a/lib
On 06/15/2016 04:27 PM, Ananyev, Konstantin wrote:
>
>
>> -Original Message-
>> From: Richardson, Bruce
>> Sent: Wednesday, June 15, 2016 3:22 PM
>> To: Ananyev, Konstantin
>> Cc: Ivan Boule; Thomas Monjalon; Pattan, Reshma; dev at dpdk.org
>> Sub
On 06/15/2016 03:29 PM, Bruce Richardson wrote:
> On Wed, Jun 15, 2016 at 12:40:16PM +, Ananyev, Konstantin wrote:
>> Hi Ivan,
>>
>>> -Original Message-----
>>> From: Ivan Boule [mailto:ivan.boule at 6wind.com]
>>> Sent: Wednesday, June 15, 201
ction to address this issue, as locks MUST NEVER
be introduced in the RX/TX path of the DPDK framework.
Of course, the same issues stand for TX callbacks.
Regards,
Ivan
--
Ivan Boule
6WIND Development Engineer
On 05/03/2016 11:45 AM, Bruce Richardson wrote:
> On Mon, May 02, 2016 at 05:29:37PM +0530, Jerin Jacob wrote:
>> prefetch the next packet data address in advance in macswap loop
>> for performance improvement.
>>
>> ...
>> for (i = 0; i < nb_rx; i++) {
>> +if (likely(i < nb_rx - 1
>> ge-0/0/0 {
>> unit 0 {
>> family inet {
>> address 10.1.1.102/24;
>> }
>> }
>> }
>>
>> [edit]
>> root at mx86-bgl-2-r1# run ping 10.1.1.101
>> PING 10.1.1.101 (10.1.1.101): 56 data bytes
>> ^C
>> ---
");
>> printf("Santosh %s returning \n",__FUNCTION__);
>> return;
>> }
>>
>>
>> 8. If I remove the above "return" statement, build the driver, loaded
>> in router and repeat the steps-2 to steps-5 of MAC add a
, loaded
> in router and repeat the steps-2 to steps-5 of MAC add and MAC delete
> on our router then ping passes.
>
> root at mx86-bgl-1-r1# run ping 10.1.1.101
> PING 10.1.1.101 (10.1.1.101): 56 data bytes
> 64 bytes from 10.1.1.101: icmp_seq=0 ttl=64 time=2.356 ms
> 64
If I
> remove "return" what will be the consequences ?
>
> If removing "return" statement is not good idea then what are other
> way to handle MAC delete scenario ? we have only 1 VF per PF in our
> setup as of now.
>
>
> Thanks
> Santosh
>
--
On 02/12/2016 12:44 PM, Ananyev, Konstantin wrote:
>
>>
>>> -Original Message-
...
>>
>> In that case we don't need to make any changes at rte_ethdev.[h,c] to
>> alloc/free/maintain tx_buffer inside each queue...
>> It all will be upper layer responsibility.
>> So no need to modify existin
architecture-dependent device binding services to be
invoked by PMDs at PCI device probing time.
My 2 cents,
Ivan
--
Ivan Boule
6WIND Development Engineer
; instance).
> Or perhaps, to maintain backward compatibility, just a flag inside the mbuf
> could be set that informs the user that at the end of the mbuf packet, you
> can find 4 bytes with the CRC.
>
>>
>> Let's see what others, if any, that might care think about such a change into
>> the CRC stripping semantics.
>
> Thanks!
> Francesco
>
--
Ivan Boule
6WIND Development Engineer
4 in the packet length
, for instance).
Let's see what others, if any, that might care think about such a change
into the CRC stripping semantics.
Ivan
--
Ivan Boule
6WIND Development Engineer
Hi Jijiang,
See my comments inline below prefixewd with IB>
Ivan
On 12/18/2015 03:00 AM, Liu, Jijiang wrote:
> Hi Boule,
>
>> -Original Message-
>> From: Ivan Boule [mailto:ivan.boule at 6wind.com]
>> Sent: Tuesday, December 15, 2015 4:50 PM
>> To: Li
erent way and in an easy-to-use
approach.
By the way, as far as I know, the Linux kernel does not [need to] save
tunnel data or ARP entries behind "netdevice" structures.
PS : in the "rte_eth_tunnel_conf" data structure, I think that the first
field should be named "rx_queue" instead of "tx_queue".
Regards,
Ivan
--
Ivan Boule
6WIND Development Engineer
On 05/28/2015 06:21 PM, Stephen Hemminger wrote:
> On Thu, 28 May 2015 17:05:18 +0200
> Ivan Boule wrote:
>
>> Introduce PMD API to set the list of multicast MAC addresses filtered
>> by a port.
>> Implemented in the following PMDs: igb, igbvf, em, ixgbe, and ixg
such cases, joined multicast addresses must be individually added
in the set of multicast addresses that are filtered by the [VF] port.
For this purpose, a new function "set_mc_addr_list" is introduced
into the set of functions that are exported by a Poll Mode Driver.
Signed-off-by: Iva
On 05/28/2015 06:22 PM, Stephen Hemminger wrote:
> On Thu, 28 May 2015 17:05:19 +0200
> Ivan Boule wrote:
>
>> +if (port_id >= nb_ports) {
>> +PMD_DEBUG_TRACE("Invalid port_id=%d\n", port_id);
>> +return -ENODEV;
>>
request IP
source address,
- re-compute the IP header checksum.
Otherwise
- switch the request IP source and destination addresses in the
reply,
- keep the IP header checksum unchanged.
Signed-off-by: Ivan Boule
---
app/test-pmd/icmpecho.c | 65
Support the function "set_mc_addr_list" in the "ixgbe" and in the
"ixgbe-vf" Poll Mode Drivers.
Signed-off-by: Ivan Boule
---
drivers/net/ixgbe/ixgbe_ethdev.c | 32
1 file changed, 32 insertions(+)
diff --git a/drivers/net/ixgb
Support the PMD function "set_mc_addr_list" in the "igb", "igb-vf",
and "em" Poll Mode Drivers.
Signed-off-by: Ivan Boule
---
drivers/net/e1000/em_ethdev.c | 17 +
drivers/net/e1000/igb_ethdev.c | 18 ++
2 files
Add the new interactive command:
mcast_addr add|remove X
to add/remove the multicast MAC address to/from the set of
multicast addresses filtered by port .
Command used to test the function "rte_eth_dev_set_mc_addr_list"
that has been added to the API of PMDs.
Signed-off-by:
such cases, joined multicast addresses must be individually added
in the set of multicast addresses that are filtered by the [VF] port.
For this purpose, a new function "set_mc_addr_list" is introduced
into the set of functions that are exported by a Poll Mode Driver.
Signed-off-by:
Introduce PMD API to set the list of multicast MAC addresses filtered
by a port.
Implemented in the following PMDs: igb, igbvf, em, ixgbe, and ixgbevf.
Implementation for physical PMDs i40e, i40evf, enic, and fm10k left
to their respective maintainers.
Ivan Boule (5):
ethdev: add multicast
Hi Avi,
On 05/07/2015 04:02 PM, Avi Kivity wrote:
> On Wed, Apr 22, 2015 at 6:11 PM, O'Driscoll, Tim
> wrote:
>
>> Does anybody have any input or comments on this?
>>
>>
>>> -Original Message-
>>> From: O'Driscoll, Tim
>>> Sent: Thursday, April 16, 2015 11:39 AM
>>> To: dev at dpdk.org
>>
port_id,
struct ether_addr *mc_addr_set,
uint32_t nb_mc_addr);
--
Ivan Boule
6WIND Development Engineer
with errno == EINTR.
It should also return in this case.
- the function rte_eal_wait_rx_intr() should not invoke rte_panic() but
instead return "-errno" upon system call failure.
With these fixes:
Acked-By: Ivan Boule
--
Ivan Boule
6WIND Development Engineer
On 11/27/2014 12:48 PM, Thomas Monjalon wrote:
> It was impossible to include netinet/in.h and rte_ip.h
> because the IP protocols were redefined.
> It is removed because useless.
>
> Signed-off-by: Thomas Monjalon
Acked by Ivan Boule
--
Ivan Boule
6WIND Development Engineer
; + const char *a = value;
> + unsigned *packet_size = extra_args;
> +
> + *packet_size = (unsigned)strtoul(a, NULL, 0);
> + if (*packet_size == UINT_MAX)
> + return -1;
> +
> + return 0;
> +}
> +
> +static inline int
> +get_packet_copy_arg(const char *key __rte_unused,
> + const char *value, void *extra_args)
> +{
> + const char *a = value;
> + unsigned *packet_copy = extra_args;
> +
> + *packet_copy = (unsigned)strtoul(a, NULL, 0);
> + if (*packet_copy == UINT_MAX)
> + return -1;
> +
> + return 0;
> +}
> +
> +static int
> +rte_pmd_null_devinit(const char *name, const char *params)
> +{
> + unsigned numa_node;
> + unsigned packet_size = default_packet_size;
> + unsigned packet_copy = default_packet_copy;
> + struct rte_kvargs *kvlist;
> + int ret;
> +
> + RTE_LOG(INFO, PMD, "Initializing pmd_null for %s\n", name);
> +
> + numa_node = rte_socket_id();
> +
> + kvlist = rte_kvargs_parse(params, valid_arguments);
> + if (kvlist == NULL)
> + return -1;
> +
> + if (rte_kvargs_count(kvlist, ETH_NULL_PACKET_SIZE_ARG) == 1) {
> +
> + ret = rte_kvargs_process(kvlist, ETH_NULL_PACKET_SIZE_ARG,
> + &get_packet_size_arg, &packet_size);
> + if (ret < 0)
> + return -1;
> + }
> +
> + if (rte_kvargs_count(kvlist, ETH_NULL_PACKET_COPY_ARG) == 1) {
> +
> + ret = rte_kvargs_process(kvlist, ETH_NULL_PACKET_COPY_ARG,
> + &get_packet_copy_arg, &packet_copy);
> + if (ret < 0)
> + return -1;
> + }
> +
> + RTE_LOG(INFO, PMD, "Configure pmd_null: packet size is %d, "
> + "packet copy is %s\n", packet_size,
> + packet_copy ? "enabled" : "disabled");
> +
> + return eth_dev_null_create(name, numa_node, packet_size, packet_copy);
> +}
> +
> +static struct rte_driver pmd_null_drv = {
> + .name = "eth_null",
> + .type = PMD_VDEV,
> + .init = rte_pmd_null_devinit,
> +};
> +
> +PMD_REGISTER_DRIVER(pmd_null_drv);
>
--
Ivan Boule
6WIND Development Engineer
ded in a
>> sort of non-regression test?
>>
>> Regards,
>> Olivier
>>
>> [1] http://dpdk.org/ml/archives/dev/2014-May/002537.html
>> [2] http://dpdk.org/ml/archives/dev/2014-May/002322.html
>
> Hi Olivier
>
> I am trying to convince you on the new field of "filter status".
> It is for matched Flow Director Filter ID, and might be reused for HASH
> signature if it matches hash filter, or others.
> It is quite useful for Flow Director, and not a flag. I guess there should
> have the similar feature even in non-Intel NICs.
>
By construction, since a packet cannot match more than 1 filter with an
associated identifier, this is typically the kind of field that should
be put in an union with the standard 32-bit RSS id.
Regards,
Ivan
> Regards,
> Helin
>
--
Ivan Boule
6WIND Development Engineer
tub table
>Packet Framework librte_table: Build infrastructure
>Packet Framework librte_pipeline: Pipeline
>librte_cfgfile: interpret config files
> Packet Framework performance application
>Packet Framework IPv4 pipeline sample app
>Packet Framework unit tests
>
Acked by: Ivan Boule
--
Ivan Boule
6WIND Development Engineer
cation where meta-data
> _can_ be placed, if somebody needs a different offset, they can add it on top
> of the mbuf->metadata (e.g. by having a reserved field in their struct
> app_pkt_metadata). We have demonstrated the use of meta-data in the
> examples/ip_pipeline sample app (
functionality of setting link up and link
> down in testpmd.
>
Acked by: Ivan Boule
--
Ivan Boule
6WIND Development Engineer
mbuf->metadata32[offset/sizeof(uint32_t)])
> +#define RTE_MBUF_METADATA_UINT64_PTR(mbuf, offset)
> (&mbuf->metadata64[offset/sizeof(uint64_t)])
> +
> /**
>* Given the buf_addr returns the pointer to corresponding mbuf.
>*/
>
--
Ivan Boule
6WIND Development Engineer
gt; Any difference if use " dev_link_start/stop" or " dev_link_up/down"?
>> to me, admin_link_up/down is better than dev_link_start/stop,
>>
>> If most people think we need change the name, it is ok to rename it.
>>
>> I don't think we need it in n
>
> I don't think we need it in non-physical PMDs. So no implementation in virtio
> PMD.
>
> Thanks
> Changchun
>
>
> -Original Message-
> From: Ivan Boule [mailto:ivan.boule at 6wind.com]
> Sent: Thursday, May 22, 2014 9:17 PM
> To: Ouyang, Changc
2 other patches.
It might also be worth documenting in the comment section of the
prototype of these 2 functions whether it makes sense or not to support
a notion of link that can be dynamically started or stopped in
non-physical PMDs (vmxnet3, virtio, etc).
Regards,
Ivan
--
Ivan Boule
6WIND Development Engineer
ve, -ENOTSUP);
FUNC_PTR_OR_ERR_RET(*dev->dev_ops->mac_addr_add, -ENOTSUP);
rte_eth_macaddr_get(port_id, &cur_addr);
diag = rte_eth_dev_mac_addr_remove(port_id, &cur_addr);
if (diag < 0)
return diag;
return rte_eth_dev_mac_addr_add(port_
Add the command "port config X rss-hash-key key" in the 'testpmd'
application to configure the RSS hash key used to compute the RSS
hash of input [IP] packets received on port X.
Signed-off-by: Ivan Boule
---
app/test-pmd/cmdline.c | 96 +
ot;show port X rss-hash [key]" in the testpmd application
to display the RSS hash configuration of port X.
Signed-off-by: Ivan Boule
---
app/test-pmd/cmdline.c | 63 +
app/test-pmd/config.c | 65 +++
cally
only changes the RSS hash computation parameters of a port, without needing
to previously stop the port.
Signed-off-by: Ivan Boule
---
app/test-pmd/cmdline.c | 20
1 file changed, 8 insertions(+), 12 deletions(-)
diff --git a/app/test-pmd/cmdline.c b/app/test-pmd
ey used by a NIC consists in
updating appropriate PCI registers of the NIC.
These operations have been manually tested with the interactive commands
"write reg" and "write regbit" of the testpmd application.
Signed-off-by: Ivan Boule
---
lib/librte_ether/rte_ethdev.c
(16) and are strictly lower than the number of
RX queues of the port.
Signed-off-by: Ivan Boule
---
lib/librte_ether/rte_ethdev.c | 10 ++
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
index a5727dd..473c98b
xgbe PMDs, add tests
that do not allow RSS to be dynamically enabled or disabled.
--
Ivan Boule
Ivan Boule (5):
ethdev: check RX queue indices in RETA config against number of queues
ethdev: allow to set RSS hash computation flags and/or key
app/testpmd: configure RSS without restart
ethd
rd-mode=N: set forwarding mode (N: %s).\n",
> +list_pkt_forwarding_modes());
> printf(" --rss-ip: set RSS functions to IPv4/IPv6 only .\n");
> printf(" --rss-udp: set RSS functions to IPv4/IPv6 + UDP.\n");
> printf(" --rxq=N: set the number of RX queues per port to N.\n");
> diff --git a/app/test-pmd/testpmd.h b/app/test-pmd/testpmd.h
> index 52d3543..0e4a35e 100644
> --- a/app/test-pmd/testpmd.h
> +++ b/app/test-pmd/testpmd.h
> @@ -491,6 +491,7 @@ void tx_cksum_set(portid_t port_id, uint8_t cksum_mask);
> void set_verbose_level(uint16_t vb_level);
> void set_tx_pkt_segments(unsigned *seg_lengths, unsigned nb_segs);
> void set_nb_pkt_per_burst(uint16_t pkt_burst);
> +char *list_pkt_forwarding_modes(void);
> void set_pkt_forwarding_mode(const char *fwd_mode);
> void start_packet_forwarding(int with_tx_first);
> void stop_packet_forwarding(void);
Acked by: Ivan Boule
--
Ivan Boule
6WIND Development Engineer
> + (*dev->dev_ops->mac_addr_set)(dev, addr);
> + else {
> + FUNC_PTR_OR_ERR_RET(*dev->dev_ops->mac_addr_add, -ENOTSUP);
> + (*dev->dev_ops->mac_addr_add)(dev, addr, 0, 0);
> + }
> +
> + ether_addr_copy(addr, &dev->data->mac_addrs[0]);
> +
> + return 0;
> +}
> +
> +int
> rte_eth_dev_vlan_filter(uint8_t port_id, uint16_t vlan_id, int on)
> {
> struct rte_eth_dev *dev;
>
>
--
Ivan BOULE
6WIND
Software Engineer
t; +{
> + rte_atomic64_t *dst = (rte_atomic64_t *)&dev->data->dev_link;
> +
> + rte_atomic64_set(dst, *(int64_t *)link);
> +}
> +
>
>
--
Ivan BOULE
6WIND
Software Engineer
e updated on the fly.
> As I remember that was the reason why we allow only dev_rss_reta_update() to
> be used dynamically (without dev_start/dev_stop).
>
> Konstantin
>
>
>
> -Original Message-
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Ivan Boule
&g
When initializing a VF with no initial MAC address assigned by
the underlying Host PF driver, assign a default MAC address.
Signed-off-by: Ivan Boule
---
lib/librte_pmd_ixgbe/ixgbe_ethdev.c | 54 +--
1 file changed, 46 insertions(+), 8 deletions(-)
diff --git
, in order
to reset the data sent in a previous VF/PF exchange (in either side),
including the last exchange performed by another Guest OS to which that VF
was previously assigned.
Signed-off-by: Ivan Boule
---
lib/librte_pmd_ixgbe/ixgbe/ixgbe_mbx.c | 22 ++
1 file changed, 22
permanent MAC
address that is stored into it, as well as all NULL MAC addresses.
Signed-off-by: Ivan Boule
---
lib/librte_pmd_ixgbe/ixgbe_ethdev.c | 34 ++
1 file changed, 26 insertions(+), 8 deletions(-)
diff --git a/lib/librte_pmd_ixgbe/ixgbe_ethdev.c
b/lib
o store VF MAC addresses.
To address this issue, do nothing in the function ixgbevf_add_mac_addr()
if the added MAC address is equal to the permanent MAC address of the VF.
Signed-off-by: Ivan Boule
---
lib/librte_pmd_ixgbe/ixgbe_ethdev.c |7 +++
1 file changed, 7 insertions(+)
diff -
Add missing PMD functions in the ixgbevf driver to add (respectively remove)
a MAC address to/from a 82599 VF.
For this purpose, these 2 functions use the VF/PF mailbox-based protocol.
Signed-off-by: Ivan Boule
---
lib/librte_pmd_ixgbe/ixgbe_ethdev.c | 53
DK VF".
Ivan Boule (5):
[PATCH 1/5] ixgbe: add/remove a MAC address to/from a VF
[PATCH 2/5] ixgbe: avoid adding twice the permanent MAC address of a VF
[PATCH 3/5] ixgbe: skip NULL & permanent MAC addresses of a VF
[PATCH 4/5] ixgbe: reset unused VF mailbox data registers
[PATCH 5/5]
rxdctl |= ((rxq->hthresh & 0x1F) << 8);
> - if (hw->mac.type == e1000_82576) {
> + if (hw->mac.type == e1000_vfadapt) {
> /*
>* Workaround of 82576 VF Erratum
>* force set WTHRESH to 1
Acked.
Thanks.
--
Ivan Boule
6WIND Development Engineer
ptor rings */
> diff --git a/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
> b/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
> index 55414b9..7930dbd 100644
> --- a/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
> +++ b/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
> @@ -3594,6 +3594,10 @@ ixgbevf_dev_rx_init(struct rte_eth_dev *dev)
> PMD_INIT_FUNC_TRACE();
> hw = IXGBE_DEV_PRIVATE_TO_HW(dev->data->dev_private);
>
> + /* setup MTU */
> + ixgbevf_rlpml_set_vf(hw,
> + (uint16_t)dev->data->dev_conf.rxmode.max_rx_pkt_len);
> +
> /* Setup RX queues */
> dev->rx_pkt_burst = ixgbe_recv_pkts;
> for (i = 0; i < dev->data->nb_rx_queues; i++) {
Acked.
Thanks.
--
Ivan Boule
6WIND Development Engineer
t;
> -Original Message-----
> From: Ivan Boule [mailto:ivan.boule at 6wind.com]
> Sent: Wednesday, April 30, 2014 10:49 AM
> To: Ananyev, Konstantin; dev at dpdk.org
> Subject: Re: [dpdk-dev] [PATCH] ixgbevf jumbo frame issue with DPDK VF
>
> Hi Konstantin,
>
> The content
Add the command "port config X rss-hash-key key" in the 'testpmd'
application to configure the RSS hash key used to compute the RSS
hash of input [IP] packets received on port X.
Signed-off-by: Ivan Boule
---
app/test-pmd/cmdline.c | 96 +
ot;show port X rss-hash [key]" in the testpmd application
to display the RSS hash configuration of port X.
Signed-off-by: Ivan Boule
---
app/test-pmd/cmdline.c | 63 +
app/test-pmd/config.c | 65 +++
cally
only changes the RSS hash computation parameters of a port, without needing
to previously stop the port.
Signed-off-by: Ivan Boule
---
app/test-pmd/cmdline.c | 20
1 file changed, 8 insertions(+), 12 deletions(-)
diff --git a/app/test-pmd/cmdline.c b/app/test-pmd
e:
Configuring the RSS hash flags and the RSS key used by a NIC consists in
updating appropriate PCI registers of the NIC.
These operations have been manually tested with the interactive commands
"write reg" and "write regbit" of the testpmd application.
S
(16) and are strictly lower than the number of
RX queues of the port.
Signed-off-by: Ivan Boule
---
lib/librte_ether/rte_ethdev.c | 10 ++
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
index a5727dd..473c98b
This set of patches allows to dynamically get and set the RSS configuration of a
port:
- rss functions (IP/UDP/TCP ...)
- rss hash key
--
Ivan Boule
Ivan Boule (5):
ethdev: check RX queue indices in RETA config against number of
queues
ethdev: allow to set RSS hash computation flags and
/
> diff --git a/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
> b/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
> index 55414b9..7930dbd 100644
> --- a/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
> +++ b/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
> @@ -3594,6 +3594,10 @@ ixgbevf_dev_rx_init(struct rte_eth_dev *dev)
> PMD_INIT_FUNC_TRACE();
> hw = IXGBE_DEV_PRIVATE_TO_HW(dev->data->dev_private);
>
> + /* setup MTU */
> + ixgbevf_rlpml_set_vf(hw,
> + (uint16_t)dev->data->dev_conf.rxmode.max_rx_pkt_len);
> +
> /* Setup RX queues */
> dev->rx_pkt_burst = ixgbe_recv_pkts;
> for (i = 0; i < dev->data->nb_rx_queues; i++) {
--
Ivan Boule
6WIND Development Engineer
't make typos, Swype does!
>
> On Jan 7, 2014 3:36 AM, "Ivan Boule" <mailto:ivan.boule at 6wind.com>> wrote:
>
> On 01/06/2014 05:52 PM, Michael Quicquaro wrote:
>
> Thanks for the details. Can the hash function be modified so
> that
them (to other queues) by having some of the
> CPU processing devoted to this task. Can you verify this?
>
> Regards,
> - Michael.
>
>
> On Mon, Jan 6, 2014 at 10:21 AM, Ivan Boule <mailto:ivan.boule at 6wind.com>> wrote:
>
> On 12/31/2013 08:45 PM, Mi
T generic flag into the mbuf that contains the packet.
Best regards,
Ivan
--
Ivan Boule
6WIND Development Engineer
"port config X rss reta (hash,queue)[,(hash,queue)]"
to configure RETA entries of a port X, with each couple (hash,queue)
contains the index of a RETA entry (between 0 and 127 included) and the
RX queue number (between 0 and 15) to be stored into that RETA entry.
Best regards
Ivan
--
Ivan Boule
6WIND Development Engineer
re(struct rte_eth_dev *dev)
> ixgbe_vmdq_rx_hw_configure(dev);
> break;
>
> + case ETH_MQ_RX_NONE:
> +/* if mq_mode is none, disable rss mode.*/
> default: ixgbe_rss_disable(dev);
> }
> else
Acked by Ivan Boule
--
Ivan Boule
6WIND Development Engineer
_mode is none, disable rss mode.*/
> default: ixgbe_rss_disable(dev);
> -}
> -else
> -ixgbe_rss_disable(dev);
> +}
> } else {
> switch (RTE_ETH_DEV_SRIOV(dev).active) {
> /*
Acked by Ivan Boule
--
Ivan Boule
6WIND Development Engineer
is zeroed thanks to its static declaration.
>
> Signed-off-by: Thomas Monjalon
> ---
> lib/librte_pmd_e1000/igb_rxtx.c | 14 ++
> lib/librte_pmd_ixgbe/ixgbe_rxtx.c | 10 ++
> 2 files changed, 12 insertions(+), 12 deletions(-)
>
>
Acked-by: Ivan Boule
--
Ivan Boule
6WIND Development Engineer
Compute how many status bits were set */
> - nb_dd = s[0]+s[1]+s[2]+s[3]+s[4]+s[5]+s[6]+s[7];
> nb_rx += nb_dd;
>
> /* Translate descriptor info to mbuf format */
Acked.
--
Ivan Boule
6WIND Development Engineer
Acked-by: Ivan Boule
On 09/26/2013 03:34 PM, Qinglai Xiao wrote:
> 82599 has two loopback operation modes, Tx->Rx and Rx->Tx.
> For the time being only Tx->Rx is supported.
>
> The new field lpbk_mode added in struct rte_eth_conf defines loopback
> operation m
llbacks? You could then merge the setup_link code into
>> something like dev_rxtx_start() [ open to suggestions ].
>>
>> Regards,
>> -Venky
>>
>> -Original Message-
>> From: jigsaw [mailto:jigsaw at gmail.com]
>> Sent: Wednesday, September 25
be defined as bitfield.
>
> Having these questions in mind, I decided to expose just a uint32_t in
> rte_eth_conf, so that the solution
> is open for further changes. I should have stated my thoughts before
> sending the patch, and I hope it's not
> too late to open the discu
B> replace the line above by:
+if (dev->data->dev_conf.lpbk_mode != RTE_LOOPBACK_NONE) {
> + struct ixgbe_hw *hw =
> + IXGBE_DEV_PRIVATE_TO_HW(dev->data->dev_private);
> +
> + hw->lpbk = dev->data->dev_conf.lpbk;
IB> replace the line above by:
+/* Only supports TX->RX loopback mode for now. */
+hw->lpbk = IXGBE_LPBK_82599_TX_RX;
> + }
> +
> +
> /* set flag to update link status after init */
> intr->flags |= IXGBE_FLAG_NEED_LINK_UPDATE;
>
> diff --git a/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
> b/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
> index 5fba01d..158da0e 100644
> --- a/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
> +++ b/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
> @@ -3252,6 +3252,12 @@ ixgbe_dev_rx_init(struct rte_eth_dev *dev)
> } else
> hlreg0 &= ~IXGBE_HLREG0_JUMBOEN;
>
> + /*
> + * Both Tx->Rx and Rx->Tx requres IXGBE_HLREG0_LPBK to be set.
IB> requres -> requires
> + */
> + if (hw->lpbk)
> + hlreg0 |= IXGBE_HLREG0_LPBK;
> +
> IXGBE_WRITE_REG(hw, IXGBE_HLREG0, hlreg0);
>
> /* Setup RX queues */
--
Ivan Boule
6WIND Development Engineer
g,
> but not at initial configuration.
>
> Move the FUNC_PTR_OR_ERR_RET check into the case of reconfiguration.
>
> Signed-off-by: Thomas Monjalon
>
Acked-by: Ivan Boule
--
Ivan Boule
6WIND Development Engineer
4 XOFF/XON counters in the `testpmd` application.
Signed-off-by: Ivan Boule
---
app/test-pmd/config.c |8
app/test-pmd/testpmd.c | 10 ++
lib/librte_ether/rte_ethdev.h |4
lib/librte_pmd_e1000/em_ethdev.c|6 ++
lib
From: Zijie Pan
The entries for the configuration of the reception and of the transmission
of pause frames are inverted in the mode conversion array.
Signed-off-by: Zijie Pan
Acked-by: Ivan Boule
---
app/test-pmd/cmdline.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff
t duration) would be
performed by true Traffic Generators such as IXIAs for instance.
Best regards,
Ivan
--
Ivan Boule
6WIND Development Engineer
gainst the list
of supported PCI device identifiers in the file:
lib/librte_eal/common/include/rte_pci_dev_ids.h
Best regards,
Ivan
--
Ivan Boule
6WIND Development Engineer
segmentation offload (Transmit Segmentation Offload)
- UDP segmentation offload
2) Update the eth_dev_infos_get() function of the igb and ixgbe PMDs
to return the offload capabilities which are supported by the
device and that are effectively managed by the driver.
Signed-off-by: Ivan
83 matches
Mail list logo