X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fdpaa2%2Frte_pmd_dpaa2.h;h=7204a8f9516fee22a1de31c438831d8c0d0b8d73;hb=fb7ad441d43d4152cb7bde992a1136c20d9166e9;hp=f9303acad712328c8a642c150bb2d984aded1c99;hpb=c1870f65e62fbdf5da742cf2cfbcf238a52b46ed;p=dpdk.git diff --git a/drivers/net/dpaa2/rte_pmd_dpaa2.h b/drivers/net/dpaa2/rte_pmd_dpaa2.h index f9303acad7..7204a8f951 100644 --- a/drivers/net/dpaa2/rte_pmd_dpaa2.h +++ b/drivers/net/dpaa2/rte_pmd_dpaa2.h @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: BSD-3-Clause - * Copyright 2018 NXP + * Copyright 2018-2021 NXP */ #ifndef _RTE_PMD_DPAA2_H @@ -17,23 +17,71 @@ #include -enum pmd_dpaa2_ts { - PMD_DPAA2_DISABLE_TS, - PMD_DPAA2_ENABLE_TS -}; +/** + * @warning + * @b EXPERIMENTAL: this API may change, or be removed, without prior notice + * + * Create a flow rule to demultiplex ethernet traffic to separate network + * interfaces. + * + * @param dpdmux_id + * ID of the DPDMUX MC object. + * @param[in] pattern + * Pattern specification. + * @param[in] actions + * Associated actions. + * + * @return + * A valid handle in case of success, NULL otherwise. + */ +__rte_experimental +struct rte_flow * +rte_pmd_dpaa2_mux_flow_create(uint32_t dpdmux_id, + struct rte_flow_item *pattern[], + struct rte_flow_action *actions[]); + +/** + * @warning + * @b EXPERIMENTAL: this API may change, or be removed, without prior notice + * + * demultiplex interface max rx frame length configure + * + * @param dpdmux_id + * ID of the DPDMUX MC object. + * @param max_rx_frame_len + * maximum receive frame length (will be checked to be minimux of all dpnis) + * + */ +__rte_experimental +int +rte_pmd_dpaa2_mux_rx_frame_len(uint32_t dpdmux_id, uint16_t max_rx_frame_len); /** * @warning * @b EXPERIMENTAL: this API may change, or be removed, without prior notice * - * Enable/Disable timestamping update in mbuf for LX2160 kind of devices. - * For LS2088/LS1088 devices, timestamping will be updated in mbuf without - * calling this API. + * Create a custom hash key on basis of offset of start of packet and size. + * for e.g. if we need GRE packets (non-vlan and without any extra headers) + * to be hashed on basis of inner IP header, we will provide offset as: + * 14 (eth) + 20 (IP) + 4 (GRE) + 12 (Inner Src offset) = 50 and size + * as 8 bytes. + * + * @param port_id + * The port identifier of the Ethernet device. + * @param offset + * Offset from the start of packet which needs to be included to + * calculate hash + * @param size + * Size of the hash input key * - * @param pmd_dpaa2_ts - * Enum to enable/disable timestamp update in mbuf for LX2160 devices. + * @return + * - 0 if successful. + * - Negative in case of failure. */ __rte_experimental -void rte_pmd_dpaa2_set_timestamp(enum pmd_dpaa2_ts); +int +rte_pmd_dpaa2_set_custom_hash(uint16_t port_id, + uint16_t offset, + uint8_t size); #endif /* _RTE_PMD_DPAA2_H */