Fields
Network device name from
dev->name.Examples: "eth0", "wlan0", "br0", "veth1234"Interface index from
dev->ifindex.This is the kernel’s numeric identifier for the device, used by APIs like ip link.Receive interface index from
skb->skb_iif.This is the interface where the packet was originally received, which may differ from the current device (e.g., after forwarding or bridging).Display Format
Examples
Single interface:Example JSON
Basic Interface
Interface with RX Info
Virtual Ethernet Pair
Bridge Interface
Complete Event Example
When This Section Appears
The dev section is populated when:- The probe has access to a
struct net_device *parameter - The device pointer is valid and readable
- The collector can retrieve device information
__netif_receive_skb_coredev_queue_xmitdev_hard_start_xmit- Bridge and routing functions
Receive Interface vs. Current Interface
The distinction betweenifindex and rx_ifindex is important:
ifindex (current device):
- The device currently processing the packet
- Changes as packet moves through the stack
- Used for output decisions
- The device where packet entered the system
- Preserved throughout processing
- Used for policy decisions (e.g., firewall rules)
Example: Forwarded Packet
- Packet was received on interface 2 (
rx_ifindex) - Packet is now being processed on interface 3 (
ifindex) - Packet is being forwarded from eth0 (ifindex 2) to eth1 (ifindex 3)
Mapping to System Interfaces
Useip link to map interface indexes to names:
ifindex values.
Display with Network Namespace
The dev section is often displayed on the same line as the netns section:The
name field may be empty in rare cases where the device structure is being initialized or torn down. The ifindex is always present and can be used to identify the device.