X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;ds=inline;f=lib%2Flibrte_ethdev%2Frte_ethdev.h;h=c26abe23aa7c910e1b15e52cc0062ee744854993;hb=2048f3a965d85f264ffe62a5dc7b272a85464331;hp=f07a829b29ce7a4923fdbde0be42d3e311660e40;hpb=69d0e7092874db1909bc40986c06219f1880dc23;p=dpdk.git diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h index f07a829b29..c26abe23aa 100644 --- a/lib/librte_ethdev/rte_ethdev.h +++ b/lib/librte_ethdev/rte_ethdev.h @@ -479,7 +479,8 @@ struct rte_eth_rss_conf { #define RTE_ETH_FLOW_GENEVE 20 /**< GENEVE protocol based flow */ #define RTE_ETH_FLOW_NVGRE 21 /**< NVGRE protocol based flow */ #define RTE_ETH_FLOW_VXLAN_GPE 22 /**< VXLAN-GPE protocol based flow */ -#define RTE_ETH_FLOW_MAX 23 +#define RTE_ETH_FLOW_GTPU 23 /**< GTPU protocol based flow */ +#define RTE_ETH_FLOW_MAX 24 /* * The RSS offload types are defined based on flow types. @@ -507,6 +508,7 @@ struct rte_eth_rss_conf { #define ETH_RSS_VXLAN (1ULL << RTE_ETH_FLOW_VXLAN) #define ETH_RSS_GENEVE (1ULL << RTE_ETH_FLOW_GENEVE) #define ETH_RSS_NVGRE (1ULL << RTE_ETH_FLOW_NVGRE) +#define ETH_RSS_GTPU (1ULL << RTE_ETH_FLOW_GTPU) #define ETH_RSS_IP ( \ ETH_RSS_IPV4 | \ @@ -1566,9 +1568,11 @@ int rte_eth_dev_owner_unset(const uint16_t port_id, * * @param owner_id * The owner identifier. + * @return + * 0 on success, negative errno value on error. */ __rte_experimental -void rte_eth_dev_owner_delete(const uint64_t owner_id); +int rte_eth_dev_owner_delete(const uint64_t owner_id); /** * @warning @@ -2060,16 +2064,26 @@ int rte_eth_promiscuous_get(uint16_t port_id); * * @param port_id * The port identifier of the Ethernet device. + * @return + * - (0) if successful. + * - (-ENOTSUP) if support for allmulticast_enable() does not exist + * for the device. + * - (-ENODEV) if *port_id* invalid. */ -void rte_eth_allmulticast_enable(uint16_t port_id); +int rte_eth_allmulticast_enable(uint16_t port_id); /** * Disable the receipt of all multicast frames by an Ethernet device. * * @param port_id * The port identifier of the Ethernet device. + * @return + * - (0) if successful. + * - (-ENOTSUP) if support for allmulticast_disable() does not exist + * for the device. + * - (-ENODEV) if *port_id* invalid. */ -void rte_eth_allmulticast_disable(uint16_t port_id); +int rte_eth_allmulticast_disable(uint16_t port_id); /** * Return the value of allmulticast mode for an Ethernet device. @@ -2093,8 +2107,12 @@ int rte_eth_allmulticast_get(uint16_t port_id); * @param link * A pointer to an *rte_eth_link* structure to be filled with * the status, the speed and the mode of the Ethernet device link. + * @return + * - (0) if successful. + * - (-ENOTSUP) if the function is not supported in PMD driver. + * - (-ENODEV) if *port_id* invalid. */ -void rte_eth_link_get(uint16_t port_id, struct rte_eth_link *link); +int rte_eth_link_get(uint16_t port_id, struct rte_eth_link *link); /** * Retrieve the status (ON/OFF), the speed (in Mbps) and the mode (HALF-DUPLEX @@ -2106,8 +2124,12 @@ void rte_eth_link_get(uint16_t port_id, struct rte_eth_link *link); * @param link * A pointer to an *rte_eth_link* structure to be filled with * the status, the speed and the mode of the Ethernet device link. + * @return + * - (0) if successful. + * - (-ENOTSUP) if the function is not supported in PMD driver. + * - (-ENODEV) if *port_id* invalid. */ -void rte_eth_link_get_nowait(uint16_t port_id, struct rte_eth_link *link); +int rte_eth_link_get_nowait(uint16_t port_id, struct rte_eth_link *link); /** * Retrieve the general I/O statistics of an Ethernet device. @@ -2137,6 +2159,7 @@ int rte_eth_stats_get(uint16_t port_id, struct rte_eth_stats *stats); * - (0) if device notified to reset stats. * - (-ENOTSUP) if hardware doesn't support. * - (-ENODEV) if *port_id* invalid. + * - (<0): Error code of the driver stats reset function. */ int rte_eth_stats_reset(uint16_t port_id); @@ -2284,8 +2307,14 @@ int rte_eth_xstats_get_id_by_name(uint16_t port_id, const char *xstat_name, * * @param port_id * The port identifier of the Ethernet device. + * @return + * - (0) if device notified to reset extended stats. + * - (-ENOTSUP) if pmd doesn't support both + * extended stats and basic stats reset. + * - (-ENODEV) if *port_id* invalid. + * - (<0): Error code of the driver xstats reset function. */ -void rte_eth_xstats_reset(uint16_t port_id); +int rte_eth_xstats_reset(uint16_t port_id); /** * Set a mapping for the specified transmit queue to the specified per-queue @@ -2336,8 +2365,11 @@ int rte_eth_dev_set_rx_queue_stats_mapping(uint16_t port_id, * @param mac_addr * A pointer to a structure of type *ether_addr* to be filled with * the Ethernet address of the Ethernet device. + * @return + * - (0) if successful + * - (-ENODEV) if *port_id* invalid. */ -void rte_eth_macaddr_get(uint16_t port_id, struct rte_ether_addr *mac_addr); +int rte_eth_macaddr_get(uint16_t port_id, struct rte_ether_addr *mac_addr); /** * Retrieve the contextual information of an Ethernet device.