On Sun, 2015-12-06 at 23:34 +0000, Harish Patil wrote: > > > >The original was always setting unicast. While here, clean up some > >other references that also point into the Ethernet header. > > > >Signed-off-by: Chas Williams <3chas3 at gmail.com> > >--- > > drivers/net/bnx2x/bnx2x.c | 23 +++++++++++++++-------- > > drivers/net/bnx2x/ecore_hsi.h | 5 +++-- > > 2 files changed, 18 insertions(+), 10 deletions(-) > > > >diff --git a/drivers/net/bnx2x/bnx2x.c b/drivers/net/bnx2x/bnx2x.c > >index 76444eb..294711f 100644 > >--- a/drivers/net/bnx2x/bnx2x.c > >+++ b/drivers/net/bnx2x/bnx2x.c > >@@ -2177,25 +2177,32 @@ int bnx2x_tx_encap(struct bnx2x_tx_queue *txq, > >struct rte_mbuf **m_head, int m_p > > bd_prod = NEXT_TX_BD(bd_prod); > > if (IS_VF(sc)) { > > struct eth_tx_parse_bd_e2 *tx_parse_bd; > >- uint8_t *data = rte_pktmbuf_mtod(m0, uint8_t *); > >+ const struct ether_hdr *eh = rte_pktmbuf_mtod(m0, > >struct ether_hdr *); > >+ uint8_t mac_type = UNICAST_ADDRESS; > > > > tx_parse_bd = > > &txq->tx_ring[TX_BD(bd_prod, txq)].parse_bd_e2; > >+ if (is_multicast_ether_addr(&eh->d_addr)) { > > Minor comment. unlikely() may be used here to keep it consistent with base > driver.
It wasn't clear to me that this code path is all that unlikely(). > >+ if (is_broadcast_ether_addr(&eh->d_addr)) > >+ mac_type = BROADCAST_ADDRESS; > >+ else > >+ mac_type = MULTICAST_ADDRESS; > >+ }