// 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.
/**
* probe netdev.receive - Data recieved from network device.
* @dev_name: The name of the device. e.g: eth0, ath1.
* @length: The length of the receiving buffer.
* @protocol: Protocol of recieved packet.
*
*/
/// 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
}
/**
* probe netdev.transmit - Network device transmitting buffer
* @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
}