src/dpdk/drivers/net/txgbe/base/txgbe_hw.c
void txgbe_set_mta(struct txgbe_hw *hw, u8 *mc_addr)
{
	u32 vector;
	u32 vector_bit;
	u32 vector_reg;

	DEBUGFUNC("txgbe_set_mta");

	hw->addr_ctrl.mta_in_use++;

	vector = txgbe_mta_vector(hw, mc_addr);
	DEBUGOUT(" bit-vector = 0x%03X\n", vector);

	/*
	 * The MTA is a register array of 128 32-bit registers. It is treated
	 * like an array of 4096 bits.  We want to set bit
	 * BitArray[vector_value]. So we figure out what register the bit is
	 * in, read it, OR in the new bit, then write back the new value.  The
	 * register is determined by the upper 7 bits of the vector value and
	 * the bit within that register are determined by the lower 5 bits of
	 * the value.
	 */
	vector_reg = (vector >> 5) & 0x7F;
	vector_bit = vector & 0x1F;
	hw->mac.mta_shadow[vector_reg] |= (1 << vector_bit);
}
/**
 *  txgbe_set_mta - Set bit-vector in multicast table
 *  @hw: pointer to hardware structure
 *  @mc_addr: Multicast address
 *
 *  Sets the bit-vector in the multicast table.
 **/
Set bit-vector in multicast table
@hw: pointer to hardware structure
@mc_addr: Multicast address

Sets the bit-vector in the multicast table.
Set bit - vector in multicast table @hw : pointer to hardware structure @mc_addr : Multicast address Sets the bit - vector in the multicast table .
void txgbe_set_mta(struct txgbe_hw *hw, u8 *mc_addr)
{
	u32 vector;
	u32 vector_bit;
	u32 vector_reg;
	DEBUGFUNC("txgbe_set_mta");
	hw->addr_ctrl.mta_in_use++;
	vector = txgbe_mta_vector(hw, mc_addr);
	DEBUGOUT(" bit-vector = 0x%03X\n", vector);
	vector_reg = (vector >> 5) & 0x7F;
	vector_bit = vector & 0x1F;
	hw->mac.mta_shadow[vector_reg] |= (1 << vector_bit);
}
void txgbe_set_mta ( struct txgbe_hw * hw , u8 * mc_addr ) { u32 vector ; u32 vector_bit ; u32 vector_reg ; DEBUGFUNC ( " " ) ; hw -> addr_ctrl . mta_in_use ++ ; vector = txgbe_mta_vector ( hw , mc_addr ) ; DEBUGOUT ( " \n " , vector ) ; vector_reg = ( vector >> 5 ) & 0x7F ; vector_bit = vector & 0x1F ; hw -> mac . mta_shadow [ vector_reg ] |= ( 1 << vector_bit ) ; }
txgbe_set_mta - Set bit-vector in multicast table
  @hw: pointer to hardware structure
  @mc_addr: Multicast address
txgbe_set_mta - Set bit - vector in multicast table @hw : pointer to hardware structure @mc_addr : Multicast address
/*
	 * The MTA is a register array of 128 32-bit registers. It is treated
	 * like an array of 4096 bits.  We want to set bit
	 * BitArray[vector_value]. So we figure out what register the bit is
	 * in, read it, OR in the new bit, then write back the new value.  The
	 * register is determined by the upper 7 bits of the vector value and
	 * the bit within that register are determined by the lower 5 bits of
	 * the value.
	 */