Age | Commit message (Collapse) | Author |
|
PiperOrigin-RevId: 306726587
|
|
Rather than have a struct for the state of each type of connection, such as
TCP/IPv4, UDP/IPv4, TCP/IPv6, etc, have a state for each layer, such as UDP,
TCP, IPv4, IPv6. Those states can be composed into connections.
Tested:
Existing unit tests still pass/fail as expected.
PiperOrigin-RevId: 306703180
|
|
Attempt to redeliver TCP segments that are enqueued into a closing
TCP endpoint. This was being done for Established endpoints but not
for those that are listening or performing connection handshake.
Fixes #2417
PiperOrigin-RevId: 306598155
|
|
TCP, in ESTABLISHED state, SHOULD piggyback acknowledgement with a segment being
transmitted (whenever possible) without incurring undue delay
PiperOrigin-RevId: 306474550
|
|
Add Sniffer.Drain() which drains the socket's receive buffer by temporarily
setting the socket to non-blocking, and receiving in a loop until EINTR,
EWOULDBLOCK or EAGAIN. This method should be used when long periods of time
elapses without receiving on the socket, because uninteresting packets may have
piled up in the receive buffer, filling it up and causing packets critical to
test operation to be dropped.
PiperOrigin-RevId: 306380480
|
|
This makes the code shorter and less repetitive.
TESTED:
All unit tests still pass.
PiperOrigin-RevId: 306161475
|
|
Tested:
Looked at output of failing tests.
PiperOrigin-RevId: 306031407
|
|
PiperOrigin-RevId: 305879441
|
|
Dereference any fields which are pointers before string formatting so that the
value pointed to ends up in the string representation.
Tested:
Added TestLayerStringFormat to
//third_party/gvisor/test/packetimpact/testbench:testbench_test
PiperOrigin-RevId: 305627821
|
|
PiperOrigin-RevId: 305466309
|
|
RFC 1122 Section 3.7: A sending TCP MUST be robust against window shrinking,
which may cause the "useable window" to become negative.
PiperOrigin-RevId: 305377072
|
|
PiperOrigin-RevId: 305341059
|
|
PiperOrigin-RevId: 305157179
|
|
Tested:
Sample output for printing 3 different Layer structs:
&testbench.Ether{SrcAddr:02:42:c4:77:5d:14 DstAddr:02:42:c4:77:5d:0a}
&testbench.IPv4{SrcAddr:196.119.93.20 DstAddr:224.0.0.1}
&testbench.UDP{SrcPort:0xc00033b260 DstPort:0xc00033b280}
Sample output for printing a Layers struct (word-wrapped):
[&testbench.Ether{SrcAddr:02:42:c4:77:5d:14 DstAddr:02:42:c4:77:5d:0a}
&testbench.IPv4{SrcAddr:196.119.93.20 DstAddr:224.0.0.1}
&testbench.UDP{SrcPort:0xc00033b260 DstPort:0xc00033b280}
&testbench.Payload{Bytes:[104 101 108 108 111 32 119 111 114 108 100]}]
PiperOrigin-RevId: 305014376
|
|
This allows control over the gRPC timeouts as needed.
PiperOrigin-RevId: 304225713
|
|
PiperOrigin-RevId: 304098611
|
|
PiperOrigin-RevId: 301872161
|
|
PiperOrigin-RevId: 301382690
|