Message ID | cover.1606322126.git.camelia.groza@nxp.com (mailing list archive) |
---|---|
Headers | show |
Series | dpaa_eth: add XDP support | expand |
On Wed, Nov 25, 2020 at 06:53:29PM +0200, Camelia Groza wrote: > Enable XDP support for the QorIQ DPAA1 platforms. > > Implement all the current actions (DROP, ABORTED, PASS, TX, REDIRECT). No > Tx batching is added at this time. > > Additional XDP_PACKET_HEADROOM bytes are reserved in each frame's headroom. > > After transmit, a reference to the xdp_frame is saved in the buffer for > clean-up on confirmation in a newly created structure for software > annotations. DPAA_TX_PRIV_DATA_SIZE bytes are reserved in the buffer for > storing this structure and the XDP program is restricted from accessing > them. > > The driver shares the egress frame queues used for XDP with the network > stack. The DPAA driver is a LLTX driver so no explicit locking is required > on transmission. > > Changes in v2: > - warn only once if extracting the timestamp from a received frame fails > in 2/7 > > Changes in v3: > - drop received S/G frames when XDP is enabled in 2/7 > > Changes in v4: > - report a warning if the MTU is too hight for running XDP in 2/7 > - report an error if opening the device fails in the XDP setup in 2/7 > - call xdp_rxq_info_is_reg() before unregistering in 4/7 > - minor cleanups (remove unneeded variable, print error code) in 4/7 > - add more details in the commit message in 4/7 > - did not call qman_destroy_fq() in case of xdp_rxq_info_reg() failure > since it would lead to a double free of the fq resources in 4/7 > > Changes in v5: > - report errors on XDP setup with extack in 2/7 > - checkpath fix in 4/7 > - add more details in the commit message in 4/7 > - reduce the impact of the A050385 erratum workaround code on non-erratum > platforms in 7/7 For the series: Reviewed-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com> > > Camelia Groza (7): > dpaa_eth: add struct for software backpointers > dpaa_eth: add basic XDP support > dpaa_eth: limit the possible MTU range when XDP is enabled > dpaa_eth: add XDP_TX support > dpaa_eth: add XDP_REDIRECT support > dpaa_eth: rename current skb A050385 erratum workaround > dpaa_eth: implement the A050385 erratum workaround for XDP > > drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 465 +++++++++++++++++++++++-- > drivers/net/ethernet/freescale/dpaa/dpaa_eth.h | 13 + > 2 files changed, 448 insertions(+), 30 deletions(-) > > -- > 1.9.1 >
On Sat, 28 Nov 2020 23:59:57 +0100 Maciej Fijalkowski wrote: > On Wed, Nov 25, 2020 at 06:53:29PM +0200, Camelia Groza wrote: > > Enable XDP support for the QorIQ DPAA1 platforms. > > > > Implement all the current actions (DROP, ABORTED, PASS, TX, REDIRECT). No > > Tx batching is added at this time. > > > > Additional XDP_PACKET_HEADROOM bytes are reserved in each frame's headroom. > > > > After transmit, a reference to the xdp_frame is saved in the buffer for > > clean-up on confirmation in a newly created structure for software > > annotations. DPAA_TX_PRIV_DATA_SIZE bytes are reserved in the buffer for > > storing this structure and the XDP program is restricted from accessing > > them. > > > > The driver shares the egress frame queues used for XDP with the network > > stack. The DPAA driver is a LLTX driver so no explicit locking is required > > on transmission. > > > > Changes in v2: > > - warn only once if extracting the timestamp from a received frame fails > > in 2/7 > > > > Changes in v3: > > - drop received S/G frames when XDP is enabled in 2/7 > > > > Changes in v4: > > - report a warning if the MTU is too hight for running XDP in 2/7 > > - report an error if opening the device fails in the XDP setup in 2/7 > > - call xdp_rxq_info_is_reg() before unregistering in 4/7 > > - minor cleanups (remove unneeded variable, print error code) in 4/7 > > - add more details in the commit message in 4/7 > > - did not call qman_destroy_fq() in case of xdp_rxq_info_reg() failure > > since it would lead to a double free of the fq resources in 4/7 > > > > Changes in v5: > > - report errors on XDP setup with extack in 2/7 > > - checkpath fix in 4/7 > > - add more details in the commit message in 4/7 > > - reduce the impact of the A050385 erratum workaround code on non-erratum > > platforms in 7/7 > > For the series: > Reviewed-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com> Applied, thanks!