I40E_NETDEV_STAT(rx_errors),
        I40E_NETDEV_STAT(tx_errors),
        I40E_NETDEV_STAT(rx_dropped),
+       I40E_NETDEV_STAT(rx_missed_errors),
        I40E_NETDEV_STAT(tx_dropped),
        I40E_NETDEV_STAT(collisions),
        I40E_NETDEV_STAT(rx_length_errors),
        I40E_PF_STAT("port.rx_broadcast", stats.eth.rx_broadcast),
        I40E_PF_STAT("port.tx_broadcast", stats.eth.tx_broadcast),
        I40E_PF_STAT("port.tx_errors", stats.eth.tx_errors),
-       I40E_PF_STAT("port.rx_dropped", stats.eth.rx_discards),
+       I40E_PF_STAT("port.rx_discards", stats.eth.rx_discards),
        I40E_PF_STAT("port.tx_dropped_link_down", stats.tx_dropped_link_down),
        I40E_PF_STAT("port.rx_crc_errors", stats.crc_errors),
        I40E_PF_STAT("port.illegal_bytes", stats.illegal_bytes),
 
        stats->tx_dropped       = vsi_stats->tx_dropped;
        stats->rx_errors        = vsi_stats->rx_errors;
        stats->rx_dropped       = vsi_stats->rx_dropped;
+       stats->rx_missed_errors = vsi_stats->rx_missed_errors;
        stats->rx_crc_errors    = vsi_stats->rx_crc_errors;
        stats->rx_length_errors = vsi_stats->rx_length_errors;
 }
                              struct i40e_eth_stats *stat_offset,
                              struct i40e_eth_stats *stat)
 {
-       u64 rx_rdpc, rx_rxerr;
-
        i40e_stat_update32(hw, I40E_GLV_RDPC(stat_idx), offset_loaded,
-                          &stat_offset->rx_discards, &rx_rdpc);
+                          &stat_offset->rx_discards, &stat->rx_discards);
        i40e_stat_update64(hw,
                           I40E_GL_RXERR1H(i40e_compute_pci_to_hw_id(vsi, hw)),
                           I40E_GL_RXERR1L(i40e_compute_pci_to_hw_id(vsi, hw)),
                           offset_loaded, &stat_offset->rx_discards_other,
-                          &rx_rxerr);
-
-       stat->rx_discards = rx_rdpc + rx_rxerr;
+                          &stat->rx_discards_other);
 }
 
 /**
        i40e_stat_update32(hw, I40E_GLV_TEPC(stat_idx),
                           vsi->stat_offsets_loaded,
                           &oes->tx_errors, &es->tx_errors);
-       i40e_stat_update32(hw, I40E_GLV_RDPC(stat_idx),
-                          vsi->stat_offsets_loaded,
-                          &oes->rx_discards, &es->rx_discards);
        i40e_stat_update32(hw, I40E_GLV_RUPP(stat_idx),
                           vsi->stat_offsets_loaded,
                           &oes->rx_unknown_protocol, &es->rx_unknown_protocol);
        ns->tx_errors = es->tx_errors;
        ons->multicast = oes->rx_multicast;
        ns->multicast = es->rx_multicast;
-       ons->rx_dropped = oes->rx_discards;
-       ns->rx_dropped = es->rx_discards;
+       ons->rx_dropped = oes->rx_discards_other;
+       ns->rx_dropped = es->rx_discards_other;
+       ons->rx_missed_errors = oes->rx_discards;
+       ns->rx_missed_errors = es->rx_discards;
        ons->tx_dropped = oes->tx_discards;
        ns->tx_dropped = es->tx_discards;