in pkg/tcp_metrics/inetdiag/inetdiag.go [123:141]
func MakeReq(inetType uint8) *nl.NetlinkRequest {
req := nl.NewNetlinkRequest(SOCK_DIAG_BY_FAMILY, syscall.NLM_F_DUMP|syscall.NLM_F_REQUEST)
msg := NewReqV2(inetType, syscall.IPPROTO_TCP,
tcp.AllFlags & ^((1<<uint(tcp.SYN_RECV))|(1<<uint(tcp.TIME_WAIT))|(1<<uint(tcp.CLOSE))))
msg.IDiagExt |= (1 << (INET_DIAG_MEMINFO - 1))
msg.IDiagExt |= (1 << (INET_DIAG_INFO - 1))
msg.IDiagExt |= (1 << (INET_DIAG_VEGASINFO - 1))
msg.IDiagExt |= (1 << (INET_DIAG_CONG - 1))
msg.IDiagExt |= (1 << (INET_DIAG_TCLASS - 1))
msg.IDiagExt |= (1 << (INET_DIAG_TOS - 1))
msg.IDiagExt |= (1 << (INET_DIAG_SKMEMINFO - 1))
msg.IDiagExt |= (1 << (INET_DIAG_SHUTDOWN - 1))
req.AddData(msg)
req.NlMsghdr.Type = SOCK_DIAG_BY_FAMILY
req.NlMsghdr.Flags |= syscall.NLM_F_DUMP | syscall.NLM_F_REQUEST
return req
}