diff options
author | Bhasker Hariharan <bhaskerh@google.com> | 2019-04-23 17:46:13 -0700 |
---|---|---|
committer | Shentubot <shentubot@google.com> | 2019-04-23 17:47:56 -0700 |
commit | 56cadcac4e275e1f49dccf7735a79af469991860 (patch) | |
tree | 49aeac225ba697a929e656e3f3ba865d0be84501 /pkg/tcpip/stack/linkaddrcache.go | |
parent | 7c9c5fd36dbff21cf255aaf08278729b02613222 (diff) |
Fixes to PacketMMap dispatcher.
This CL fixes the following bugs:
- Uses atomic to set/read status instead of binary.LittleEndian.PutUint32 etc
which are not atomic.
- Increments ringOffsets for frames that are truncated (i.e status is
tpStatusCopy)
- Does not ignore frames with tpStatusLost bit set as they are valid frames and
only indicate that there some frames were lost before this one and metrics can
be retrieved with a getsockopt call.
- Adds checks to make sure blockSize is a multiple of page size. This is
required as the kernel allocates in pages per block and rejects sizes that are
not page aligned with an EINVAL.
Updates #210
PiperOrigin-RevId: 244959464
Change-Id: I5d61337b7e4c0f8a3063dcfc07791d4c4521ba1f
Diffstat (limited to 'pkg/tcpip/stack/linkaddrcache.go')
0 files changed, 0 insertions, 0 deletions