github.com/aporeto-inc/trireme-lib@v10.358.0+incompatible/utils/nfqparser/nfqlayout.go (about)

     1  package nfqparser
     2  
     3  import "fmt"
     4  
     5  // NFQLayout is the layout of /proc/net/netfilter/nfnetlink_queue
     6  type NFQLayout struct {
     7  	QueueNum string
     8  	// process ID of software listening to the queue
     9  	PeerPortID string
    10  	// current number of packets waiting in the queue
    11  	QueueTotal string
    12  	// 0 and 1 only message only provide meta data. If 2, the message provides a part of packet of size copy range.
    13  	CopyMode string
    14  	// length of packet data to put in message
    15  	CopyRange string
    16  	// number of packets dropped because queue was full
    17  	QueueDropped string
    18  	// number of packets dropped because netlink message could not be sent to userspace.
    19  	// If this counter is not zero, try to increase netlink buffer size. On the application side,
    20  	// you will see gap in packet id if netlink message are lost.
    21  	UserDropped string
    22  	// packet id of last packet
    23  	IDSequence string
    24  }
    25  
    26  //  String returns string representation of particular queue
    27  func (n *NFQLayout) String() string {
    28  
    29  	if n == nil {
    30  		return ""
    31  	}
    32  
    33  	return fmt.Sprintf("%v", *n)
    34  }