From: Mauro Annarumma <mauroannarumma@hotmail.it>
To: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] Question on VMDq mode
Date: Thu, 12 Dec 2013 18:04:38 +0100 [thread overview]
Message-ID: <DUB111-W452E3DB046C6E62F32E52CB1DC0@phx.gbl> (raw)
In-Reply-To: <BLU0-SMTP179A3E5CD64761609B6542AB1D40@phx.gbl>
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
prev parent reply other threads:[~2013-12-12 17:03 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-04 18:28 Mauro
2013-12-12 17:04 ` Mauro Annarumma [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=DUB111-W452E3DB046C6E62F32E52CB1DC0@phx.gbl \
--to=mauroannarumma@hotmail.it \
--cc=dev@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).