On 2/7/2017 3:22 AM, Jingjing Wu wrote: > PKT_TX_TUNNEL_MASK and PKT_TX_IEEE1588_TMST are missed in bitmask > of all supported packet Tx flags by i40e. It will cause packet preparing > fail when sending tunnel packets with Tx offload. > This patch fixes it. > > Fixes: 3f33e643e5c6 ("net/i40e: add Tx preparation") > Signed-off-by: Jingjing Wu <jingjing...@intel.com> > --- > drivers/net/i40e/i40e_rxtx.c | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c > index 608685f..48429cc 100644 > --- a/drivers/net/i40e/i40e_rxtx.c > +++ b/drivers/net/i40e/i40e_rxtx.c > @@ -75,6 +75,12 @@ > > #define I40E_TXD_CMD (I40E_TX_DESC_CMD_EOP | I40E_TX_DESC_CMD_RS) > > +#ifdef RTE_LIBRTE_IEEE1588 > +#define I40E_TX_IEEE1588_TMST PKT_TX_IEEE1588_TMST > +#else > +#define I40E_TX_IEEE1588_TMST 0 > +#endif > + > #define I40E_TX_CKSUM_OFFLOAD_MASK ( \ > PKT_TX_IP_CKSUM | \ > PKT_TX_L4_MASK | \ > @@ -87,7 +93,9 @@ > PKT_TX_OUTER_IP_CKSUM | \ > PKT_TX_TCP_SEG | \ > PKT_TX_QINQ_PKT | \ > - PKT_TX_VLAN_PKT) > + PKT_TX_VLAN_PKT | \ > + PKT_TX_TUNNEL_MASK | \ > + I40E_TX_IEEE1588_TMST)
PKT_TX_IEEE1588_TMST added into I40E_TX_OFFLOAD_MASK, but not into PKT_TX_OFFLOAD_MASK (patch 4/4) Shouldn't PKT_TX_OFFLOAD_MASK be a super set of driver ones. Otherwise PKT_TX_IEEE1588_TMST will be marked as not supported according below XOR logic. > > #define I40E_TX_OFFLOAD_NOTSUP_MASK \ > (PKT_TX_OFFLOAD_MASK ^ I40E_TX_OFFLOAD_MASK) >