DPDK usage discussions
 help / color / mirror / Atom feed
From: Antoine POLLENUS <a.pollenus@deltacast.tv>
To: "users@dpdk.org" <users@dpdk.org>
Subject: [dpdk-users] Issues with rte_flow_destroy
Date: Tue, 25 May 2021 12:34:27 +0000
Message-ID: <9cb9a449bf9d48bab080d0e33170c6b6@deltacast.tv> (raw)

Hi,

I'm experiencing some issues using the flow API and a intel XXV710 (i40e).

I managed to reproduce it  in the flow filtering sample.

I'm creating one flow than deleting it and then creating another with basic change
#define SRC_IP ((0<<24) + (0<<16) + (0<<8) + 0) /* src ip = 0.0.0.0 */
#define SRC_IP_1 ((192<<24) + (168<<16) + (1<<8) + 3) /* dest ip = 192.168.1.1 */
#define DEST_IP ((192<<24) + (168<<16) + (1<<8) + 1) /* dest ip = 192.168.1.1 */
#define DEST_IP_1 ((192<<24) + (168<<16) + (1<<8) + 2) /* dest ip = 192.168.1.1 */

                flow = generate_ipv4_flow(port_id, selected_queue,
                                                               SRC_IP, EMPTY_MASK,
                                                               DEST_IP, FULL_MASK, &error);
                if (!flow) {
                               printf("Flow can't be created %d message: %s\n",
                                               error.type,
                                               error.message ? error.message : "(no stated reason)");
                               rte_exit(EXIT_FAILURE, "error in creating flow");
                }
                //Deleting the rule
                int returned;
                returned = rte_flow_destroy(port_id, flow, &error);
                if(returned < 0)
                {
                               printf("destroy %d message: %s\n",
                                               error.type,
                                               error.message ? error.message : "(no stated reason)");
                }
                //Generating another rule
                flow1 = generate_ipv4_flow(port_id, selected_queue,
                                                               SRC_IP_1, FULL_MASK,
                                                               DEST_IP_1, FULL_MASK, &error);
                if (!flow1) {
                               printf("Flow can't be created %d message: %s\n",
                                               error.type,
                                               error.message ? error.message : "(no stated reason)");
                               rte_exit(EXIT_FAILURE, "error in creating flow");
                }

When doing that I always get an error on the second flow I want to add.

Flow can't be created 13 message: Conflict with the first rule's input set.

The rule is indeed in conflict because it uses the same as the previous but with the source IP changing and also the destination IP.

The strange thing is that a destroy has been made on the previous rule and should not be there anymore....

Am I doing something wrong or is there a bug in the destroy function ?

Thank you in advance for your answer,

Regards,

Antoine Pollenus

             reply	other threads:[~2021-05-25 12:34 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-25 12:34 Antoine POLLENUS [this message]
2021-05-27  8:27 ` Xing, Beilei
2021-05-26  7:10 Antoine POLLENUS
2021-05-28  9:23 Antoine POLLENUS
2021-06-01 11:54 Antoine POLLENUS

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=9cb9a449bf9d48bab080d0e33170c6b6@deltacast.tv \
    --to=a.pollenus@deltacast.tv \
    --cc=users@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

DPDK usage discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/users/0 users/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 users users/ https://inbox.dpdk.org/users \
		users@dpdk.org
	public-inbox-index users

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.users


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git