[IFLA_BOND_AD_INFO]             = { .type = NLA_NESTED },
 };
 
+static const struct nla_policy bond_slave_policy[IFLA_BOND_SLAVE_MAX + 1] = {
+       [IFLA_BOND_SLAVE_QUEUE_ID]      = { .type = NLA_U16 },
+};
+
 static int bond_validate(struct nlattr *tb[], struct nlattr *data[])
 {
        if (tb[IFLA_ADDRESS]) {
        .priv_size              = sizeof(struct bonding),
        .setup                  = bond_setup,
        .maxtype                = IFLA_BOND_MAX,
-       .slave_maxtype          = IFLA_BOND_SLAVE_MAX,
        .policy                 = bond_policy,
        .validate               = bond_validate,
        .newlink                = bond_newlink,
        .changelink             = bond_changelink,
-       .slave_changelink       = bond_slave_changelink,
        .get_size               = bond_get_size,
        .fill_info              = bond_fill_info,
        .get_num_tx_queues      = bond_get_num_tx_queues,
        .get_num_rx_queues      = bond_get_num_tx_queues, /* Use the same number
                                                             as for TX queues */
+       .slave_maxtype          = IFLA_BOND_SLAVE_MAX,
+       .slave_policy           = bond_slave_policy,
+       .slave_changelink       = bond_slave_changelink,
        .get_slave_size         = bond_get_slave_size,
        .fill_slave_info        = bond_fill_slave_info,
 };