Test-Label: iol-testing Test-Status: WARNING http://dpdk.org/patch/101716 _apply patch failure_ Submitter: Andrew Rybchenko Date: Friday, October 15 2021 06:49:03 Applied on: CommitID:b95af1946ab4fde8489f8a91199d3b5579918997 Apply patch set 101716-101718 failed: Checking patch drivers/net/sfc/sfc_ethdev.c... Hunk #1 succeeded at 184 (offset -3 lines). error: while searching for: sfc_adapter_lock(sa); if (sa->mae.status != SFC_MAE_STATUS_SUPPORTED) { sfc_adapter_unlock(sa); return -ENOTSUP; } error: patch failed: drivers/net/sfc/sfc_ethdev.c:2252 error: while searching for: goto fail_kvargs; if (switch_mode == NULL) { sa->switchdev = encp->enc_mae_supported && (!encp->enc_datapath_cap_evb || has_representors); } else if (strcasecmp(switch_mode, SFC_KVARG_SWITCH_MODE_LEGACY) == 0) { error: patch failed: drivers/net/sfc/sfc_ethdev.c:2698 error: while searching for: if (rc != 0) goto fail_attach; if (sa->switchdev && sa->mae.status != SFC_MAE_STATUS_SUPPORTED) { sfc_err(sa, "failed to enable switchdev mode without MAE support"); rc = ENOTSUP; goto fail_switchdev_no_mae; } error: patch failed: drivers/net/sfc/sfc_ethdev.c:2833 Checking patch drivers/net/sfc/sfc_flow.c... Hunk #1 succeeded at 1274 (offset -1 lines). Checking patch drivers/net/sfc/sfc_mae.c... Hunk #1 succeeded at 63 (offset -134 lines). Hunk #2 succeeded at 109 (offset -131 lines). Hunk #3 succeeded at 139 (offset -131 lines). Hunk #4 succeeded at 164 (offset -131 lines). error: while searching for: return 0; } if (mae->status != SFC_MAE_STATUS_SUPPORTED) { rc = ENOTSUP; sfc_err(sa, "failed to init switchdev - no MAE support"); goto fail_no_mae; } error: patch failed: drivers/net/sfc/sfc_mae.c:4036 Checking patch drivers/net/sfc/sfc_mae.h... Hunk #1 succeeded at 81 (offset -7 lines). Applying patch drivers/net/sfc/sfc_ethdev.c with 3 rejects... Hunk #1 applied cleanly. Rejected hunk #2. Rejected hunk #3. Rejected hunk #4. Applied patch drivers/net/sfc/sfc_flow.c cleanly. Applying patch drivers/net/sfc/sfc_mae.c with 1 reject... Hunk #1 applied cleanly. Hunk #2 applied cleanly. Hunk #3 applied cleanly. Hunk #4 applied cleanly. Rejected hunk #5. Applied patch drivers/net/sfc/sfc_mae.h cleanly. diff a/drivers/net/sfc/sfc_ethdev.c b/drivers/net/sfc/sfc_ethdev.c (rejected hunks) @@ -2252,7 +2253,7 @@ sfc_representor_info_get(struct rte_eth_dev *dev, sfc_adapter_lock(sa); - if (sa->mae.status != SFC_MAE_STATUS_SUPPORTED) { + if (sa->mae.status != SFC_MAE_STATUS_ADMIN) { sfc_adapter_unlock(sa); return -ENOTSUP; } @@ -2698,7 +2699,7 @@ sfc_parse_switch_mode(struct sfc_adapter *sa, bool has_representors) goto fail_kvargs; if (switch_mode == NULL) { - sa->switchdev = encp->enc_mae_supported && + sa->switchdev = encp->enc_mae_admin && (!encp->enc_datapath_cap_evb || has_representors); } else if (strcasecmp(switch_mode, SFC_KVARG_SWITCH_MODE_LEGACY) == 0) { @@ -2833,9 +2834,9 @@ sfc_eth_dev_init(struct rte_eth_dev *dev, void *init_params) if (rc != 0) goto fail_attach; - if (sa->switchdev && sa->mae.status != SFC_MAE_STATUS_SUPPORTED) { + if (sa->switchdev && sa->mae.status != SFC_MAE_STATUS_ADMIN) { sfc_err(sa, - "failed to enable switchdev mode without MAE support"); + "failed to enable switchdev mode without admin MAE privilege"); rc = ENOTSUP; goto fail_switchdev_no_mae; } diff a/drivers/net/sfc/sfc_mae.c b/drivers/net/sfc/sfc_mae.c (rejected hunks) @@ -4036,9 +4047,9 @@ sfc_mae_switchdev_init(struct sfc_adapter *sa) return 0; } - if (mae->status != SFC_MAE_STATUS_SUPPORTED) { + if (mae->status != SFC_MAE_STATUS_ADMIN) { rc = ENOTSUP; - sfc_err(sa, "failed to init switchdev - no MAE support"); + sfc_err(sa, "failed to init switchdev - no admin MAE privilege"); goto fail_no_mae; } Checking patch doc/guides/rel_notes/release_21_11.rst... error: while searching for: Updated the Solarflare ``sfc_efx`` driver with changes including: * Added port representors support on SN1000 SmartNICs * **Updated Marvell cnxk crypto PMD.** error: patch failed: doc/guides/rel_notes/release_21_11.rst:136 Checking patch drivers/net/sfc/sfc.c... error: while searching for: #include "sfc_kvargs.h" #include "sfc_tweak.h" #include "sfc_sw_stats.h" bool sfc_repr_supported(const struct sfc_adapter *sa) error: patch failed: drivers/net/sfc/sfc.c:25 Hunk #2 succeeded at 1230 (offset -100 lines). Checking patch drivers/net/sfc/sfc_flow.c... error: drivers/net/sfc/sfc_flow.c: does not match index Checking patch drivers/net/sfc/sfc_mae.c... error: drivers/net/sfc/sfc_mae.c: does not match index Checking patch drivers/net/sfc/sfc_switch.c... error: while searching for: efx_pcie_interface_t *controllers; /** Number of DPDK controllers and EFX interfaces */ size_t nb_controllers; }; TAILQ_HEAD(sfc_mae_switch_domains, sfc_mae_switch_domain); error: patch failed: drivers/net/sfc/sfc_switch.c:93 error: while searching for: port->ethdev_mport = *req->ethdev_mportp; port->ethdev_port_id = req->ethdev_port_id; switch (req->type) { case SFC_MAE_SWITCH_PORT_INDEPENDENT: /* No data */ break; case SFC_MAE_SWITCH_PORT_REPRESENTOR: memcpy(&port->data.repr, &req->port_data, sizeof(port->data.repr)); break; default: SFC_ASSERT(B_FALSE); error: patch failed: drivers/net/sfc/sfc_switch.c:454 Hunk #3 succeeded at 290 (offset -194 lines). Hunk #4 succeeded at 356 (offset -211 lines). Checking patch drivers/net/sfc/sfc_switch.h... error: while searching for: SFC_MAE_SWITCH_PORT_REPRESENTOR, }; struct sfc_mae_switch_port_repr_data { efx_pcie_interface_t intf; uint16_t pf; error: patch failed: drivers/net/sfc/sfc_switch.h:34 error: while searching for: }; union sfc_mae_switch_port_data { struct sfc_mae_switch_port_repr_data repr; }; error: patch failed: drivers/net/sfc/sfc_switch.h:41 Hunk #3 succeeded at 43 (offset -56 lines). error: while searching for: enum sfc_mae_switch_port_type type, uint16_t *switch_port_id); #ifdef __cplusplus } #endif error: patch failed: drivers/net/sfc/sfc_switch.h:103 Applying patch doc/guides/rel_notes/release_21_11.rst with 1 reject... Rejected hunk #1. Applying patch drivers/net/sfc/sfc.c with 1 reject... Rejected hunk #1. Hunk #2 applied cleanly. Applying patch drivers/net/sfc/sfc_switch.c with 2 rejects... Rejected hunk #1. Rejected hunk #2. Hunk #3 applied cleanly. Hunk #4 applied cleanly. Applying patch drivers/net/sfc/sfc_switch.h with 3 rejects... Rejected hunk #1. Rejected hunk #2. Hunk #3 applied cleanly. Rejected hunk #4. diff a/doc/guides/rel_notes/release_21_11.rst b/doc/guides/rel_notes/release_21_11.rst (rejected hunks) @@ -136,6 +136,7 @@ New Features Updated the Solarflare ``sfc_efx`` driver with changes including: * Added port representors support on SN1000 SmartNICs + * Added flow API transfer proxy support * **Updated Marvell cnxk crypto PMD.** diff a/drivers/net/sfc/sfc.c b/drivers/net/sfc/sfc.c (rejected hunks) @@ -25,6 +25,7 @@ #include "sfc_kvargs.h" #include "sfc_tweak.h" #include "sfc_sw_stats.h" +#include "sfc_switch.h" bool sfc_repr_supported(const struct sfc_adapter *sa) diff a/drivers/net/sfc/sfc_switch.c b/drivers/net/sfc/sfc_switch.c (rejected hunks) @@ -93,6 +93,8 @@ struct sfc_mae_switch_domain { efx_pcie_interface_t *controllers; /** Number of DPDK controllers and EFX interfaces */ size_t nb_controllers; + /** MAE admin port */ + struct sfc_mae_switch_port *mae_admin_port; }; TAILQ_HEAD(sfc_mae_switch_domains, sfc_mae_switch_domain); @@ -454,13 +456,17 @@ sfc_mae_assign_switch_port(uint16_t switch_domain_id, port->ethdev_mport = *req->ethdev_mportp; port->ethdev_port_id = req->ethdev_port_id; + memcpy(&port->data, &req->port_data, + sizeof(port->data)); + switch (req->type) { case SFC_MAE_SWITCH_PORT_INDEPENDENT: - /* No data */ + if (port->data.indep.mae_admin) { + SFC_ASSERT(domain->mae_admin_port == NULL); + domain->mae_admin_port = port; + } break; case SFC_MAE_SWITCH_PORT_REPRESENTOR: - memcpy(&port->data.repr, &req->port_data, - sizeof(port->data.repr)); break; default: SFC_ASSERT(B_FALSE); diff a/drivers/net/sfc/sfc_switch.h b/drivers/net/sfc/sfc_switch.h (rejected hunks) @@ -34,6 +34,10 @@ enum sfc_mae_switch_port_type { SFC_MAE_SWITCH_PORT_REPRESENTOR, }; +struct sfc_mae_switch_port_indep_data { + bool mae_admin; +}; + struct sfc_mae_switch_port_repr_data { efx_pcie_interface_t intf; uint16_t pf; @@ -41,6 +45,7 @@ struct sfc_mae_switch_port_repr_data { }; union sfc_mae_switch_port_data { + struct sfc_mae_switch_port_indep_data indep; struct sfc_mae_switch_port_repr_data repr; }; @@ -103,6 +111,9 @@ int sfc_mae_switch_port_id_by_entity(uint16_t switch_domain_id, enum sfc_mae_switch_port_type type, uint16_t *switch_port_id); +int sfc_mae_get_switch_domain_admin(uint16_t switch_domain_id, + uint16_t *port_id); + #ifdef __cplusplus } #endif https://lab.dpdk.org/results/dashboard/patchsets/19441/ UNH-IOL DPDK Community Lab