net/tipc/trace.h
Source file repositories/reference/linux-study-clean/net/tipc/trace.h
File Facts
- System
- Linux kernel
- Corpus path
net/tipc/trace.h- Extension
.h- Size
- 13198 bytes
- Lines
- 435
- Domain
- Networking Core
- Bucket
- Sockets, Protocols, Packet Path, And Network Policy
- Inferred role
- Networking Core: implementation source
- Status
- source implementation candidate
Why This File Exists
Networking stack implementation surface: socket APIs, protocol dispatch, packet flow, routing, filtering, and network namespaces.
- Networking stack implementation surface: socket APIs, protocol dispatch, packet flow, routing, filtering, and network namespaces.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/tracepoint.hcore.hlink.hsocket.hnode.htrace/define_trace.h
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
Annotated Snippet
#undef TRACE_SYSTEM
#define TRACE_SYSTEM tipc
#if !defined(_TIPC_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)
#define _TIPC_TRACE_H
#include <linux/tracepoint.h>
#include "core.h"
#include "link.h"
#include "socket.h"
#include "node.h"
#define SKB_LMIN (100)
#define SKB_LMAX (SKB_LMIN * 2)
#define LIST_LMIN (SKB_LMIN * 3)
#define LIST_LMAX (SKB_LMIN * 11)
#define SK_LMIN (SKB_LMIN * 2)
#define SK_LMAX (SKB_LMIN * 11)
#define LINK_LMIN (SKB_LMIN)
#define LINK_LMAX (SKB_LMIN * 16)
#define NODE_LMIN (SKB_LMIN)
#define NODE_LMAX (SKB_LMIN * 11)
#ifndef __TIPC_TRACE_ENUM
#define __TIPC_TRACE_ENUM
enum {
TIPC_DUMP_NONE = 0,
TIPC_DUMP_TRANSMQ = 1,
TIPC_DUMP_BACKLOGQ = (1 << 1),
TIPC_DUMP_DEFERDQ = (1 << 2),
TIPC_DUMP_INPUTQ = (1 << 3),
TIPC_DUMP_WAKEUP = (1 << 4),
TIPC_DUMP_SK_SNDQ = (1 << 8),
TIPC_DUMP_SK_RCVQ = (1 << 9),
TIPC_DUMP_SK_BKLGQ = (1 << 10),
TIPC_DUMP_ALL = 0xffffu
};
#endif
/* Link & Node FSM states: */
#define state_sym(val) \
__print_symbolic(val, \
{(0xe), "ESTABLISHED" },\
{(0xe << 4), "ESTABLISHING" },\
{(0x1 << 8), "RESET" },\
{(0x2 << 12), "RESETTING" },\
{(0xd << 16), "PEER_RESET" },\
{(0xf << 20), "FAILINGOVER" },\
{(0xc << 24), "SYNCHING" },\
{(0xdd), "SELF_DOWN_PEER_DOWN" },\
{(0xaa), "SELF_UP_PEER_UP" },\
{(0xd1), "SELF_DOWN_PEER_LEAVING" },\
{(0xac), "SELF_UP_PEER_COMING" },\
{(0xca), "SELF_COMING_PEER_UP" },\
{(0x1d), "SELF_LEAVING_PEER_DOWN" },\
{(0xf0), "FAILINGOVER" },\
{(0xcc), "SYNCHING" })
/* Link & Node FSM events: */
#define evt_sym(val) \
__print_symbolic(val, \
{(0xec1ab1e), "ESTABLISH_EVT" },\
{(0x9eed0e), "PEER_RESET_EVT" },\
{(0xfa110e), "FAILURE_EVT" },\
{(0x10ca1d0e), "RESET_EVT" },\
{(0xfa110bee), "FAILOVER_BEGIN_EVT" },\
{(0xfa110ede), "FAILOVER_END_EVT" },\
{(0xc1ccbee), "SYNCH_BEGIN_EVT" },\
{(0xc1ccede), "SYNCH_END_EVT" },\
{(0xece), "SELF_ESTABL_CONTACT_EVT" },\
{(0x1ce), "SELF_LOST_CONTACT_EVT" },\
{(0x9ece), "PEER_ESTABL_CONTACT_EVT" },\
{(0x91ce), "PEER_LOST_CONTACT_EVT" },\
{(0xfbe), "FAILOVER_BEGIN_EVT" },\
{(0xfee), "FAILOVER_END_EVT" },\
{(0xcbe), "SYNCH_BEGIN_EVT" },\
{(0xcee), "SYNCH_END_EVT" })
/* Bearer, net device events: */
#define dev_evt_sym(val) \
__print_symbolic(val, \
{(NETDEV_CHANGE), "NETDEV_CHANGE" },\
{(NETDEV_GOING_DOWN), "NETDEV_GOING_DOWN" },\
{(NETDEV_UP), "NETDEV_UP" },\
{(NETDEV_CHANGEMTU), "NETDEV_CHANGEMTU" },\
{(NETDEV_CHANGEADDR), "NETDEV_CHANGEADDR" },\
{(NETDEV_UNREGISTER), "NETDEV_UNREGISTER" },\
{(NETDEV_CHANGENAME), "NETDEV_CHANGENAME" })
Annotation
- Immediate include surface: `linux/tracepoint.h`, `core.h`, `link.h`, `socket.h`, `node.h`, `trace/define_trace.h`.
- Atlas domain: Networking Core / Sockets, Protocols, Packet Path, And Network Policy.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.