From: Yongseok Koh <yskoh@mellanox.com>
To: Slava Ovsiienko <viacheslavo@mellanox.com>
Cc: Shahaf Shuler <shahafs@mellanox.com>, "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH v3 05/13] net/mlx5: swap items/actions validations for e-switch rules
Date: Thu, 1 Nov 2018 20:37:05 +0000 [thread overview]
Message-ID: <20181101203656.GF6118@mtidpdk.mti.labs.mlnx> (raw)
In-Reply-To: <1541074741-41368-6-git-send-email-viacheslavo@mellanox.com>
On Thu, Nov 01, 2018 at 05:19:26AM -0700, Slava Ovsiienko wrote:
> The rule validation function for E-Switch checks item list first,
> then action list is checked. This patch swaps the validation order,
> now actions are checked first. This is preparation for validation
> function update with VXLAN tunnel actions. VXLAN decapsulation
> action requires to check the items in special way. We could do
> this special check in the single item check pass if the action
> flags were gathered before. This is the reason to swap the
> item/actions checking loops.
>
> Suggested-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
> Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
> ---
Acked-by: Yongseok Koh <yskoh@mellanox.com>
Thanks
> drivers/net/mlx5/mlx5_flow_tcf.c | 260 +++++++++++++++++++--------------------
> 1 file changed, 130 insertions(+), 130 deletions(-)
>
> diff --git a/drivers/net/mlx5/mlx5_flow_tcf.c b/drivers/net/mlx5/mlx5_flow_tcf.c
> index 55c77e3..50f3bd1 100644
> --- a/drivers/net/mlx5/mlx5_flow_tcf.c
> +++ b/drivers/net/mlx5/mlx5_flow_tcf.c
> @@ -1174,6 +1174,136 @@ struct pedit_parser {
> ret = flow_tcf_validate_attributes(attr, error);
> if (ret < 0)
> return ret;
> + for (; actions->type != RTE_FLOW_ACTION_TYPE_END; actions++) {
> + unsigned int i;
> + uint64_t current_action_flag = 0;
> +
> + switch (actions->type) {
> + case RTE_FLOW_ACTION_TYPE_VOID:
> + break;
> + case RTE_FLOW_ACTION_TYPE_PORT_ID:
> + current_action_flag = MLX5_FLOW_ACTION_PORT_ID;
> + if (!actions->conf)
> + break;
> + conf.port_id = actions->conf;
> + if (conf.port_id->original)
> + i = 0;
> + else
> + for (i = 0; ptoi[i].ifindex; ++i)
> + if (ptoi[i].port_id == conf.port_id->id)
> + break;
> + if (!ptoi[i].ifindex)
> + return rte_flow_error_set
> + (error, ENODEV,
> + RTE_FLOW_ERROR_TYPE_ACTION_CONF,
> + conf.port_id,
> + "missing data to convert port ID to"
> + " ifindex");
> + port_id_dev = &rte_eth_devices[conf.port_id->id];
> + break;
> + case RTE_FLOW_ACTION_TYPE_JUMP:
> + current_action_flag = MLX5_FLOW_ACTION_JUMP;
> + if (!actions->conf)
> + break;
> + conf.jump = actions->conf;
> + if (attr->group >= conf.jump->group)
> + return rte_flow_error_set
> + (error, ENOTSUP,
> + RTE_FLOW_ERROR_TYPE_ACTION,
> + actions,
> + "can jump only to a group forward");
> + break;
> + case RTE_FLOW_ACTION_TYPE_DROP:
> + current_action_flag = MLX5_FLOW_ACTION_DROP;
> + break;
> + case RTE_FLOW_ACTION_TYPE_COUNT:
> + break;
> + case RTE_FLOW_ACTION_TYPE_OF_POP_VLAN:
> + current_action_flag = MLX5_FLOW_ACTION_OF_POP_VLAN;
> + break;
> + case RTE_FLOW_ACTION_TYPE_OF_PUSH_VLAN:
> + current_action_flag = MLX5_FLOW_ACTION_OF_PUSH_VLAN;
> + break;
> + case RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_VID:
> + if (!(action_flags & MLX5_FLOW_ACTION_OF_PUSH_VLAN))
> + return rte_flow_error_set
> + (error, ENOTSUP,
> + RTE_FLOW_ERROR_TYPE_ACTION, actions,
> + "vlan modify is not supported,"
> + " set action must follow push action");
> + current_action_flag = MLX5_FLOW_ACTION_OF_SET_VLAN_VID;
> + break;
> + case RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_PCP:
> + if (!(action_flags & MLX5_FLOW_ACTION_OF_PUSH_VLAN))
> + return rte_flow_error_set
> + (error, ENOTSUP,
> + RTE_FLOW_ERROR_TYPE_ACTION, actions,
> + "vlan modify is not supported,"
> + " set action must follow push action");
> + current_action_flag = MLX5_FLOW_ACTION_OF_SET_VLAN_PCP;
> + break;
> + case RTE_FLOW_ACTION_TYPE_SET_IPV4_SRC:
> + current_action_flag = MLX5_FLOW_ACTION_SET_IPV4_SRC;
> + break;
> + case RTE_FLOW_ACTION_TYPE_SET_IPV4_DST:
> + current_action_flag = MLX5_FLOW_ACTION_SET_IPV4_DST;
> + break;
> + case RTE_FLOW_ACTION_TYPE_SET_IPV6_SRC:
> + current_action_flag = MLX5_FLOW_ACTION_SET_IPV6_SRC;
> + break;
> + case RTE_FLOW_ACTION_TYPE_SET_IPV6_DST:
> + current_action_flag = MLX5_FLOW_ACTION_SET_IPV6_DST;
> + break;
> + case RTE_FLOW_ACTION_TYPE_SET_TP_SRC:
> + current_action_flag = MLX5_FLOW_ACTION_SET_TP_SRC;
> + break;
> + case RTE_FLOW_ACTION_TYPE_SET_TP_DST:
> + current_action_flag = MLX5_FLOW_ACTION_SET_TP_DST;
> + break;
> + case RTE_FLOW_ACTION_TYPE_SET_TTL:
> + current_action_flag = MLX5_FLOW_ACTION_SET_TTL;
> + break;
> + case RTE_FLOW_ACTION_TYPE_DEC_TTL:
> + current_action_flag = MLX5_FLOW_ACTION_DEC_TTL;
> + break;
> + case RTE_FLOW_ACTION_TYPE_SET_MAC_SRC:
> + current_action_flag = MLX5_FLOW_ACTION_SET_MAC_SRC;
> + break;
> + case RTE_FLOW_ACTION_TYPE_SET_MAC_DST:
> + current_action_flag = MLX5_FLOW_ACTION_SET_MAC_DST;
> + break;
> + default:
> + return rte_flow_error_set(error, ENOTSUP,
> + RTE_FLOW_ERROR_TYPE_ACTION,
> + actions,
> + "action not supported");
> + }
> + if (current_action_flag & MLX5_TCF_CONFIG_ACTIONS) {
> + if (!actions->conf)
> + return rte_flow_error_set(error, EINVAL,
> + RTE_FLOW_ERROR_TYPE_ACTION_CONF,
> + actions,
> + "action configuration not set");
> + }
> + if ((current_action_flag & MLX5_TCF_PEDIT_ACTIONS) &&
> + pedit_validated)
> + return rte_flow_error_set(error, ENOTSUP,
> + RTE_FLOW_ERROR_TYPE_ACTION,
> + actions,
> + "set actions should be "
> + "listed successively");
> + if ((current_action_flag & ~MLX5_TCF_PEDIT_ACTIONS) &&
> + (action_flags & MLX5_TCF_PEDIT_ACTIONS))
> + pedit_validated = 1;
> + if ((current_action_flag & MLX5_TCF_FATE_ACTIONS) &&
> + (action_flags & MLX5_TCF_FATE_ACTIONS))
> + return rte_flow_error_set(error, EINVAL,
> + RTE_FLOW_ERROR_TYPE_ACTION,
> + actions,
> + "can't have multiple fate"
> + " actions");
> + action_flags |= current_action_flag;
> + }
> for (; items->type != RTE_FLOW_ITEM_TYPE_END; items++) {
> unsigned int i;
>
> @@ -1375,136 +1505,6 @@ struct pedit_parser {
> NULL, "item not supported");
> }
> }
> - for (; actions->type != RTE_FLOW_ACTION_TYPE_END; actions++) {
> - unsigned int i;
> - uint64_t current_action_flag = 0;
> -
> - switch (actions->type) {
> - case RTE_FLOW_ACTION_TYPE_VOID:
> - break;
> - case RTE_FLOW_ACTION_TYPE_PORT_ID:
> - current_action_flag = MLX5_FLOW_ACTION_PORT_ID;
> - if (!actions->conf)
> - break;
> - conf.port_id = actions->conf;
> - if (conf.port_id->original)
> - i = 0;
> - else
> - for (i = 0; ptoi[i].ifindex; ++i)
> - if (ptoi[i].port_id == conf.port_id->id)
> - break;
> - if (!ptoi[i].ifindex)
> - return rte_flow_error_set
> - (error, ENODEV,
> - RTE_FLOW_ERROR_TYPE_ACTION_CONF,
> - conf.port_id,
> - "missing data to convert port ID to"
> - " ifindex");
> - port_id_dev = &rte_eth_devices[conf.port_id->id];
> - break;
> - case RTE_FLOW_ACTION_TYPE_JUMP:
> - current_action_flag = MLX5_FLOW_ACTION_JUMP;
> - if (!actions->conf)
> - break;
> - conf.jump = actions->conf;
> - if (attr->group >= conf.jump->group)
> - return rte_flow_error_set
> - (error, ENOTSUP,
> - RTE_FLOW_ERROR_TYPE_ACTION,
> - actions,
> - "can jump only to a group forward");
> - break;
> - case RTE_FLOW_ACTION_TYPE_DROP:
> - current_action_flag = MLX5_FLOW_ACTION_DROP;
> - break;
> - case RTE_FLOW_ACTION_TYPE_COUNT:
> - break;
> - case RTE_FLOW_ACTION_TYPE_OF_POP_VLAN:
> - current_action_flag = MLX5_FLOW_ACTION_OF_POP_VLAN;
> - break;
> - case RTE_FLOW_ACTION_TYPE_OF_PUSH_VLAN:
> - current_action_flag = MLX5_FLOW_ACTION_OF_PUSH_VLAN;
> - break;
> - case RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_VID:
> - if (!(action_flags & MLX5_FLOW_ACTION_OF_PUSH_VLAN))
> - return rte_flow_error_set
> - (error, ENOTSUP,
> - RTE_FLOW_ERROR_TYPE_ACTION, actions,
> - "vlan modify is not supported,"
> - " set action must follow push action");
> - current_action_flag = MLX5_FLOW_ACTION_OF_SET_VLAN_VID;
> - break;
> - case RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_PCP:
> - if (!(action_flags & MLX5_FLOW_ACTION_OF_PUSH_VLAN))
> - return rte_flow_error_set
> - (error, ENOTSUP,
> - RTE_FLOW_ERROR_TYPE_ACTION, actions,
> - "vlan modify is not supported,"
> - " set action must follow push action");
> - current_action_flag = MLX5_FLOW_ACTION_OF_SET_VLAN_PCP;
> - break;
> - case RTE_FLOW_ACTION_TYPE_SET_IPV4_SRC:
> - current_action_flag = MLX5_FLOW_ACTION_SET_IPV4_SRC;
> - break;
> - case RTE_FLOW_ACTION_TYPE_SET_IPV4_DST:
> - current_action_flag = MLX5_FLOW_ACTION_SET_IPV4_DST;
> - break;
> - case RTE_FLOW_ACTION_TYPE_SET_IPV6_SRC:
> - current_action_flag = MLX5_FLOW_ACTION_SET_IPV6_SRC;
> - break;
> - case RTE_FLOW_ACTION_TYPE_SET_IPV6_DST:
> - current_action_flag = MLX5_FLOW_ACTION_SET_IPV6_DST;
> - break;
> - case RTE_FLOW_ACTION_TYPE_SET_TP_SRC:
> - current_action_flag = MLX5_FLOW_ACTION_SET_TP_SRC;
> - break;
> - case RTE_FLOW_ACTION_TYPE_SET_TP_DST:
> - current_action_flag = MLX5_FLOW_ACTION_SET_TP_DST;
> - break;
> - case RTE_FLOW_ACTION_TYPE_SET_TTL:
> - current_action_flag = MLX5_FLOW_ACTION_SET_TTL;
> - break;
> - case RTE_FLOW_ACTION_TYPE_DEC_TTL:
> - current_action_flag = MLX5_FLOW_ACTION_DEC_TTL;
> - break;
> - case RTE_FLOW_ACTION_TYPE_SET_MAC_SRC:
> - current_action_flag = MLX5_FLOW_ACTION_SET_MAC_SRC;
> - break;
> - case RTE_FLOW_ACTION_TYPE_SET_MAC_DST:
> - current_action_flag = MLX5_FLOW_ACTION_SET_MAC_DST;
> - break;
> - default:
> - return rte_flow_error_set(error, ENOTSUP,
> - RTE_FLOW_ERROR_TYPE_ACTION,
> - actions,
> - "action not supported");
> - }
> - if (current_action_flag & MLX5_TCF_CONFIG_ACTIONS) {
> - if (!actions->conf)
> - return rte_flow_error_set(error, EINVAL,
> - RTE_FLOW_ERROR_TYPE_ACTION_CONF,
> - actions,
> - "action configuration not set");
> - }
> - if ((current_action_flag & MLX5_TCF_PEDIT_ACTIONS) &&
> - pedit_validated)
> - return rte_flow_error_set(error, ENOTSUP,
> - RTE_FLOW_ERROR_TYPE_ACTION,
> - actions,
> - "set actions should be "
> - "listed successively");
> - if ((current_action_flag & ~MLX5_TCF_PEDIT_ACTIONS) &&
> - (action_flags & MLX5_TCF_PEDIT_ACTIONS))
> - pedit_validated = 1;
> - if ((current_action_flag & MLX5_TCF_FATE_ACTIONS) &&
> - (action_flags & MLX5_TCF_FATE_ACTIONS))
> - return rte_flow_error_set(error, EINVAL,
> - RTE_FLOW_ERROR_TYPE_ACTION,
> - actions,
> - "can't have multiple fate"
> - " actions");
> - action_flags |= current_action_flag;
> - }
> if ((action_flags & MLX5_TCF_PEDIT_ACTIONS) &&
> (action_flags & MLX5_FLOW_ACTION_DROP))
> return rte_flow_error_set(error, ENOTSUP,
> --
> 1.8.3.1
>
next prev parent reply other threads:[~2018-11-01 20:37 UTC|newest]
Thread overview: 110+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-02 6:30 [dpdk-dev] [PATCH 1/5] net/mlx5: add VXLAN encap/decap support for e-switch Slava Ovsiienko
2018-10-02 6:30 ` [dpdk-dev] [PATCH 2/5] net/mlx5: e-switch VXLAN netlink routines update Slava Ovsiienko
2018-10-02 6:30 ` [dpdk-dev] [PATCH 3/5] net/mlx5: e-switch VXLAN flow validation routine Slava Ovsiienko
2018-10-02 6:30 ` [dpdk-dev] [PATCH 4/5] net/mlx5: e-switch VXLAN flow translation routine Slava Ovsiienko
2018-10-02 6:30 ` [dpdk-dev] [PATCH 5/5] net/mlx5: e-switch VXLAN tunnel devices management Slava Ovsiienko
2018-10-15 14:13 ` [dpdk-dev] [PATCH v2 0/7] net/mlx5: e-switch VXLAN encap/decap hardware offload Viacheslav Ovsiienko
2018-10-15 14:13 ` [dpdk-dev] [PATCH v2 1/7] net/mlx5: e-switch VXLAN configuration and definitions Viacheslav Ovsiienko
2018-10-23 10:01 ` Yongseok Koh
2018-10-25 12:50 ` Slava Ovsiienko
2018-10-25 23:33 ` Yongseok Koh
2018-10-15 14:13 ` [dpdk-dev] [PATCH v2 2/7] net/mlx5: e-switch VXLAN flow validation routine Viacheslav Ovsiienko
2018-10-23 10:04 ` Yongseok Koh
2018-10-25 13:53 ` Slava Ovsiienko
2018-10-26 3:07 ` Yongseok Koh
2018-10-26 8:39 ` Slava Ovsiienko
2018-10-26 21:56 ` Yongseok Koh
2018-10-29 9:33 ` Slava Ovsiienko
2018-10-29 18:26 ` Yongseok Koh
2018-10-15 14:13 ` [dpdk-dev] [PATCH v2 3/7] net/mlx5: e-switch VXLAN flow translation routine Viacheslav Ovsiienko
2018-10-23 10:06 ` Yongseok Koh
2018-10-25 14:37 ` Slava Ovsiienko
2018-10-26 4:22 ` Yongseok Koh
2018-10-26 9:06 ` Slava Ovsiienko
2018-10-26 22:10 ` Yongseok Koh
2018-10-15 14:13 ` [dpdk-dev] [PATCH v2 4/7] net/mlx5: e-switch VXLAN netlink routines update Viacheslav Ovsiienko
2018-10-23 10:07 ` Yongseok Koh
2018-10-15 14:13 ` [dpdk-dev] [PATCH v2 5/7] net/mlx5: e-switch VXLAN tunnel devices management Viacheslav Ovsiienko
2018-10-25 0:28 ` Yongseok Koh
2018-10-25 20:21 ` Slava Ovsiienko
2018-10-26 6:25 ` Yongseok Koh
2018-10-26 9:35 ` Slava Ovsiienko
2018-10-26 22:42 ` Yongseok Koh
2018-10-29 11:53 ` Slava Ovsiienko
2018-10-29 18:42 ` Yongseok Koh
2018-10-15 14:13 ` [dpdk-dev] [PATCH v2 6/7] net/mlx5: e-switch VXLAN encapsulation rules management Viacheslav Ovsiienko
2018-10-25 0:33 ` Yongseok Koh
2018-10-15 14:13 ` [dpdk-dev] [PATCH v2 7/7] net/mlx5: e-switch VXLAN rule cleanup routines Viacheslav Ovsiienko
2018-10-25 0:36 ` Yongseok Koh
2018-10-25 20:32 ` Slava Ovsiienko
2018-10-26 6:30 ` Yongseok Koh
2018-11-01 12:19 ` [dpdk-dev] [PATCH v3 00/13] net/mlx5: e-switch VXLAN encap/decap hardware offload Slava Ovsiienko
2018-11-01 12:19 ` [dpdk-dev] [PATCH v3 01/13] net/mlx5: prepare makefile for adding e-switch VXLAN Slava Ovsiienko
2018-11-01 20:33 ` Yongseok Koh
2018-11-01 12:19 ` [dpdk-dev] [PATCH v3 02/13] net/mlx5: prepare meson.build " Slava Ovsiienko
2018-11-01 20:33 ` Yongseok Koh
2018-11-01 12:19 ` [dpdk-dev] [PATCH v3 03/13] net/mlx5: add necessary definitions for " Slava Ovsiienko
2018-11-01 20:35 ` Yongseok Koh
2018-11-01 12:19 ` [dpdk-dev] [PATCH v3 04/13] net/mlx5: add necessary structures " Slava Ovsiienko
2018-11-01 20:36 ` Yongseok Koh
2018-11-01 12:19 ` [dpdk-dev] [PATCH v3 05/13] net/mlx5: swap items/actions validations for e-switch rules Slava Ovsiienko
2018-11-01 20:37 ` Yongseok Koh [this message]
2018-11-01 12:19 ` [dpdk-dev] [PATCH v3 06/13] net/mlx5: add e-switch VXLAN support to validation routine Slava Ovsiienko
2018-11-01 20:49 ` Yongseok Koh
2018-11-01 12:19 ` [dpdk-dev] [PATCH v3 07/13] net/mlx5: add VXLAN support to flow prepare routine Slava Ovsiienko
2018-11-01 21:03 ` Yongseok Koh
2018-11-01 12:19 ` [dpdk-dev] [PATCH v3 08/13] net/mlx5: add VXLAN support to flow translate routine Slava Ovsiienko
2018-11-01 21:18 ` Yongseok Koh
2018-11-01 12:19 ` [dpdk-dev] [PATCH v3 09/13] net/mlx5: e-switch VXLAN netlink routines update Slava Ovsiienko
2018-11-01 21:21 ` Yongseok Koh
2018-11-01 12:19 ` [dpdk-dev] [PATCH v3 10/13] net/mlx5: fix e-switch Flow counter deletion Slava Ovsiienko
2018-11-01 22:00 ` Yongseok Koh
2018-11-01 12:19 ` [dpdk-dev] [PATCH v3 11/13] net/mlx5: add e-switch VXLAN tunnel devices management Slava Ovsiienko
2018-11-01 23:59 ` Yongseok Koh
2018-11-01 12:19 ` [dpdk-dev] [PATCH v3 12/13] net/mlx5: add e-switch VXLAN encapsulation rules Slava Ovsiienko
2018-11-02 0:01 ` Yongseok Koh
2018-11-01 12:19 ` [dpdk-dev] [PATCH v3 13/13] net/mlx5: add e-switch VXLAN rule cleanup routines Slava Ovsiienko
2018-11-02 0:01 ` Yongseok Koh
2018-11-01 20:32 ` [dpdk-dev] [PATCH v3 00/13] net/mlx5: e-switch VXLAN encap/decap hardware offload Yongseok Koh
2018-11-02 17:53 ` [dpdk-dev] [PATCH v4 " Slava Ovsiienko
2018-11-02 17:53 ` [dpdk-dev] [PATCH v4 01/13] net/mlx5: prepare makefile for adding E-Switch VXLAN Slava Ovsiienko
2018-11-03 6:18 ` [dpdk-dev] [PATCH v5 00/13] net/mlx5: e-switch VXLAN encap/decap hardware offload Slava Ovsiienko
2018-11-03 6:18 ` [dpdk-dev] [PATCH v5 01/13] net/mlx5: prepare makefile for adding E-Switch VXLAN Slava Ovsiienko
2018-11-12 20:01 ` [dpdk-dev] [PATCH 0/4] net/mlx5: prepare to add E-switch rule flags check Slava Ovsiienko
2018-11-12 20:01 ` [dpdk-dev] [PATCH 1/4] net/mlx5: prepare Netlink communication routine to fix Slava Ovsiienko
2018-11-13 13:21 ` Shahaf Shuler
2018-11-12 20:01 ` [dpdk-dev] [PATCH 2/4] net/mlx5: fix Netlink communication routine Slava Ovsiienko
2018-11-13 13:21 ` Shahaf Shuler
2018-11-14 12:57 ` Slava Ovsiienko
2018-11-12 20:01 ` [dpdk-dev] [PATCH 3/4] net/mlx5: prepare to add E-switch rule flags check Slava Ovsiienko
2018-11-12 20:01 ` [dpdk-dev] [PATCH 4/4] net/mlx5: add E-switch rule hardware offload flag check Slava Ovsiienko
2018-11-13 13:21 ` [dpdk-dev] [PATCH 0/4] net/mlx5: prepare to add E-switch rule flags check Shahaf Shuler
2018-11-14 14:56 ` Shahaf Shuler
2018-11-03 6:18 ` [dpdk-dev] [PATCH v5 02/13] net/mlx5: prepare meson.build for adding E-Switch VXLAN Slava Ovsiienko
2018-11-03 6:18 ` [dpdk-dev] [PATCH v5 03/13] net/mlx5: add necessary definitions for " Slava Ovsiienko
2018-11-03 6:18 ` [dpdk-dev] [PATCH v5 04/13] net/mlx5: add necessary structures " Slava Ovsiienko
2018-11-03 6:18 ` [dpdk-dev] [PATCH v5 05/13] net/mlx5: swap items/actions validations for E-Switch rules Slava Ovsiienko
2018-11-03 6:18 ` [dpdk-dev] [PATCH v5 06/13] net/mlx5: add E-Switch VXLAN support to validation routine Slava Ovsiienko
2018-11-03 6:18 ` [dpdk-dev] [PATCH v5 07/13] net/mlx5: add VXLAN support to flow prepare routine Slava Ovsiienko
2018-11-03 6:18 ` [dpdk-dev] [PATCH v5 08/13] net/mlx5: add VXLAN support to flow translate routine Slava Ovsiienko
2018-11-03 6:18 ` [dpdk-dev] [PATCH v5 09/13] net/mlx5: update E-Switch VXLAN netlink routines Slava Ovsiienko
2018-11-03 6:18 ` [dpdk-dev] [PATCH v5 10/13] net/mlx5: fix E-Switch Flow counter deletion Slava Ovsiienko
2018-11-03 6:18 ` [dpdk-dev] [PATCH v5 11/13] net/mlx5: add E-switch VXLAN tunnel devices management Slava Ovsiienko
2018-11-03 6:18 ` [dpdk-dev] [PATCH v5 12/13] net/mlx5: add E-Switch VXLAN encapsulation rules Slava Ovsiienko
2018-11-03 6:18 ` [dpdk-dev] [PATCH v5 13/13] net/mlx5: add E-switch VXLAN rule cleanup routines Slava Ovsiienko
2018-11-04 6:48 ` [dpdk-dev] [PATCH v5 00/13] net/mlx5: e-switch VXLAN encap/decap hardware offload Shahaf Shuler
2018-11-02 17:53 ` [dpdk-dev] [PATCH v4 02/13] net/mlx5: prepare meson.build for adding E-Switch VXLAN Slava Ovsiienko
2018-11-02 17:53 ` [dpdk-dev] [PATCH v4 03/13] net/mlx5: add necessary definitions for " Slava Ovsiienko
2018-11-02 17:53 ` [dpdk-dev] [PATCH v4 04/13] net/mlx5: add necessary structures " Slava Ovsiienko
2018-11-02 17:53 ` [dpdk-dev] [PATCH v4 05/13] net/mlx5: swap items/actions validations for E-Switch rules Slava Ovsiienko
2018-11-02 17:53 ` [dpdk-dev] [PATCH v4 06/13] net/mlx5: add E-Switch VXLAN support to validation routine Slava Ovsiienko
2018-11-02 17:53 ` [dpdk-dev] [PATCH v4 07/13] net/mlx5: add VXLAN support to flow prepare routine Slava Ovsiienko
2018-11-02 21:38 ` Yongseok Koh
2018-11-02 17:53 ` [dpdk-dev] [PATCH v4 08/13] net/mlx5: add VXLAN support to flow translate routine Slava Ovsiienko
2018-11-02 21:53 ` Yongseok Koh
2018-11-02 23:29 ` Yongseok Koh
2018-11-02 17:53 ` [dpdk-dev] [PATCH v4 09/13] net/mlx5: update E-Switch VXLAN netlink routines Slava Ovsiienko
2018-11-02 17:53 ` [dpdk-dev] [PATCH v4 10/13] net/mlx5: fix E-Switch Flow counter deletion Slava Ovsiienko
2018-11-02 17:53 ` [dpdk-dev] [PATCH v4 11/13] net/mlx5: add E-switch VXLAN tunnel devices management Slava Ovsiienko
2018-11-02 17:53 ` [dpdk-dev] [PATCH v4 12/13] net/mlx5: add E-Switch VXLAN encapsulation rules Slava Ovsiienko
2018-11-02 17:53 ` [dpdk-dev] [PATCH v4 13/13] net/mlx5: add E-switch VXLAN rule cleanup routines Slava Ovsiienko
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=20181101203656.GF6118@mtidpdk.mti.labs.mlnx \
--to=yskoh@mellanox.com \
--cc=dev@dpdk.org \
--cc=shahafs@mellanox.com \
--cc=viacheslavo@mellanox.com \
/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).