mfcs.mfcs_packets = c->mfc_un.res.pkt;
        mfcs.mfcs_bytes = c->mfc_un.res.bytes;
        mfcs.mfcs_wrong_if = c->mfc_un.res.wrong_if;
-       if (nla_put(skb, RTA_MFC_STATS, sizeof(mfcs), &mfcs) < 0)
+       if (nla_put_64bit(skb, RTA_MFC_STATS, sizeof(mfcs), &mfcs, RTA_PAD) < 0)
                return -EMSGSIZE;
 
        rtm->rtm_type = RTN_MULTICAST;
                      + nla_total_size(0)       /* RTA_MULTIPATH */
                      + maxvif * NLA_ALIGN(sizeof(struct rtnexthop))
                                                /* RTA_MFC_STATS */
-                     + nla_total_size(sizeof(struct rta_mfc_stats))
+                     + nla_total_size_64bit(sizeof(struct rta_mfc_stats))
                ;
 
        return len;