tEplKernel Ret = kEplSuccessful;
 
        //open the device
-//    struct net_device_stats* pStats = (struct net_device_stats*)pNetDevice_p->priv;
+//     struct net_device_stats* pStats = netdev_priv(pNetDevice_p);
 
        //start the interface queue for the network subsystem
        netif_start_queue(pNetDevice_p);
        tEplFrameInfo FrameInfo;
 
        //transmit function
-       struct net_device_stats *pStats =
-           (struct net_device_stats *)pNetDevice_p->priv;
+       struct net_device_stats *pStats = netdev_priv(pNetDevice_p);
 
        //save timestemp
        pNetDevice_p->trans_start = jiffies;
 {
        EPL_DBGLVL_VETH_TRACE0("VEthGetStats\n");
 
-       return (struct net_device_stats *)pNetDevice_p->priv;
+       return netdev_priv(pNetDevice_p);
 }
 
 static void VEthTimeout(struct net_device *pNetDevice_p)
 {
        tEplKernel Ret = kEplSuccessful;
        struct net_device *pNetDevice = pVEthNetDevice_g;
-       struct net_device_stats *pStats =
-           (struct net_device_stats *)pNetDevice->priv;
+       struct net_device_stats *pStats = netdev_priv(pNetDevice);
        struct sk_buff *pSkb;
 
        EPL_DBGLVL_VETH_TRACE1("VEthRecvFrame: FrameSize=%u\n",