master/debug.c
changeset 471 0a6bd71bf4d3
parent 455 204c435fddf9
child 687 6de97f276423
equal deleted inserted replaced
470:4ec31555832b 471:0a6bd71bf4d3
    47 /*****************************************************************************/
    47 /*****************************************************************************/
    48 
    48 
    49 // net_device functions
    49 // net_device functions
    50 int ec_dbgdev_open(struct net_device *);
    50 int ec_dbgdev_open(struct net_device *);
    51 int ec_dbgdev_stop(struct net_device *);
    51 int ec_dbgdev_stop(struct net_device *);
       
    52 int ec_dbgdev_tx(struct sk_buff *, struct net_device *);
    52 struct net_device_stats *ec_dbgdev_stats(struct net_device *);
    53 struct net_device_stats *ec_dbgdev_stats(struct net_device *);
    53 
    54 
    54 /*****************************************************************************/
    55 /*****************************************************************************/
    55 
    56 
    56 /**
    57 /**
    72     }
    73     }
    73 
    74 
    74     // initialize net_device
    75     // initialize net_device
    75     dbg->dev->open = ec_dbgdev_open;
    76     dbg->dev->open = ec_dbgdev_open;
    76     dbg->dev->stop = ec_dbgdev_stop;
    77     dbg->dev->stop = ec_dbgdev_stop;
       
    78     dbg->dev->hard_start_xmit = ec_dbgdev_tx;
    77     dbg->dev->get_stats = ec_dbgdev_stats;
    79     dbg->dev->get_stats = ec_dbgdev_stats;
    78 
    80 
    79     // initialize private data
    81     // initialize private data
    80     *((ec_debug_t **) netdev_priv(dbg->dev)) = dbg;
    82     *((ec_debug_t **) netdev_priv(dbg->dev)) = dbg;
    81 
    83 
   175 }
   177 }
   176 
   178 
   177 /*****************************************************************************/
   179 /*****************************************************************************/
   178 
   180 
   179 /**
   181 /**
       
   182    Transmits data via the virtual network device.
       
   183 */
       
   184 
       
   185 int ec_dbgdev_tx(struct sk_buff *skb, /**< transmit socket buffer */
       
   186                  struct net_device *dev /**< EoE net_device */
       
   187                  )
       
   188 {
       
   189     ec_debug_t *dbg = *((ec_debug_t **) netdev_priv(dev));
       
   190 
       
   191     dev_kfree_skb(skb);
       
   192     dbg->stats.tx_dropped++;
       
   193     return 0;
       
   194 }
       
   195 
       
   196 /*****************************************************************************/
       
   197 
       
   198 /**
   180    Gets statistics about the virtual network device.
   199    Gets statistics about the virtual network device.
   181 */
   200 */
   182 
   201 
   183 struct net_device_stats *ec_dbgdev_stats(struct net_device *dev
   202 struct net_device_stats *ec_dbgdev_stats(struct net_device *dev
   184                                          /**< debug net_device */)
   203                                          /**< debug net_device */)