From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH v4 5/5] ixgbe: Add LRO support Date: Sun, 08 Mar 2015 22:20:50 +0100 Message-ID: <3355568.qkVtABOLMn@xps13> References: <1425823498-30385-1-git-send-email-vladz@cloudius-systems.com> <1425823498-30385-6-git-send-email-vladz@cloudius-systems.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: dev-VfR2kkLFssw@public.gmane.org To: Vlad Zolotarov Return-path: In-Reply-To: <1425823498-30385-6-git-send-email-vladz-RmZWMc9puTNJc61us3aD9laTQe2KTcn/@public.gmane.org> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-VfR2kkLFssw@public.gmane.org Sender: "dev" 2015-03-08 16:04, Vlad Zolotarov: > --- a/lib/librte_ether/rte_ethdev.h > +++ b/lib/librte_ether/rte_ethdev.h > @@ -312,6 +312,9 @@ enum rte_eth_tx_mq_mode { > #define ETH_VMDQ_DCB_TX ETH_MQ_TX_VMDQ_DCB > #define ETH_DCB_TX ETH_MQ_TX_DCB > > +/* TODO: Remove this when DPDK version bumps up to 2.0.1 */ The last digit is reserved for maintenance. LRO should be merged in 2.1.0. By the way, why removing this macros when it's integrated? I think it would be a good idea to start using this kind of macro for new API. It's better than version checking because it supports backports. Opinion? > +#define RTE_ETHDEV_HAS_LRO_SUPPORT Is it the right location to define it? Is it better than defining it just above one of the new fields or at the beginning of the file? > + > /** > * A structure used to configure the RX features of an Ethernet port. > */ > @@ -320,14 +323,15 @@ struct rte_eth_rxmode { > enum rte_eth_rx_mq_mode mq_mode; > uint32_t max_rx_pkt_len; /**< Only used if jumbo_frame enabled. */ > uint16_t split_hdr_size; /**< hdr buf size (header_split enabled).*/ > - uint8_t header_split : 1, /**< Header Split enable. */ > + uint16_t header_split : 1, /**< Header Split enable. */ > hw_ip_checksum : 1, /**< IP/UDP/TCP checksum offload enable. */ > hw_vlan_filter : 1, /**< VLAN filter enable. */ > hw_vlan_strip : 1, /**< VLAN strip enable. */ > hw_vlan_extend : 1, /**< Extended VLAN enable. */ > jumbo_frame : 1, /**< Jumbo Frame Receipt enable. */ > hw_strip_crc : 1, /**< Enable CRC stripping by hardware. */ > - enable_scatter : 1; /**< Enable scatter packets rx handler */ > + enable_scatter : 1, /**< Enable scatter packets rx handler */ > + enable_lro : 1; /**< Enable LRO */ > }; > > /** > @@ -1515,6 +1519,7 @@ struct rte_eth_dev_data { > uint8_t port_id; /**< Device [external] port identifier. */ > uint8_t promiscuous : 1, /**< RX promiscuous mode ON(1) / OFF(0). */ > scattered_rx : 1, /**< RX of scattered packets is ON(1) / OFF(0) */ > + lro : 1, /**< RX LRO is ON(1) / OFF(0) */ > all_multicast : 1, /**< RX all multicast mode ON(1) / OFF(0). */ > dev_started : 1; /**< Device state: STARTED(1) / STOPPED(0). */ > };