| 965 | } |
| 966 | |
| 967 | void |
| 968 | sfc_repr_proxy_detach(struct sfc_adapter *sa) |
| 969 | { |
| 970 | struct sfc_adapter_shared * const sas = sfc_sa2shared(sa); |
| 971 | struct sfc_repr_proxy *rp = &sa->repr_proxy; |
| 972 | |
| 973 | sfc_log_init(sa, "entry"); |
| 974 | |
| 975 | if (!sfc_repr_available(sas)) { |
| 976 | sfc_log_init(sa, "representors not supported - skip"); |
| 977 | return; |
| 978 | } |
| 979 | |
| 980 | rte_service_map_lcore_set(rp->service_id, rp->service_core_id, 0); |
| 981 | rte_service_component_unregister(rp->service_id); |
| 982 | sfc_repr_proxy_ports_fini(sa); |
| 983 | sfc_repr_proxy_rxq_detach(sa); |
| 984 | sfc_repr_proxy_txq_detach(sa); |
| 985 | |
| 986 | sfc_log_init(sa, "done"); |
| 987 | } |
| 988 | |
| 989 | static int |
| 990 | sfc_repr_proxy_do_start_port(struct sfc_adapter *sa, |
no test coverage detected