From patchwork Fri Aug 31 09:57:38 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adrien Mazarguil X-Patchwork-Id: 44086 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id B4A4A5681; Fri, 31 Aug 2018 11:57:57 +0200 (CEST) Received: from mail-wr1-f66.google.com (mail-wr1-f66.google.com [209.85.221.66]) by dpdk.org (Postfix) with ESMTP id CBCDA4CB9 for ; Fri, 31 Aug 2018 11:57:54 +0200 (CEST) Received: by mail-wr1-f66.google.com with SMTP id z96-v6so10652863wrb.8 for ; Fri, 31 Aug 2018 02:57:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=rarnz3f0GEmpK7cdDOAEvkq8MvWAANHQL8tfpTPjUGA=; b=J0TbvJIE2KuiTK9yO5riSKdDnOixC7gI4xFoKxuA+6yHn7yWaM5FqzNtL5ezCu+f35 emQz2qitKE7oezNKvi2cbvuaKMNr8vjibk93CaCeUX0ezXXTSaCGQCuzUVIE7ni1VywL d2LZ8gxVYYctunMNBNOxFxV1r0FWSXMtJ6tjvW1KWN1n3SlqzeYG7hUd9B6K16LWTrpD lc6zaV1CJoz+3gY04x0euo91bMxDIoHW3MkSiZmgTV4VrYpt6Ulcpp4kp+zjekmovA3Y LYKWrBCCGrdOqfgZ3s5oWKftFN7F+D5/IraGzUCDto1FNrUvcPwMYQZsjLYYlJmWiPoT Xt/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=rarnz3f0GEmpK7cdDOAEvkq8MvWAANHQL8tfpTPjUGA=; b=tECfOQrfUFmAzx7Ro07R3artrM+2kBMjHjhXnzaMSxnh5eUG0kvjO9k1vUgwgXabIg tJM8GcNPpmkff5KsZRQmX/7flL4BmHKLvd3HyixPxER9JQyo75NfSQ3IVEGwr+BxOoFE dBqMHykpXwin9tHBAeQPgfzQuGY/nLk7nadP15+TXQCwY7rnoOhrS6hd5JunxD7+EmRY +IFd9wgOamAjbjd0JVm91+2AmnFK0MsHCoXzAgOl6EuCR62sEEa9SGlbiDScZyh/YAuK 1wWIkRe8iR4GoTWZmRYXkNraVMeYq03rq11MiX5w2A1jg1Npq6o8RrR3oM9bNda4RrNk GbWw== X-Gm-Message-State: APzg51A5CtsAvYL4MOJtayl156ktfpeOwtI3hPIMBHPncCcqfabTtANK YuSddBwFHPactdVjkC7tnXHa+A== X-Google-Smtp-Source: ANB0Vdb/+N9QdR5ItLHLVYdzqM+NCExHdnAlWL6ZuBYeYF/NWEhtjMHeq/nsGw8mSv2DVhgzo7D45A== X-Received: by 2002:adf:e3c4:: with SMTP id k4-v6mr9958403wrm.94.1535709474555; Fri, 31 Aug 2018 02:57:54 -0700 (PDT) Received: from 6wind.com (host.78.145.23.62.rev.coltfrance.com. [62.23.145.78]) by smtp.gmail.com with ESMTPSA id r140-v6sm5486828wmd.7.2018.08.31.02.57.53 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 31 Aug 2018 02:57:53 -0700 (PDT) Date: Fri, 31 Aug 2018 11:57:38 +0200 From: Adrien Mazarguil To: Shahaf Shuler , Yongseok Koh , Slava Ovsiienko Cc: dev@dpdk.org Message-ID: <20180831092038.23051-7-adrien.mazarguil@6wind.com> References: <20180831092038.23051-1-adrien.mazarguil@6wind.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20180831092038.23051-1-adrien.mazarguil@6wind.com> X-Mailer: git-send-email 2.11.0 Subject: [dpdk-dev] [PATCH 6/8] net/mlx5: add convenience macros to switch flow rule engine X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Upcoming patches will rely on them. Signed-off-by: Adrien Mazarguil --- drivers/net/mlx5/mlx5_nl_flow.c | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/drivers/net/mlx5/mlx5_nl_flow.c b/drivers/net/mlx5/mlx5_nl_flow.c index d20416026..91ff90a13 100644 --- a/drivers/net/mlx5/mlx5_nl_flow.c +++ b/drivers/net/mlx5/mlx5_nl_flow.c @@ -236,6 +236,13 @@ static const union { struct rte_flow_item_udp udp; } mlx5_nl_flow_mask_empty; +#define ETHER_ADDR_MASK "\xff\xff\xff\xff\xff\xff" +#define IN_ADDR_MASK RTE_BE32(0xffffffff) +#define IN6_ADDR_MASK \ + "\xff\xff\xff\xff\xff\xff\xff\xff" \ + "\xff\xff\xff\xff\xff\xff\xff\xff" +#define BE16_MASK RTE_BE16(0xffff) + /** Supported masks for known item types. */ static const struct { struct rte_flow_item_port_id port_id; @@ -251,8 +258,8 @@ static const struct { }, .eth = { .type = RTE_BE16(0xffff), - .dst.addr_bytes = "\xff\xff\xff\xff\xff\xff", - .src.addr_bytes = "\xff\xff\xff\xff\xff\xff", + .dst.addr_bytes = ETHER_ADDR_MASK, + .src.addr_bytes = ETHER_ADDR_MASK, }, .vlan = { /* PCP and VID only, no DEI. */ @@ -261,25 +268,21 @@ static const struct { }, .ipv4.hdr = { .next_proto_id = 0xff, - .src_addr = RTE_BE32(0xffffffff), - .dst_addr = RTE_BE32(0xffffffff), + .src_addr = IN_ADDR_MASK, + .dst_addr = IN_ADDR_MASK, }, .ipv6.hdr = { .proto = 0xff, - .src_addr = - "\xff\xff\xff\xff\xff\xff\xff\xff" - "\xff\xff\xff\xff\xff\xff\xff\xff", - .dst_addr = - "\xff\xff\xff\xff\xff\xff\xff\xff" - "\xff\xff\xff\xff\xff\xff\xff\xff", + .src_addr = IN6_ADDR_MASK, + .dst_addr = IN6_ADDR_MASK, }, .tcp.hdr = { - .src_port = RTE_BE16(0xffff), - .dst_port = RTE_BE16(0xffff), + .src_port = BE16_MASK, + .dst_port = BE16_MASK, }, .udp.hdr = { - .src_port = RTE_BE16(0xffff), - .dst_port = RTE_BE16(0xffff), + .src_port = BE16_MASK, + .dst_port = BE16_MASK, }, };