From 2b0041da50855dd2193daa5f65ee591ddb95b1e0 Mon Sep 17 00:00:00 2001 From: Florian Pose Date: Tue, 31 Oct 2006 15:32:57 +0000 Subject: [PATCH] Fixed debug interfaces. --- configure.ac | 2 +- master/debug.c | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 87b9f96c..a8f44673 100644 --- a/configure.ac +++ b/configure.ac @@ -56,7 +56,7 @@ AC_MSG_RESULT($LINUX_SOURCE_DIR) # Debug interface #------------------------------------------------------------------------------ -AC_ARG_ENABLE([debug-if], +AC_ARG_ENABLE([dbg-if], AS_HELP_STRING([--enable-dbg-if], [Create a debug interface for each master @<:@NO@:>@]), [ diff --git a/master/debug.c b/master/debug.c index 513bf87c..98c0f2c3 100644 --- a/master/debug.c +++ b/master/debug.c @@ -49,6 +49,7 @@ // net_device functions int ec_dbgdev_open(struct net_device *); int ec_dbgdev_stop(struct net_device *); +int ec_dbgdev_tx(struct sk_buff *, struct net_device *); struct net_device_stats *ec_dbgdev_stats(struct net_device *); /*****************************************************************************/ @@ -74,6 +75,7 @@ int ec_debug_init(ec_debug_t *dbg /**< debug object */) // initialize net_device dbg->dev->open = ec_dbgdev_open; dbg->dev->stop = ec_dbgdev_stop; + dbg->dev->hard_start_xmit = ec_dbgdev_tx; dbg->dev->get_stats = ec_dbgdev_stats; // initialize private data @@ -176,6 +178,23 @@ int ec_dbgdev_stop(struct net_device *dev /**< debug net_device */) /*****************************************************************************/ +/** + Transmits data via the virtual network device. +*/ + +int ec_dbgdev_tx(struct sk_buff *skb, /**< transmit socket buffer */ + struct net_device *dev /**< EoE net_device */ + ) +{ + ec_debug_t *dbg = *((ec_debug_t **) netdev_priv(dev)); + + dev_kfree_skb(skb); + dbg->stats.tx_dropped++; + return 0; +} + +/*****************************************************************************/ + /** Gets statistics about the virtual network device. */