# Functions
NewReqV2 creates a new request.
SplitInetDiagMsg pulls the InetDiagMsg out, and returns the msg and the remaining data slice.
# Constants
NOTE: windows does not have unix.AF_INET available.
NOTE: darwin unix.AF_INET6 and syscall.AF_INET6 are incorrect for our purposes (0x1e), so, we set this explicitly.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
TODO - Should check whether this matches the current linux header.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Protocol_IPPROTO_DCCP indicates DCCP traffic.
Protocol_IPPROTO_TCP indicates TCP traffic.
Protocol_IPPROTO_UDP indicates UDP traffic.
Protocol_IPPROTO_UNUSED ...
RTA_ALIGNTO previously came from syscall, but explicit here to work on Darwin.
Should be 0x38.
uapi/linux/sock_diag.h.
# Variables
ErrBadMsgData is used when the NHetlink response has bad or missing data.
ErrBadPid is used when the PID is mismatched between the netlink socket and the calling process.
ErrBadSequence is used when the Netlink response has a bad sequence number.
ErrParseFailed is returned if InetDiagMsg parsing fails.
ErrUnknownAF is returned when the InetDiagMsg.IDiagFamily is unknown.
InetDiagType provides human readable strings for decoding attribute types.
ProtocolName is used to convert Protocol values to strings.
# Structs
BBRInfo implements the struct associated with INET_DIAG_BBRINFO attribute, corresponding with linux struct tcp_bbr_info in uapi/linux/inet_diag.h.
DCTCPInfo implements the struct associated with INET_DIAG_DCTCPINFO attribute, corresponding with linux struct tcp_dctcp_info in uapi/linux/inet_diag.h.
HostCond is related to filters.
InetDiagMsg is the linux binary representation of a InetDiag message header, as in linux/inet_diag.h Note that netlink messages use host byte ordering, unless NLA_F_NET_BYTEORDER flag is present.
LinuxSockID is the binary linux representation of a socket, as in linux/inet_diag.h Linux code comments indicate this struct uses the network byte order!!! All fields are ignored for bigquery, and handled in code.
MarkCond is related to filters.
MemInfo implements the struct associated with INET_DIAG_MEMINFO, corresponding with linux struct inet_diag_meminfo in uapi/linux/inet_diag.h.
ReqV2 is the Netlink request struct, as in linux/inet_diag.h Note that netlink messages use host byte ordering, unless NLA_F_NET_BYTEORDER flag is present.
SocketMemInfo implements the struct associated with INET_DIAG_SKMEMINFO Haven't found a corresponding linux struct, but the message is described in https://manpages.debian.org/stretch/manpages/sock_diag.7.en.html.
SockID is the natural golang struct equivalent of LinuxSockID.
VegasInfo implements the struct associated with INET_DIAG_VEGASINFO, corresponding with linux struct tcpvegas_info in uapi/linux/inet_diag.h.
# Type aliases
Port encodes a LinuxSockID Port.
Protocol defines the type corresponding to INET_DIAG_PROTOCOL 8 bit field.
RawInetDiagMsg holds the []byte representation of an InetDiagMsg.