// networking tapset // Copyright (C) 2005, 2006 IBM Corp. // // This file is part of systemtap, and is free software. You can // redistribute it and/or modify it under the terms of the GNU General // Public License (GPL); either version 2, or (at your option) any // later version. /// /// Networking Tapset /// /// This family of probe points is used to probe the activities of /// network device. /// %{ #include %} /// /// netdev.receive /// netdev.receive /// Fires when data arrives on network device. /// /// /// Arguments: /// dev_name /// /// The name of the device. e.g: eth0, ath1 /// /// /// /// length /// /// The length of the receiving buffer /// /// /// /// protocol /// The possible values of protocol could be: /// Protocol Values /// /// /// /// /// Value(Hex)Protocol /// /// /// 0001802.3 /// 0002AX.25 /// 0004802.2 /// 0005SNAP /// 0009Localtalk /// 0800IP /// 0805X.25 /// 0806ARP /// 8035RARP /// 8100802.1Q VLAN /// 8137IPX /// 86DDIPv6 /// /// ///
///
///
/// /// truesize /// /// The size of the received data. /// /// /// ///
///
/* Main device receive routine, be called when packet arrives on network device */ probe netdev.receive = kernel.function("netif_receive_skb") { dev_name = kernel_string($skb->dev->name) length = $skb->len protocol = $skb->protocol truesize = $skb->truesize } /// /// netdev.transmit /// netdev.transmit /// Fires when the network device wants to transmit a buffer. /// /// /// Arguments: /// dev_name /// /// The name of the device. e.g: eth0, ath1 /// /// /// /// length /// /// The length of the transmit buffer /// /// /// /// protocol /// /// The protocol of this packet. /// /// /// /// truesize /// /// The size of the the data to be transmitted. /// /// /// /// /// /* Queue a buffer for transmission to a network device */ probe netdev.transmit = kernel.function("dev_queue_xmit") { dev_name = kernel_string($skb->dev->name) length = $skb->len protocol = $skb->protocol truesize = $skb->truesize } ///