8 Commits

Author SHA1 Message Date
Mikio Hara
b7a1f62a47 ipv4: add {Read,Write}Batch methods to {Packet,Raw}Conn
This change provides message IO functionality that may support the
construction of modern datagram transport protocols.

The modern datagram transport protocols on a multihomed node basically
need to control each packet path for traffic engineering by using
information belongs to network- or link-layer implementation. In
addtion, it's desirable to be able to do simultaneous transmission
across multiple network- or link-layer adjacencies wihtout any
additional cost.

The ReadBatch and WriteBatch methods of PacketConn and RawConn can be
used to read and write an IO message that contains the information of
network- or link-layer implementation, and read and write a batch of
IO messages on Linux. The Marshal and Parse methods of ControlMessage
and Header can help to marshal and parse information contained in IO
messages.

Updates golang/go#3661.

Change-Id: Ia84a9d3bc51641406eaaf4258f2a3066945cc323
Reviewed-on: https://go-review.googlesource.com/38275
Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2017-05-27 06:01:44 +00:00
Mikio Hara
0cc888483f ipv4: add missing BUGS section
Change-Id: Idf0f3ce0cbd5eb402eb4929e4280b1bf746c04e9
Reviewed-on: https://go-review.googlesource.com/34432
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-12-15 08:38:04 +00:00
Dmitri Shuralyov
5d997795f7 all: make copyright headers consistent with one space after period
Go policy has been single space after periods in comments for some time.

The copyright header template at:

	https://golang.org/doc/contribute.html#copyright

also uses a single space.

Make them all consistent.

This CL was generated with:

	perl -i -npe 's,^(// Copyright [0-9]+ The Go Authors\.)  (All rights reserved\.)$,$1 $2,' $(git grep -l -E '^// Copyright [0-9]+ The Go Authors\.  All rights reserved\.$')

Follows https://golang.org/cl/20111.

Change-Id: I66671dddf821f5dc027bc254e0196b3e3a2bdf3b
Reviewed-on: https://go-review.googlesource.com/32878
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-11-07 23:52:11 +00:00
Mikio Hara
38dcae4017 go.net/ipv4: add support for dragonfly, enable IP_PKTINFO on darwin
This CL adds support for dragonfly and IP_PKTINFO support for darwin
with less dependency on syscall package.

Update golang/go#7175
Fixes golang/go#7172.

LGTM=iant
R=golang-codereviews, gobot, iant
CC=golang-codereviews
https://golang.org/cl/97800043
2014-05-19 12:20:11 +09:00
Mikio Hara
9d071032c5 go.net/ipv4: make use of net.PacketConn embedding
R=dave
CC=golang-dev
https://golang.org/cl/10319043
2013-06-17 00:37:19 +09:00
Mikio Hara
6b91bf25ed go.net/ipv4: fix sprious lookahead on IPConn-based PacketConn
Also improves test coverage for both payload and datagram I/O.

R=golang-dev, dave
CC=golang-dev
https://golang.org/cl/7304091
2013-02-16 13:02:07 +09:00
Mikio Hara
0e4f6eb3bd go.net/ipv4: change I/O method signatures on PacketConn and RawConn
Preserves both Read and Write signatures for the future usage.

R=dave, rsc
CC=golang-dev
https://golang.org/cl/6970048
2012-12-21 07:30:42 +09:00
Mikio Hara
d2e5a1215d go.net/ipv4: new package
Package ipv4 implements IP-level socket options for the Internet
Protocol version 4. It also provides raw IP socket access methods
including IPv4 header manipulation.

Fixes golang/go#3684.
Fixes golang/go#3820.

This CL requires CL 6426047;
net: add read, write message methods to IPConn, UDPConn

R=rsc, dave, alex.brainman
CC=gobot, golang-dev
https://golang.org/cl/6482044
2012-09-26 21:03:09 +09:00