go.net/ipv4: make use of net.PacketConn embedding

R=dave
CC=golang-dev
https://golang.org/cl/10319043
diff --git a/ipv4/endpoint.go b/ipv4/endpoint.go
index e8b320c..44bd2bc 100644
--- a/ipv4/endpoint.go
+++ b/ipv4/endpoint.go
@@ -18,15 +18,15 @@
 }
 
 type genericOpt struct {
-	c net.Conn
+	net.Conn
 }
 
-func (c *genericOpt) ok() bool { return c != nil && c.c != nil }
+func (c *genericOpt) ok() bool { return c != nil && c.Conn != nil }
 
 // NewConn returns a new Conn.
 func NewConn(c net.Conn) *Conn {
 	return &Conn{
-		genericOpt: genericOpt{c},
+		genericOpt: genericOpt{Conn: c},
 	}
 }
 
@@ -42,10 +42,10 @@
 }
 
 type dgramOpt struct {
-	c net.PacketConn
+	net.PacketConn
 }
 
-func (c *dgramOpt) ok() bool { return c != nil && c.c != nil }
+func (c *dgramOpt) ok() bool { return c != nil && c.PacketConn != nil }
 
 // SetControlMessage sets the per packet IP-level socket options.
 func (c *PacketConn) SetControlMessage(cf ControlFlags, on bool) error {
@@ -65,7 +65,7 @@
 	if !c.payloadHandler.ok() {
 		return syscall.EINVAL
 	}
-	return c.payloadHandler.c.SetDeadline(t)
+	return c.payloadHandler.PacketConn.SetDeadline(t)
 }
 
 // SetReadDeadline sets the read deadline associated with the
@@ -74,7 +74,7 @@
 	if !c.payloadHandler.ok() {
 		return syscall.EINVAL
 	}
-	return c.payloadHandler.c.SetReadDeadline(t)
+	return c.payloadHandler.PacketConn.SetReadDeadline(t)
 }
 
 // SetWriteDeadline sets the write deadline associated with the
@@ -83,7 +83,7 @@
 	if !c.payloadHandler.ok() {
 		return syscall.EINVAL
 	}
-	return c.payloadHandler.c.SetWriteDeadline(t)
+	return c.payloadHandler.PacketConn.SetWriteDeadline(t)
 }
 
 // Close closes the endpoint.
@@ -91,16 +91,16 @@
 	if !c.payloadHandler.ok() {
 		return syscall.EINVAL
 	}
-	return c.payloadHandler.c.Close()
+	return c.payloadHandler.PacketConn.Close()
 }
 
 // NewPacketConn returns a new PacketConn using c as its underlying
 // transport.
 func NewPacketConn(c net.PacketConn) *PacketConn {
 	return &PacketConn{
-		genericOpt:     genericOpt{c.(net.Conn)},
-		dgramOpt:       dgramOpt{c},
-		payloadHandler: payloadHandler{c: c},
+		genericOpt:     genericOpt{Conn: c.(net.Conn)},
+		dgramOpt:       dgramOpt{PacketConn: c},
+		payloadHandler: payloadHandler{PacketConn: c},
 	}
 }
 
@@ -166,8 +166,8 @@
 // transport.
 func NewRawConn(c net.PacketConn) (*RawConn, error) {
 	r := &RawConn{
-		genericOpt:    genericOpt{c.(net.Conn)},
-		dgramOpt:      dgramOpt{c},
+		genericOpt:    genericOpt{Conn: c.(net.Conn)},
+		dgramOpt:      dgramOpt{PacketConn: c},
 		packetHandler: packetHandler{c: c.(*net.IPConn)},
 	}
 	fd, err := r.packetHandler.sysfd()