lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Fri, 09 Apr 2010 16:39:56 +0900 From: Koki Sanagi <sanagi.koki@...fujitsu.com> To: netdev@...r.kernel.org CC: izumi.taku@...fujitsu.com, kaneshige.kenji@...fujitsu.com, davem@...emloft.net, nhorman@...driver.com Subject: [RFC PATCH 1/2] netdev: Add tracepoint to dev_hard_start_xmit This patch adds tracepoint to dev_hard_start_xmit. It notices that xmit packet passes network/driver interface. An output is below. sshd-2443 [001] 68238.415621: netdev_start_xmit: dev=eth3 skbaddr=f3db5138 len=114 sshd-2443 [001] 68238.705459: netdev_start_xmit: dev=eth3 skbaddr=f3db5138 len=114 sshd-2443 [001] 68238.880361: netdev_start_xmit: dev=eth3 skbaddr=f3db5138 len=114 Signed-off-by: Koki Sanagi <sanagi.koki@...fujitsu.com> --- include/trace/events/skb.h | 28 ++++++++++++++++++++++++++++ net/core/dev.c | 3 +++ 2 files changed, 31 insertions(+), 0 deletions(-) diff --git a/include/trace/events/skb.h b/include/trace/events/skb.h index 4b2be6d..425a062 100644 --- a/include/trace/events/skb.h +++ b/include/trace/events/skb.h @@ -9,6 +9,34 @@ #include <linux/tracepoint.h> /* + * netdev_start_xmit - invoked when skb is passed to the driver + * @skb: pointer to struct sk_buff + * @dev: pointer to struct net_device + */ +TRACE_EVENT(netdev_start_xmit, + + TP_PROTO(struct sk_buff *skb, + struct net_device *dev), + + TP_ARGS(skb, dev), + + TP_STRUCT__entry( + __field( const void *, skbaddr ) + __field( unsigned int, len ) + __string( name, dev->name ) + ), + + TP_fast_assign( + __entry->skbaddr = skb; + __entry->len = skb->len; + __assign_str(name, dev->name); + ), + + TP_printk("dev=%s skbaddr=%p len=%u", + __get_str(name), __entry->skbaddr, __entry->len) +); + +/* * Tracepoint for free an sk_buff: */ TRACE_EVENT(kfree_skb, diff --git a/net/core/dev.c b/net/core/dev.c index 2a9b7dd..4667a96 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -129,6 +129,7 @@ #include <linux/jhash.h> #include <linux/random.h> #include <trace/events/napi.h> +#include <trace/events/skb.h> #include <linux/pci.h> #include "net-sysfs.h" @@ -1903,6 +1904,7 @@ int dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev, if (dev->priv_flags & IFF_XMIT_DST_RELEASE) skb_dst_drop(skb); + trace_netdev_start_xmit(skb, dev); rc = ops->ndo_start_xmit(skb, dev); if (rc == NETDEV_TX_OK) txq_trans_update(txq); @@ -1937,6 +1939,7 @@ gso: if (dev->priv_flags & IFF_XMIT_DST_RELEASE) skb_dst_drop(nskb); + trace_netdev_start_xmit(nskb, dev); rc = ops->ndo_start_xmit(nskb, dev); if (unlikely(rc != NETDEV_TX_OK)) { if (rc & ~NETDEV_TX_MASK) -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists