summaryrefslogtreecommitdiffhomepage
path: root/pkg/abi
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/abi')
-rw-r--r--pkg/abi/linux/linux_abi_autogen_unsafe.go8
-rw-r--r--pkg/abi/linux/socket.go94
2 files changed, 81 insertions, 21 deletions
diff --git a/pkg/abi/linux/linux_abi_autogen_unsafe.go b/pkg/abi/linux/linux_abi_autogen_unsafe.go
index 19f823232..5d10630f9 100644
--- a/pkg/abi/linux/linux_abi_autogen_unsafe.go
+++ b/pkg/abi/linux/linux_abi_autogen_unsafe.go
@@ -9048,9 +9048,9 @@ func (t *TCPInfo) MarshalBytes(dst []byte) {
dst = dst[8:]
usermem.ByteOrder.PutUint64(dst[:8], uint64(t.SndBufLimited))
dst = dst[8:]
- usermem.ByteOrder.PutUint32(dst[:4], uint32(t.Delievered))
+ usermem.ByteOrder.PutUint32(dst[:4], uint32(t.Delivered))
dst = dst[4:]
- usermem.ByteOrder.PutUint32(dst[:4], uint32(t.DelieveredCe))
+ usermem.ByteOrder.PutUint32(dst[:4], uint32(t.DeliveredCE))
dst = dst[4:]
usermem.ByteOrder.PutUint64(dst[:8], uint64(t.BytesSent))
dst = dst[8:]
@@ -9156,9 +9156,9 @@ func (t *TCPInfo) UnmarshalBytes(src []byte) {
src = src[8:]
t.SndBufLimited = uint64(usermem.ByteOrder.Uint64(src[:8]))
src = src[8:]
- t.Delievered = uint32(usermem.ByteOrder.Uint32(src[:4]))
+ t.Delivered = uint32(usermem.ByteOrder.Uint32(src[:4]))
src = src[4:]
- t.DelieveredCe = uint32(usermem.ByteOrder.Uint32(src[:4]))
+ t.DeliveredCE = uint32(usermem.ByteOrder.Uint32(src[:4]))
src = src[4:]
t.BytesSent = uint64(usermem.ByteOrder.Uint64(src[:8]))
src = src[8:]
diff --git a/pkg/abi/linux/socket.go b/pkg/abi/linux/socket.go
index cb33c37bd..185eee0bb 100644
--- a/pkg/abi/linux/socket.go
+++ b/pkg/abi/linux/socket.go
@@ -347,26 +347,57 @@ const SizeOfLinger = 8
//
// +marshal
type TCPInfo struct {
- State uint8
- CaState uint8
+ // State is the state of the connection.
+ State uint8
+
+ // CaState is the congestion control state.
+ CaState uint8
+
+ // Retransmits is the number of retransmissions triggered by RTO.
Retransmits uint8
- Probes uint8
- Backoff uint8
- Options uint8
- // WindowScale is the combination of snd_wscale (first 4 bits) and rcv_wscale (second 4 bits)
+
+ // Probes is the number of unanswered zero window probes.
+ Probes uint8
+
+ // BackOff indicates exponential backoff.
+ Backoff uint8
+
+ // Options indicates the options enabled for the connection.
+ Options uint8
+
+ // WindowScale is the combination of snd_wscale (first 4 bits) and
+ // rcv_wscale (second 4 bits)
WindowScale uint8
- // DeliveryRateAppLimited is a boolean and only the first bit is meaningful.
+
+ // DeliveryRateAppLimited is a boolean and only the first bit is
+ // meaningful.
DeliveryRateAppLimited uint8
- RTO uint32
- ATO uint32
+ // RTO is the retransmission timeout.
+ RTO uint32
+
+ // ATO is the acknowledgement timeout interval.
+ ATO uint32
+
+ // SndMss is the send maximum segment size.
SndMss uint32
+
+ // RcvMss is the receive maximum segment size.
RcvMss uint32
+ // Unacked is the number of packets sent but not acknowledged.
Unacked uint32
- Sacked uint32
- Lost uint32
+
+ // Sacked is the number of packets which are selectively acknowledged.
+ Sacked uint32
+
+ // Lost is the number of packets marked as lost.
+ Lost uint32
+
+ // Retrans is the number of retransmitted packets.
Retrans uint32
+
+ // Fackets is not used and is always zero.
Fackets uint32
// Times.
@@ -385,48 +416,77 @@ type TCPInfo struct {
Advmss uint32
Reordering uint32
- RcvRTT uint32
+ // RcvRTT is the receiver round trip time.
+ RcvRTT uint32
+
+ // RcvSpace is the current buffer space available for receiving data.
RcvSpace uint32
+ // TotalRetrans is the total number of retransmits seen since the start
+ // of the connection.
TotalRetrans uint32
- PacingRate uint64
+ // PacingRate is the pacing rate in bytes per second.
+ PacingRate uint64
+
+ // MaxPacingRate is the maximum pacing rate.
MaxPacingRate uint64
+
// BytesAcked is RFC4898 tcpEStatsAppHCThruOctetsAcked.
BytesAcked uint64
+
// BytesReceived is RFC4898 tcpEStatsAppHCThruOctetsReceived.
BytesReceived uint64
+
// SegsOut is RFC4898 tcpEStatsPerfSegsOut.
SegsOut uint32
+
// SegsIn is RFC4898 tcpEStatsPerfSegsIn.
SegsIn uint32
+ // NotSentBytes is the amount of bytes in the write queue that are not
+ // yet sent.
NotSentBytes uint32
- MinRTT uint32
+
+ // MinRTT is the minimum round trip time seen in the connection.
+ MinRTT uint32
+
// DataSegsIn is RFC4898 tcpEStatsDataSegsIn.
DataSegsIn uint32
+
// DataSegsOut is RFC4898 tcpEStatsDataSegsOut.
DataSegsOut uint32
+ // DeliveryRate is the most recent delivery rate in bytes per second.
DeliveryRate uint64
// BusyTime is the time in microseconds busy sending data.
BusyTime uint64
+
// RwndLimited is the time in microseconds limited by receive window.
RwndLimited uint64
+
// SndBufLimited is the time in microseconds limited by send buffer.
SndBufLimited uint64
- Delievered uint32
- DelieveredCe uint32
+ // Delivered is the total data packets delivered including retransmits.
+ Delivered uint32
+
+ // DeliveredCE is the total ECE marked data packets delivered including
+ // retransmits.
+ DeliveredCE uint32
// BytesSent is RFC4898 tcpEStatsPerfHCDataOctetsOut.
BytesSent uint64
+
// BytesRetrans is RFC4898 tcpEStatsPerfOctetsRetrans.
BytesRetrans uint64
+
// DSACKDups is RFC4898 tcpEStatsStackDSACKDups.
DSACKDups uint32
- // ReordSeen is the number of reordering events seen.
+
+ // ReordSeen is the number of reordering events seen since the start of
+ // the connection.
ReordSeen uint32
}