[dpdk-dev] [PATCH v2] ethdev: add flow API rule copy function

Thomas Monjalon thomas at monjalon.net
Tue Jun 27 23:48:34 CEST 2017


19/05/2017 17:21, Gaetan Rivet:
> --- a/lib/librte_ether/rte_flow.c
> +++ b/lib/librte_ether/rte_flow.c
> @@ -33,12 +33,70 @@
>  
>  #include <stdint.h>
>  
> +#include <rte_common.h>
>  #include <rte_errno.h>
>  #include <rte_branch_prediction.h>
>  #include "rte_ethdev.h"
>  #include "rte_flow_driver.h"
>  #include "rte_flow.h"
>  
> +/** Generate flow_item[] entry. */
> +#define MK_FLOW_ITEM(t, s) \
> +       [RTE_FLOW_ITEM_TYPE_ ## t] = { \
> +               .name  t, \
> +               .size = s, \
> +       }
> +
> +/** Information about known flow pattern items. */
> +const struct rte_flow_desc_data rte_flow_desc_item[] = {
> +       MK_FLOW_ITEM(END, 0),
> +       MK_FLOW_ITEM(VOID, 0),
> +       MK_FLOW_ITEM(INVERT, 0),
> +       MK_FLOW_ITEM(ANY, sizeof(struct rte_flow_item_any)),
> +       MK_FLOW_ITEM(PF, 0),
> +       MK_FLOW_ITEM(VF, sizeof(struct rte_flow_item_vf)),
> +       MK_FLOW_ITEM(PORT, sizeof(struct rte_flow_item_port)),
> +       MK_FLOW_ITEM(RAW, sizeof(struct rte_flow_item_raw)), /* +pattern[] */
> +       MK_FLOW_ITEM(ETH, sizeof(struct rte_flow_item_eth)),
> +       MK_FLOW_ITEM(VLAN, sizeof(struct rte_flow_item_vlan)),
> +       MK_FLOW_ITEM(IPV4, sizeof(struct rte_flow_item_ipv4)),
> +       MK_FLOW_ITEM(IPV6, sizeof(struct rte_flow_item_ipv6)),
> +       MK_FLOW_ITEM(ICMP, sizeof(struct rte_flow_item_icmp)),
> +       MK_FLOW_ITEM(UDP, sizeof(struct rte_flow_item_udp)),
> +       MK_FLOW_ITEM(TCP, sizeof(struct rte_flow_item_tcp)),
> +       MK_FLOW_ITEM(SCTP, sizeof(struct rte_flow_item_sctp)),
> +       MK_FLOW_ITEM(VXLAN, sizeof(struct rte_flow_item_vxlan)),
> +       MK_FLOW_ITEM(MPLS, sizeof(struct rte_flow_item_mpls)),
> +       MK_FLOW_ITEM(GRE, sizeof(struct rte_flow_item_gre)),
> +};

When rebasing, do not forget these new lines:

+	MK_FLOW_ITEM(E_TAG, sizeof(struct rte_flow_item_e_tag)),
+	MK_FLOW_ITEM(NVGRE, sizeof(struct rte_flow_item_nvgre)),

from 0f01a7e38394 ("app/testpmd: fix creating E-Tag and NVGRE flow rules")



More information about the dev mailing list