Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[bugfix] Switch all packet stats / counters to uint64 #53

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions capture/afpacket/afpacket/afpacket.go
Original file line number Diff line number Diff line change
Expand Up @@ -234,8 +234,8 @@ func (s *Source) Stats() (capture.Stats, error) {
return capture.Stats{}, err
}
return capture.Stats{
PacketsReceived: int(ss.Packets),
PacketsDropped: int(ss.Drops),
PacketsReceived: uint64(ss.Packets),
PacketsDropped: uint64(ss.Drops),
}, nil
}

Expand Down
6 changes: 3 additions & 3 deletions capture/afpacket/afpacket/afpacket_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@ func TestPipe(t *testing.T) {
require.Nil(t, <-errChan)
stats, err := mockSrc.Stats()
require.Nil(t, err)
require.Equal(t, capture.Stats{PacketsReceived: int(n * n)}, stats)
require.Equal(t, capture.Stats{PacketsReceived: uint64(n * n)}, stats)
require.Nil(t, mockSrc.Close())
}()

Expand All @@ -219,7 +219,7 @@ func TestPipe(t *testing.T) {
require.Nil(t, <-errChan2)
stats, err := mockSrc2.Stats()
require.Nil(t, err)
require.Equal(t, capture.Stats{PacketsReceived: int(n * n)}, stats)
require.Equal(t, capture.Stats{PacketsReceived: uint64(n * n)}, stats)
require.Nil(t, mockSrc2.Close())
}

Expand Down Expand Up @@ -342,7 +342,7 @@ func testCaptureMethods(t *testing.T, fn func(t *testing.T, src *MockSource, i,
// Evaluate packet statistics
stats, err := mockSrc.Stats()
require.Nil(t, err)
require.Equal(t, capture.Stats{PacketsReceived: int(n * n)}, stats)
require.Equal(t, capture.Stats{PacketsReceived: uint64(n * n)}, stats)

// Close the mock source
require.Nil(t, mockSrc.Close())
Expand Down
6 changes: 3 additions & 3 deletions capture/afpacket/afring/afring.go
Original file line number Diff line number Diff line change
Expand Up @@ -274,9 +274,9 @@ func (s *Source) Stats() (capture.Stats, error) {
return capture.Stats{}, err
}
return capture.Stats{
PacketsReceived: int(ss.Packets),
PacketsDropped: int(ss.Drops),
QueueFreezes: int(ss.QueueFreezes),
PacketsReceived: uint64(ss.Packets),
PacketsDropped: uint64(ss.Drops),
QueueFreezes: uint64(ss.QueueFreezes),
}, nil
}

Expand Down
6 changes: 3 additions & 3 deletions capture/afpacket/afring/afring_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -361,7 +361,7 @@ func TestPipe(t *testing.T) {
require.Nil(t, <-errChan)
stats, err := mockSrc.Stats()
require.Nil(t, err)
require.Equal(t, capture.Stats{PacketsReceived: int(n * n)}, stats)
require.Equal(t, capture.Stats{PacketsReceived: uint64(n * n)}, stats)
require.Nil(t, mockSrc.Close())
}()

Expand Down Expand Up @@ -390,7 +390,7 @@ func TestPipe(t *testing.T) {
require.Nil(t, <-errChan2)
stats, err := mockSrc2.Stats()
require.Nil(t, err)
require.Equal(t, capture.Stats{PacketsReceived: int(n * n)}, stats)
require.Equal(t, capture.Stats{PacketsReceived: uint64(n * n)}, stats)
require.Nil(t, mockSrc2.Close())
}

Expand Down Expand Up @@ -561,7 +561,7 @@ func testCaptureMethods(t *testing.T, fn func(t *testing.T, _ *MockSource, _, _
// Evaluate packet statistics
stats, err := mockSrc.Stats()
require.Nil(t, err)
require.Equal(t, capture.Stats{PacketsReceived: int(n * n)}, stats)
require.Equal(t, capture.Stats{PacketsReceived: uint64(n * n)}, stats)

// Close the mock source
require.Nil(t, mockSrc.Close())
Expand Down
6 changes: 3 additions & 3 deletions capture/capture.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@ var (

// Stats denotes a packet capture stats structure providing basic counters
type Stats struct {
PacketsReceived int
PacketsDropped int
QueueFreezes int
PacketsReceived uint64
PacketsDropped uint64
QueueFreezes uint64
}

// PacketType denotes the packet type (indicating traffic direction)
Expand Down
2 changes: 1 addition & 1 deletion capture/pcap/pcap.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ type Source struct {

link *link.Link

nPackets int
nPackets uint64
swapEndianess bool

packetAddCallbackFn func(payload []byte, totalLen uint32, pktType, ipLayerOffset byte)
Expand Down