net: make it possible to use FilePacketConn with IPConn

Fixes #6803.

LGTM=bradfitz
R=golang-codereviews, bradfitz
CC=golang-codereviews
https://golang.org/cl/57560043
diff --git a/src/pkg/net/file_test.go b/src/pkg/net/file_test.go
index acaf188..e4615b7 100644
--- a/src/pkg/net/file_test.go
+++ b/src/pkg/net/file_test.go
@@ -174,6 +174,8 @@
 
 	{net: "udp6", addr: "[::1]", ipv6: true},
 
+	{net: "ip4:icmp", addr: "127.0.0.1"},
+
 	{net: "unixgram", addr: "@gotest3/net", linux: true},
 }
 
@@ -187,6 +189,10 @@
 		if skipServerTest(tt.net, "unixgram", tt.addr, tt.ipv6, false, tt.linux) {
 			continue
 		}
+		if os.Getuid() != 0 && tt.net == "ip4:icmp" {
+			t.Log("skipping test; must be root")
+			continue
+		}
 		testFilePacketConnListen(t, tt.net, tt.addr)
 		switch tt.addr {
 		case "", "0.0.0.0", "[::ffff:0.0.0.0]", "[::]":