/* Sends an offload packet. We use the packet priority to select the appropriate Tx queue as follows: bit 0 indicates whether the packet should be sent as regular or control, bits 1-3 select the queue set.  */
int t3_offload_tx(struct t3cdev *tdev, struct sk_buff *skb)
/* Sends an offload packet. We use the packet priority to select the appropriate Tx queue as follows: bit 0 indicates whether the packet should be sent as regular or control, bits 1-3 select the queue set.  */
int t3_offload_tx(struct t3cdev *tdev, struct sk_buff *skb)
{
	struct adapter *adap = tdev2adap(tdev);
	struct sge_qset *qs = &adap->sge.qs[queue_set(skb)];
	if (unlikely(is_ctrl_pkt(skb)))
		return ctrl_xmit(adap, &qs->txq[TXQ_CTRL], skb);
	return ofld_xmit(adap, &qs->txq[TXQ_OFLD], skb);
}