dst_dcb_cfg->bcn.rp_admin_mode[i - DCB_BCN_ATTR_RP_0] =
                        src_dcb_cfg->bcn.rp_admin_mode[i - DCB_BCN_ATTR_RP_0];
        }
+       dst_dcb_cfg->bcn.bcna_option[0] = src_dcb_cfg->bcn.bcna_option[0];
+       dst_dcb_cfg->bcn.bcna_option[1] = src_dcb_cfg->bcn.bcna_option[1];
        dst_dcb_cfg->bcn.rp_alpha = src_dcb_cfg->bcn.rp_alpha;
        dst_dcb_cfg->bcn.rp_beta = src_dcb_cfg->bcn.rp_beta;
        dst_dcb_cfg->bcn.rp_gd = src_dcb_cfg->bcn.rp_gd;
        struct ixgbe_adapter *adapter = netdev_priv(netdev);
 
        switch (enum_index) {
+       case DCB_BCN_ATTR_BCNA_0:
+               *setting = adapter->dcb_cfg.bcn.bcna_option[0];
+               break;
+       case DCB_BCN_ATTR_BCNA_1:
+               *setting = adapter->dcb_cfg.bcn.bcna_option[1];
+               break;
        case DCB_BCN_ATTR_ALPHA:
                *setting = adapter->dcb_cfg.bcn.rp_alpha;
                break;
        struct ixgbe_adapter *adapter = netdev_priv(netdev);
 
        switch (enum_index) {
+       case DCB_BCN_ATTR_BCNA_0:
+               adapter->temp_dcb_cfg.bcn.bcna_option[0] = setting;
+               if (adapter->temp_dcb_cfg.bcn.bcna_option[0] !=
+                       adapter->dcb_cfg.bcn.bcna_option[0])
+                       adapter->dcb_set_bitmap |= BIT_BCN;
+               break;
+       case DCB_BCN_ATTR_BCNA_1:
+               adapter->temp_dcb_cfg.bcn.bcna_option[1] = setting;
+               if (adapter->temp_dcb_cfg.bcn.bcna_option[1] !=
+                       adapter->dcb_cfg.bcn.bcna_option[1])
+                       adapter->dcb_set_bitmap |= BIT_BCN;
+               break;
        case DCB_BCN_ATTR_ALPHA:
                adapter->temp_dcb_cfg.bcn.rp_alpha = setting;
                if (adapter->temp_dcb_cfg.bcn.rp_alpha !=
 
        [DCB_BCN_ATTR_RP_6]         = {.type = NLA_U8},
        [DCB_BCN_ATTR_RP_7]         = {.type = NLA_U8},
        [DCB_BCN_ATTR_RP_ALL]       = {.type = NLA_FLAG},
+       [DCB_BCN_ATTR_BCNA_0]       = {.type = NLA_U32},
+       [DCB_BCN_ATTR_BCNA_1]       = {.type = NLA_U32},
        [DCB_BCN_ATTR_ALPHA]        = {.type = NLA_U32},
        [DCB_BCN_ATTR_BETA]         = {.type = NLA_U32},
        [DCB_BCN_ATTR_GD]           = {.type = NLA_U32},
                        goto err_bcn;
        }
 
-       for (i = DCB_BCN_ATTR_ALPHA; i <= DCB_BCN_ATTR_RI; i++) {
+       for (i = DCB_BCN_ATTR_BCNA_0; i <= DCB_BCN_ATTR_RI; i++) {
                if (!getall && !bcn_tb[i])
                        continue;
 
                        data[i]->nla_type - DCB_BCN_ATTR_RP_0, value_byte);
        }
 
-       for (i = DCB_BCN_ATTR_ALPHA; i <= DCB_BCN_ATTR_RI; i++) {
+       for (i = DCB_BCN_ATTR_BCNA_0; i <= DCB_BCN_ATTR_RI; i++) {
                if (data[i] == NULL)
                        continue;
                value_int = nla_get_u32(data[i]);