@@ -487,9 +487,6 @@ enum index {
ACTION_VF,
ACTION_VF_ORIGINAL,
ACTION_VF_ID,
- ACTION_PHY_PORT,
- ACTION_PHY_PORT_ORIGINAL,
- ACTION_PHY_PORT_INDEX,
ACTION_PORT_ID,
ACTION_PORT_ID_ORIGINAL,
ACTION_PORT_ID_ID,
@@ -1799,7 +1796,6 @@ static const enum index next_action[] = {
ACTION_RSS,
ACTION_PF,
ACTION_VF,
- ACTION_PHY_PORT,
ACTION_PORT_ID,
ACTION_METER,
ACTION_METER_COLOR,
@@ -1893,13 +1889,6 @@ static const enum index action_vf[] = {
ZERO,
};
-static const enum index action_phy_port[] = {
- ACTION_PHY_PORT_ORIGINAL,
- ACTION_PHY_PORT_INDEX,
- ACTION_NEXT,
- ZERO,
-};
-
static const enum index action_port_id[] = {
ACTION_PORT_ID_ORIGINAL,
ACTION_PORT_ID_ID,
@@ -5240,30 +5229,6 @@ static const struct token token_list[] = {
.args = ARGS(ARGS_ENTRY(struct rte_flow_action_vf, id)),
.call = parse_vc_conf,
},
- [ACTION_PHY_PORT] = {
- .name = "phy_port",
- .help = "direct packets to physical port index",
- .priv = PRIV_ACTION(PHY_PORT,
- sizeof(struct rte_flow_action_phy_port)),
- .next = NEXT(action_phy_port),
- .call = parse_vc,
- },
- [ACTION_PHY_PORT_ORIGINAL] = {
- .name = "original",
- .help = "use original port index if possible",
- .next = NEXT(action_phy_port, NEXT_ENTRY(COMMON_BOOLEAN)),
- .args = ARGS(ARGS_ENTRY_BF(struct rte_flow_action_phy_port,
- original, 1)),
- .call = parse_vc_conf,
- },
- [ACTION_PHY_PORT_INDEX] = {
- .name = "index",
- .help = "physical port index",
- .next = NEXT(action_phy_port, NEXT_ENTRY(COMMON_UNSIGNED)),
- .args = ARGS(ARGS_ENTRY(struct rte_flow_action_phy_port,
- index)),
- .call = parse_vc_conf,
- },
[ACTION_PORT_ID] = {
.name = "port_id",
.help = "direct matching traffic to a given DPDK port ID",
@@ -82,7 +82,6 @@ of_push_vlan = Y
of_set_vlan_pcp = Y
of_set_vlan_vid = Y
pf = Y
-phy_port = Y
port_id = Y
port_representor = Y
represented_port = Y
@@ -51,7 +51,6 @@ of_pop_vlan = Y
of_push_vlan = Y
of_set_vlan_pcp = Y
of_set_vlan_vid = Y
-phy_port = Y
queue = Y
set_ipv4_dst = Y
set_ipv4_src = Y
@@ -170,7 +170,6 @@ of_set_vlan_pcp =
of_set_vlan_vid =
passthru =
pf =
-phy_port =
port_id =
port_representor =
queue =
@@ -45,7 +45,6 @@ vlan = Y
[rte_flow actions]
drop = Y
-phy_port = Y
port_id = Y
queue = Y
represented_port = Y
@@ -70,7 +70,6 @@ of_push_vlan = Y
of_set_vlan_pcp = Y
of_set_vlan_vid = Y
pf = Y
-phy_port = Y
port_id = Y
port_representor = Y
represented_port = Y
@@ -244,8 +244,6 @@ Supported actions (***transfer*** rules):
- MARK
-- PHY_PORT
-
- PF
- VF
@@ -2003,28 +2003,6 @@ rule or if packets are not addressed to a VF in the first place.
| ``id`` | VF ID |
+--------------+--------------------------------+
-Action: ``PHY_PORT``
-^^^^^^^^^^^^^^^^^^^^
-
-This action is deprecated. Consider:
- - `Action: PORT_REPRESENTOR`_
- - `Action: REPRESENTED_PORT`_
-
-Directs matching traffic to a given physical port index of the underlying
-device.
-
-.. _table_rte_flow_action_phy_port:
-
-.. table:: PHY_PORT
-
- +--------------+-------------------------------------+
- | Field | Value |
- +==============+=====================================+
- | ``original`` | use original port index if possible |
- +--------------+-------------------------------------+
- | ``index`` | physical port index |
- +--------------+-------------------------------------+
-
Action: ``PORT_ID``
^^^^^^^^^^^^^^^^^^^
This action is deprecated. Consider:
@@ -85,6 +85,9 @@ Removed Items
* ethdev: removed ``RTE_FLOW_ITEM_TYPE_PHY_PORT``;
use ``RTE_FLOW_ITEM_TYPE_REPRESENTED_PORT``.
+* ethdev: removed ``RTE_FLOW_ACTION_TYPE_PHY_PORT``;
+ use ``RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT``.
+
API Changes
-----------
@@ -133,6 +136,8 @@ ABI Changes
* ethdev: enum ``RTE_FLOW_ITEM`` was affected by deprecation procedure.
+* ethdev: enum ``RTE_FLOW_ACTION`` was affected by deprecation procedure.
+
Known Issues
------------
@@ -4014,11 +4014,6 @@ This section lists supported actions and their attributes, if any.
- ``original {boolean}``: use original VF ID if possible.
- ``id {unsigned}``: VF ID.
-- ``phy_port``: direct packets to physical port index.
-
- - ``original {boolean}``: use original port index if possible.
- - ``index {unsigned}``: physical port index.
-
- ``port_id``: direct matching traffic to a given DPDK port ID.
- ``original {boolean}``: use original DPDK port ID if possible.
@@ -61,10 +61,6 @@ struct bnxt_ulp_rte_act_info ulp_act_info[] = {
.act_type = BNXT_ULP_ACT_TYPE_SUPPORTED,
.proto_act_func = ulp_rte_vf_act_handler
},
- [RTE_FLOW_ACTION_TYPE_PHY_PORT] = {
- .act_type = BNXT_ULP_ACT_TYPE_SUPPORTED,
- .proto_act_func = ulp_rte_phy_port_act_handler
- },
[RTE_FLOW_ACTION_TYPE_PORT_ID] = {
.act_type = BNXT_ULP_ACT_TYPE_SUPPORTED,
.proto_act_func = ulp_rte_port_act_handler
@@ -2255,55 +2255,6 @@ ulp_rte_port_act_handler(const struct rte_flow_action *act_item,
return ulp_rte_parser_act_port_set(param, ifindex, act_dir);
}
-/* Function to handle the parsing of RTE Flow action phy_port. */
-int32_t
-ulp_rte_phy_port_act_handler(const struct rte_flow_action *action_item,
- struct ulp_rte_parser_params *prm)
-{
- const struct rte_flow_action_phy_port *phy_port;
- uint32_t pid;
- int32_t rc;
- uint16_t pid_s;
- enum bnxt_ulp_direction_type dir;
-
- phy_port = action_item->conf;
- if (!phy_port) {
- BNXT_TF_DBG(ERR,
- "ParseErr: Invalid Argument\n");
- return BNXT_TF_RC_PARSE_ERR;
- }
-
- if (phy_port->original) {
- BNXT_TF_DBG(ERR,
- "Parse Err:Port Original not supported\n");
- return BNXT_TF_RC_PARSE_ERR;
- }
- dir = ULP_COMP_FLD_IDX_RD(prm, BNXT_ULP_CF_IDX_DIRECTION);
- if (dir != BNXT_ULP_DIR_EGRESS) {
- BNXT_TF_DBG(ERR,
- "Parse Err:Phy ports are valid only for egress\n");
- return BNXT_TF_RC_PARSE_ERR;
- }
- /* Get the physical port details from port db */
- rc = ulp_port_db_phy_port_vport_get(prm->ulp_ctx, phy_port->index,
- &pid_s);
- if (rc) {
- BNXT_TF_DBG(ERR, "Failed to get port details\n");
- return -EINVAL;
- }
-
- pid = pid_s;
- pid = rte_cpu_to_be_32(pid);
- memcpy(&prm->act_prop.act_details[BNXT_ULP_ACT_PROP_IDX_VPORT],
- &pid, BNXT_ULP_ACT_PROP_SZ_VPORT);
-
- /* Update the action port set bit */
- ULP_COMP_FLD_IDX_WR(prm, BNXT_ULP_CF_IDX_ACT_PORT_IS_SET, 1);
- ULP_COMP_FLD_IDX_WR(prm, BNXT_ULP_CF_IDX_ACT_PORT_TYPE,
- BNXT_ULP_INTF_TYPE_PHY_PORT);
- return BNXT_TF_RC_SUCCESS;
-}
-
/* Function to handle the parsing of RTE Flow action pop vlan. */
int32_t
ulp_rte_of_pop_vlan_act_handler(const struct rte_flow_action *a __rte_unused,
@@ -194,11 +194,6 @@ int32_t
ulp_rte_port_act_handler(const struct rte_flow_action *act_item,
struct ulp_rte_parser_params *params);
-/* Function to handle the parsing of RTE Flow action phy_port. */
-int32_t
-ulp_rte_phy_port_act_handler(const struct rte_flow_action *action_item,
- struct ulp_rte_parser_params *params);
-
/* Function to handle the parsing of RTE Flow action pop vlan. */
int32_t
ulp_rte_of_pop_vlan_act_handler(const struct rte_flow_action *action_item,
@@ -598,7 +598,6 @@ ch_rte_parse_atype_switch(const struct rte_flow_action *a,
const struct rte_flow_action_set_ipv4 *ipv4;
const struct rte_flow_action_set_ipv6 *ipv6;
const struct rte_flow_action_set_tp *tp_port;
- const struct rte_flow_action_phy_port *port;
const struct rte_flow_action_set_mac *mac;
int item_index;
u16 tmp_vlan;
@@ -645,10 +644,6 @@ ch_rte_parse_atype_switch(const struct rte_flow_action *a,
case RTE_FLOW_ACTION_TYPE_OF_POP_VLAN:
fs->newvlan = VLAN_REMOVE;
break;
- case RTE_FLOW_ACTION_TYPE_PHY_PORT:
- port = (const struct rte_flow_action_phy_port *)a->conf;
- fs->eport = port->index;
- break;
case RTE_FLOW_ACTION_TYPE_SET_IPV4_SRC:
item_index = cxgbe_get_flow_item_index(items,
RTE_FLOW_ITEM_TYPE_IPV4);
@@ -836,7 +831,6 @@ cxgbe_rtef_parse_actions(struct rte_flow *flow,
goto action_switch;
case RTE_FLOW_ACTION_TYPE_OF_PUSH_VLAN:
case RTE_FLOW_ACTION_TYPE_OF_POP_VLAN:
- case RTE_FLOW_ACTION_TYPE_PHY_PORT:
case RTE_FLOW_ACTION_TYPE_MAC_SWAP:
case RTE_FLOW_ACTION_TYPE_SET_IPV4_SRC:
case RTE_FLOW_ACTION_TYPE_SET_IPV4_DST:
@@ -83,7 +83,6 @@ static const
enum rte_flow_action_type dpaa2_supported_action_type[] = {
RTE_FLOW_ACTION_TYPE_END,
RTE_FLOW_ACTION_TYPE_QUEUE,
- RTE_FLOW_ACTION_TYPE_PHY_PORT,
RTE_FLOW_ACTION_TYPE_PORT_ID,
RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT,
RTE_FLOW_ACTION_TYPE_RSS
@@ -92,7 +91,6 @@ enum rte_flow_action_type dpaa2_supported_action_type[] = {
static const
enum rte_flow_action_type dpaa2_supported_fs_action_type[] = {
RTE_FLOW_ACTION_TYPE_QUEUE,
- RTE_FLOW_ACTION_TYPE_PHY_PORT,
RTE_FLOW_ACTION_TYPE_PORT_ID,
RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT,
};
@@ -3281,17 +3279,11 @@ static inline struct rte_eth_dev *
dpaa2_flow_redirect_dev(struct dpaa2_dev_priv *priv,
const struct rte_flow_action *action)
{
- const struct rte_flow_action_phy_port *phy_port;
const struct rte_flow_action_port_id *port_id;
int idx = -1;
struct rte_eth_dev *dest_dev;
- if (action->type == RTE_FLOW_ACTION_TYPE_PHY_PORT) {
- phy_port = (const struct rte_flow_action_phy_port *)
- action->conf;
- if (!phy_port->original)
- idx = phy_port->index;
- } else if (action->type == RTE_FLOW_ACTION_TYPE_PORT_ID) {
+ if (action->type == RTE_FLOW_ACTION_TYPE_PORT_ID) {
port_id = (const struct rte_flow_action_port_id *)
action->conf;
if (!port_id->original)
@@ -3345,7 +3337,6 @@ dpaa2_flow_verify_action(
}
break;
case RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT:
- case RTE_FLOW_ACTION_TYPE_PHY_PORT:
case RTE_FLOW_ACTION_TYPE_PORT_ID:
if (!dpaa2_flow_redirect_dev(priv, &actions[j])) {
DPAA2_PMD_ERR("Invalid port id of action");
@@ -3523,7 +3514,6 @@ dpaa2_generic_flow_set(struct rte_flow *flow,
switch (actions[j].type) {
case RTE_FLOW_ACTION_TYPE_QUEUE:
case RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT:
- case RTE_FLOW_ACTION_TYPE_PHY_PORT:
case RTE_FLOW_ACTION_TYPE_PORT_ID:
memset(&action, 0, sizeof(struct dpni_fs_action_cfg));
flow->action = actions[j].type;
@@ -4098,7 +4088,6 @@ int dpaa2_flow_destroy(struct rte_eth_dev *dev,
switch (flow->action) {
case RTE_FLOW_ACTION_TYPE_QUEUE:
case RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT:
- case RTE_FLOW_ACTION_TYPE_PHY_PORT:
case RTE_FLOW_ACTION_TYPE_PORT_ID:
if (priv->num_rx_tc > 1) {
/* Remove entry from QoS table first */
@@ -3463,36 +3463,6 @@ sfc_mae_rule_parse_action_count(struct sfc_adapter *sa,
return rc;
}
-static int
-sfc_mae_rule_parse_action_phy_port(struct sfc_adapter *sa,
- const struct rte_flow_action_phy_port *conf,
- efx_mae_actions_t *spec)
-{
- efx_mport_sel_t mport;
- uint32_t phy_port;
- int rc;
-
- if (conf->original != 0)
- phy_port = efx_nic_cfg_get(sa->nic)->enc_assigned_port;
- else
- phy_port = conf->index;
-
- rc = efx_mae_mport_by_phy_port(phy_port, &mport);
- if (rc != 0) {
- sfc_err(sa, "failed to convert phys. port ID %u to m-port selector: %s",
- phy_port, strerror(rc));
- return rc;
- }
-
- rc = efx_mae_action_set_populate_deliver(spec, &mport);
- if (rc != 0) {
- sfc_err(sa, "failed to request action DELIVER with m-port selector 0x%08x: %s",
- mport.sel, strerror(rc));
- }
-
- return rc;
-}
-
static int
sfc_mae_rule_parse_action_pf_vf(struct sfc_adapter *sa,
const struct rte_flow_action_vf *vf_conf,
@@ -3626,7 +3596,6 @@ static const char * const action_names[] = {
[RTE_FLOW_ACTION_TYPE_COUNT] = "COUNT",
[RTE_FLOW_ACTION_TYPE_FLAG] = "FLAG",
[RTE_FLOW_ACTION_TYPE_MARK] = "MARK",
- [RTE_FLOW_ACTION_TYPE_PHY_PORT] = "PHY_PORT",
[RTE_FLOW_ACTION_TYPE_PF] = "PF",
[RTE_FLOW_ACTION_TYPE_VF] = "VF",
[RTE_FLOW_ACTION_TYPE_PORT_ID] = "PORT_ID",
@@ -3745,11 +3714,6 @@ sfc_mae_rule_parse_action(struct sfc_adapter *sa,
custom_error = B_TRUE;
}
break;
- case RTE_FLOW_ACTION_TYPE_PHY_PORT:
- SFC_BUILD_SET_OVERFLOW(RTE_FLOW_ACTION_TYPE_PHY_PORT,
- bundle->actions_mask);
- rc = sfc_mae_rule_parse_action_phy_port(sa, action->conf, spec);
- break;
case RTE_FLOW_ACTION_TYPE_PF:
SFC_BUILD_SET_OVERFLOW(RTE_FLOW_ACTION_TYPE_PF,
bundle->actions_mask);
@@ -188,7 +188,6 @@ static const struct rte_flow_desc_data rte_flow_desc_action[] = {
MK_FLOW_ACTION(RSS, sizeof(struct rte_flow_action_rss)),
MK_FLOW_ACTION(PF, 0),
MK_FLOW_ACTION(VF, sizeof(struct rte_flow_action_vf)),
- MK_FLOW_ACTION(PHY_PORT, sizeof(struct rte_flow_action_phy_port)),
MK_FLOW_ACTION(PORT_ID, sizeof(struct rte_flow_action_port_id)),
MK_FLOW_ACTION(METER, sizeof(struct rte_flow_action_meter)),
MK_FLOW_ACTION(SECURITY, sizeof(struct rte_flow_action_security)),
@@ -2224,18 +2224,6 @@ enum rte_flow_action_type {
*/
RTE_FLOW_ACTION_TYPE_VF,
- /**
- * @deprecated
- * @see RTE_FLOW_ACTION_TYPE_PORT_REPRESENTOR
- * @see RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT
- *
- * Directs packets to a given physical port index of the underlying
- * device.
- *
- * See struct rte_flow_action_phy_port.
- */
- RTE_FLOW_ACTION_TYPE_PHY_PORT,
-
/**
* @deprecated
* @see RTE_FLOW_ACTION_TYPE_PORT_REPRESENTOR
@@ -2960,22 +2948,6 @@ struct rte_flow_action_vf {
uint32_t id; /**< VF ID. */
};
-/**
- * @deprecated
- * @see RTE_FLOW_ACTION_TYPE_PORT_REPRESENTOR
- * @see RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT
- *
- * RTE_FLOW_ACTION_TYPE_PHY_PORT
- *
- * Directs packets to a given physical port index of the underlying
- * device.
- */
-struct rte_flow_action_phy_port {
- uint32_t original:1; /**< Use original port index if possible. */
- uint32_t reserved:31; /**< Reserved, must be zero. */
- uint32_t index; /**< Physical port index. */
-};
-
/**
* @deprecated
* @see RTE_FLOW_ACTION_TYPE_PORT_REPRESENTOR