gvisor/pkg/tcpip/transport/tcp
Ryan Heacock fbc4a8dbd1 Perform IGMPv2 when joining IPv4 multicast groups
Added headers, stats, checksum parsing capabilities from RFC 2236 describing
IGMPv2.

IGMPv2 state machine is implemented for each condition, sending and receiving
IGMP Membership Reports and Leave Group messages with backwards compatibility
with IGMPv1 routers.

Test:
* Implemented igmp header parser and checksum calculator in header/igmp_test.go
* ipv4/igmp_test.go tests incoming and outgoing IGMP messages and pathways.
* Added unit test coverage for IGMPv2 RFC behavior + IGMPv1 backwards
   compatibility in ipv4/igmp_test.go.

Fixes #4682

PiperOrigin-RevId: 343408809
2020-11-19 18:15:25 -08:00
..
testing/context Teach netstack how to add options to IPv4 packets 2020-11-11 10:59:35 -08:00
BUILD Automated rollback of changelist 342700744 2020-11-18 14:08:47 -08:00
accept.go Automated rollback of changelist 340274194 2020-11-16 10:43:37 -08:00
connect.go [netstack] Move SO_KEEPALIVE and SO_ACCEPTCONN option to SocketOptions. 2020-11-18 21:24:55 -08:00
connect_unsafe.go Use a pool of arrays to avoid slice headers from escaping in TCP options pool. 2020-03-05 15:56:42 -08:00
cubic.go Add support for TCP_CONGESTION socket option. 2019-06-12 13:35:50 -07:00
cubic_state.go Add support for TCP_CONGESTION socket option. 2019-06-12 13:35:50 -07:00
dispatcher.go Use stack.Route exclusively for writing packets 2020-11-05 15:52:16 -08:00
dual_stack_test.go Fix TCP wildcard bind failure when netstack is v6 only 2020-10-29 13:52:50 -07:00
endpoint.go Perform IGMPv2 when joining IPv4 multicast groups 2020-11-19 18:15:25 -08:00
endpoint_state.go Fix SO_ERROR behavior for TCP in gVisor. 2020-11-17 08:33:03 -08:00
forwarder.go Automated rollback of changelist 340274194 2020-11-16 10:43:37 -08:00
protocol.go Use stack.Route exclusively for writing packets 2020-11-05 15:52:16 -08:00
rack.go RACK: Detect DSACK 2020-11-13 13:59:43 -08:00
rack_state.go Update variables for implementation of RACK in TCP 2020-08-04 20:59:34 -07:00
rcv.go TCP Receive window advertisement fixes. 2020-10-09 19:02:03 -07:00
rcv_state.go Add support for TCP_USER_TIMEOUT option. 2019-12-11 17:52:53 -08:00
rcv_test.go Send ACK to OTW SEQs/unacc ACKs in CLOSE_WAIT 2020-05-08 11:23:24 -07:00
reno.go Change copyright notice to "The gVisor Authors" 2019-04-29 14:26:23 -07:00
reno_recovery.go Automated rollback of changelist 342700744 2020-11-18 14:08:47 -08:00
sack.go Add support for TCP receive buffer auto tuning. 2019-06-13 22:28:01 -07:00
sack_recovery.go Automated rollback of changelist 342700744 2020-11-18 14:08:47 -08:00
sack_scoreboard.go Fix nogo test in //pkg/tcpip/... 2020-10-20 17:22:28 -07:00
sack_scoreboard_test.go Update canonical repository. 2019-06-13 16:50:15 -07:00
segment.go Use stack.Route exclusively for writing packets 2020-11-05 15:52:16 -08:00
segment_heap.go Implement heap.Interface on pointer receiver 2020-03-11 20:38:05 -07:00
segment_queue.go Change segment/pending queue to use receive buffer limits. 2020-09-24 07:15:06 -07:00
segment_state.go Update canonical repository. 2019-06-13 16:50:15 -07:00
segment_unsafe.go Fix memory accounting in TCP pending segment queue. 2020-07-27 15:14:34 -07:00
snd.go Automated rollback of changelist 342700744 2020-11-18 14:08:47 -08:00
snd_state.go Add support for TCP_USER_TIMEOUT option. 2019-12-11 17:52:53 -08:00
tcp_noracedetector_test.go Replace use of %v in tcp tests 2020-06-16 15:18:05 -07:00
tcp_rack_test.go RACK: Detect DSACK 2020-11-13 13:59:43 -08:00
tcp_sack_test.go Improve type safety for transport protocol options 2020-09-08 12:17:39 -07:00
tcp_test.go [netstack] Move SO_KEEPALIVE and SO_ACCEPTCONN option to SocketOptions. 2020-11-18 21:24:55 -08:00
tcp_timestamp_test.go Change segment/pending queue to use receive buffer limits. 2020-09-24 07:15:06 -07:00
timer.go Automated rollback of changelist 340274194 2020-11-16 10:43:37 -08:00
timer_test.go Cleanup tcp.timer and tcpip.Route 2020-06-18 00:10:05 -07:00