* [dpdk-dev] Question on VMDq mode
@ 2013-12-04 18:28 Mauro
2013-12-12 17:04 ` Mauro Annarumma
0 siblings, 1 reply; 2+ messages in thread
From: Mauro @ 2013-12-04 18:28 UTC (permalink / raw)
To: dev
Hi,
I'm trying to use the VMDq technology for pre-filter packets on the
NIC;unfortunately I found only two examples about this, and both express
conditions on the VLAN tag, while I need to select packets based on
their (source) MAC address.
After looking to the API, I find out the function
*rte_eth_dev_mac_addr_add*, which requires the parameter *uint32_t pool*
(VMDq pool index to associate address with (if VMDq is enabled)).
My questions are:
1) Am I on the right way to achieve my goal?
2) How is it realized the mapping pools/queues?
Regards,
Mauro
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [dpdk-dev] Question on VMDq mode
2013-12-04 18:28 [dpdk-dev] Question on VMDq mode Mauro
@ 2013-12-12 17:04 ` Mauro Annarumma
0 siblings, 0 replies; 2+ messages in thread
From: Mauro Annarumma @ 2013-12-12 17:04 UTC (permalink / raw)
To: dev
Hi,
last week I sent a question about VMDq and I did not get any reply.
Today I'll be more generic rather than last time, and I hope someone will clarify my ideas.
Through the DPDK framework, is it possible to make a pre-filter based on some header parameter directly on the NIC (in addition to those on vlan id and vlan priority used in the example applications)?
I already tried to use these functions:
1) rte_eth_dev_mac_addr_add : I used it with the NIC configured in VMDq mode
static const struct rte_eth_conf port_conf = {
.rxmode = {
.mq_mode = ETH_MQ_RX_VMDQ_ONLY,
.split_hdr_size = 0,
.header_split = 0, /**< Header Split disabled */
.hw_ip_checksum = 1, /**< IP checksum offload disabled */
.hw_vlan_filter = 0, /**< VLAN filtering disabled */
.jumbo_frame = 0, /**< Jumbo Frame Support disabled */
.hw_strip_crc = 0,
},
.txmode = {
.mq_mode = ETH_MQ_TX_NONE,
},
.rx_adv_conf = {
.vmdq_rx_conf = {
.nb_queue_pools = ETH_64_POOLS,
.enable_default_pool = 1,
.default_pool = 0,
},
},
};
When I use the function above, the NIC discards all the packets with MAC source address different from one of those I added with the function itself; moreover, I receive this packets only if I enable the default pool in the configuration phase (otherwise no packet is received).
2) rte_eth_dev_fdir_add_signature_filter: this time I used another configuration for the device, but I think I do some mistake (it is so bad do not having a good doc about this stuff)
.rxmode = {
.mq_mode = ETH_MQ_RX_NONE,
.split_hdr_size = 0,
.header_split = 0, /**< Header Split disabled */
.hw_ip_checksum = 1, /**< IP checksum offload disabled */
.hw_vlan_filter = 0, /**< VLAN filtering disabled */
.jumbo_frame = 0, /**< Jumbo Frame Support disabled */
.hw_strip_crc = 0,
},
.txmode = {
.mq_mode = ETH_MQ_TX_NONE,
},
.fdir_conf = {
.mode = RTE_FDIR_MODE_SIGNATURE ,
.pballoc = RTE_FDIR_PBALLOC_64K ,
.status = RTE_FDIR_NO_REPORT_STATUS ,
.flexbytes_offset = 0,
.drop_queue = 0,
},
};
In this way, the device does not start, although it is a x540 (hence it should support the FDIR_MODE_SIGNATURE).
Regards,
Mauro
> Date: Wed, 4 Dec 2013 19:28:39 +0100
> From: mauroannarumma@hotmail.it
> To: dev@dpdk.org
> Subject: [dpdk-dev] Question on VMDq mode
>
> Hi,
> I'm trying to use the VMDq technology for pre-filter packets on the
> NIC;unfortunately I found only two examples about this, and both express
> conditions on the VLAN tag, while I need to select packets based on
> their (source) MAC address.
> After looking to the API, I find out the function
> *rte_eth_dev_mac_addr_add*, which requires the parameter *uint32_t pool*
> (VMDq pool index to associate address with (if VMDq is enabled)).
>
> My questions are:
> 1) Am I on the right way to achieve my goal?
> 2) How is it realized the mapping pools/queues?
>
> Regards,
>
> Mauro
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2013-12-12 17:03 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-12-04 18:28 [dpdk-dev] Question on VMDq mode Mauro
2013-12-12 17:04 ` Mauro Annarumma
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).