ipv6: simplify log message format

This change replaces the existing log format separated by commas and
spaces with space-separated one.

Also removes unnecessary log output in test.

Change-Id: I7fc5da1b58734a7ee1d06da4e15408bef0162b0b
Reviewed-on: https://go-review.googlesource.com/16323
Reviewed-by: Ian Lance Taylor <iant@golang.org>
diff --git a/ipv6/control.go b/ipv6/control.go
index 8f065aa..b7362aa 100644
--- a/ipv6/control.go
+++ b/ipv6/control.go
@@ -63,7 +63,7 @@
 	if cm == nil {
 		return "<nil>"
 	}
-	return fmt.Sprintf("tclass: %#x, hoplim: %v, src: %v, dst: %v, ifindex: %v, nexthop: %v, mtu: %v", cm.TrafficClass, cm.HopLimit, cm.Src, cm.Dst, cm.IfIndex, cm.NextHop, cm.MTU)
+	return fmt.Sprintf("tclass=%#x hoplim=%d src=%v dst=%v ifindex=%d nexthop=%v mtu=%d", cm.TrafficClass, cm.HopLimit, cm.Src, cm.Dst, cm.IfIndex, cm.NextHop, cm.MTU)
 }
 
 // Ancillary data socket options
diff --git a/ipv6/header.go b/ipv6/header.go
index b842b6b..ad73776 100644
--- a/ipv6/header.go
+++ b/ipv6/header.go
@@ -30,7 +30,7 @@
 	if h == nil {
 		return "<nil>"
 	}
-	return fmt.Sprintf("ver: %v, tclass: %#x, flowlbl: %#x, payloadlen: %v, nxthdr: %v, hoplim: %v, src: %v, dst: %v", h.Version, h.TrafficClass, h.FlowLabel, h.PayloadLen, h.NextHeader, h.HopLimit, h.Src, h.Dst)
+	return fmt.Sprintf("ver=%d tclass=%#x flowlbl=%#x payloadlen=%d nxthdr=%d hoplim=%d src=%v dst=%v", h.Version, h.TrafficClass, h.FlowLabel, h.PayloadLen, h.NextHeader, h.HopLimit, h.Src, h.Dst)
 }
 
 // ParseHeader parses b as an IPv6 base header.
diff --git a/ipv6/header_test.go b/ipv6/header_test.go
index 18e0023..ca11dc2 100644
--- a/ipv6/header_test.go
+++ b/ipv6/header_test.go
@@ -7,6 +7,7 @@
 import (
 	"net"
 	"reflect"
+	"strings"
 	"testing"
 
 	"golang.org/x/net/internal/iana"
@@ -47,4 +48,8 @@
 	if !reflect.DeepEqual(h, testHeader) {
 		t.Fatalf("got %#v; want %#v", h, testHeader)
 	}
+	s := h.String()
+	if strings.Contains(s, ",") {
+		t.Fatalf("should be space-separated values: %s", s)
+	}
 }
diff --git a/ipv6/multicast_test.go b/ipv6/multicast_test.go
index fc10ce1..a3a8979 100644
--- a/ipv6/multicast_test.go
+++ b/ipv6/multicast_test.go
@@ -110,12 +110,10 @@
 				t.Fatal(err)
 			}
 			rb := make([]byte, 128)
-			if n, cm, _, err := p.ReadFrom(rb); err != nil {
+			if n, _, _, err := p.ReadFrom(rb); err != nil {
 				t.Fatal(err)
 			} else if !bytes.Equal(rb[:n], wb) {
 				t.Fatalf("got %v; want %v", rb[:n], wb)
-			} else {
-				t.Logf("rcvd cmsg: %v", cm)
 			}
 		}
 	}
@@ -243,7 +241,7 @@
 				t.Fatalf("got %v; want %v", n, len(wb))
 			}
 			rb := make([]byte, 128)
-			if n, cm, _, err := p.ReadFrom(rb); err != nil {
+			if n, _, _, err := p.ReadFrom(rb); err != nil {
 				switch runtime.GOOS {
 				case "darwin": // older darwin kernels have some limitation on receiving icmp packet through raw socket
 					t.Logf("not supported on %s", runtime.GOOS)
@@ -251,7 +249,6 @@
 				}
 				t.Fatal(err)
 			} else {
-				t.Logf("rcvd cmsg: %v", cm)
 				if m, err := icmp.ParseMessage(iana.ProtocolIPv6ICMP, rb[:n]); err != nil {
 					t.Fatal(err)
 				} else if m.Type != ipv6.ICMPTypeEchoReply || m.Code != 0 {
diff --git a/ipv6/readwrite_test.go b/ipv6/readwrite_test.go
index ff4ea2b..8c8c6fd 100644
--- a/ipv6/readwrite_test.go
+++ b/ipv6/readwrite_test.go
@@ -8,6 +8,7 @@
 	"bytes"
 	"net"
 	"runtime"
+	"strings"
 	"sync"
 	"testing"
 
@@ -143,7 +144,10 @@
 			t.Errorf("got %v; want %v", rb[:n], wb)
 			return
 		} else {
-			t.Logf("rcvd cmsg: %v", cm)
+			s := cm.String()
+			if strings.Contains(s, ",") {
+				t.Errorf("should be space-separated values: %s", s)
+			}
 		}
 	}
 	writer := func(toggle bool) {
diff --git a/ipv6/unicast_test.go b/ipv6/unicast_test.go
index 6165698..db5b08a 100644
--- a/ipv6/unicast_test.go
+++ b/ipv6/unicast_test.go
@@ -71,12 +71,10 @@
 		if err := p.SetReadDeadline(time.Now().Add(100 * time.Millisecond)); err != nil {
 			t.Fatal(err)
 		}
-		if n, cm, _, err := p.ReadFrom(rb); err != nil {
+		if n, _, _, err := p.ReadFrom(rb); err != nil {
 			t.Fatal(err)
 		} else if !bytes.Equal(rb[:n], wb) {
 			t.Fatalf("got %v; want %v", rb[:n], wb)
-		} else {
-			t.Logf("rcvd cmsg: %v", cm)
 		}
 	}
 }
@@ -166,7 +164,7 @@
 		if err := p.SetReadDeadline(time.Now().Add(100 * time.Millisecond)); err != nil {
 			t.Fatal(err)
 		}
-		if n, cm, _, err := p.ReadFrom(rb); err != nil {
+		if n, _, _, err := p.ReadFrom(rb); err != nil {
 			switch runtime.GOOS {
 			case "darwin": // older darwin kernels have some limitation on receiving icmp packet through raw socket
 				t.Logf("not supported on %s", runtime.GOOS)
@@ -174,7 +172,6 @@
 			}
 			t.Fatal(err)
 		} else {
-			t.Logf("rcvd cmsg: %v", cm)
 			if m, err := icmp.ParseMessage(iana.ProtocolIPv6ICMP, rb[:n]); err != nil {
 				t.Fatal(err)
 			} else if m.Type != ipv6.ICMPTypeEchoReply || m.Code != 0 {