BUILD_BUG_ON(sizeof(skb->queue_mapping) !=
                     sizeof(qdisc_skb_cb(skb)->slave_dev_queue_mapping));
-       skb->queue_mapping = qdisc_skb_cb(skb)->slave_dev_queue_mapping;
+       skb_set_queue_mapping(skb, qdisc_skb_cb(skb)->slave_dev_queue_mapping);
 
        if (unlikely(netpoll_tx_running(bond->dev)))
                bond_netpoll_send_skb(bond_get_slave_by_dev(bond, slave_dev), skb);
        struct slave *slave = NULL;
        struct list_head *iter;
 
-       if (!skb->queue_mapping)
+       if (!skb_rx_queue_recorded(skb))
                return 1;
 
        /* Find out if any slaves have the same mapping as this skb. */
        bond_for_each_slave_rcu(bond, slave, iter) {
-               if (slave->queue_id == skb->queue_mapping) {
+               if (slave->queue_id == skb_get_queue_mapping(skb)) {
                        if (bond_slave_is_up(slave) &&
                            slave->link == BOND_LINK_UP) {
                                bond_dev_queue_xmit(bond, skb, slave->dev);
        u16 txq = skb_rx_queue_recorded(skb) ? skb_get_rx_queue(skb) : 0;
 
        /* Save the original txq to restore before passing to the driver */
-       qdisc_skb_cb(skb)->slave_dev_queue_mapping = skb->queue_mapping;
+       qdisc_skb_cb(skb)->slave_dev_queue_mapping = skb_get_queue_mapping(skb);
 
        if (unlikely(txq >= dev->real_num_tx_queues)) {
                do {