Left: | ||
Right: |
LEFT | RIGHT |
---|---|
1 // Copyright 2013 The Go Authors. All rights reserved. | 1 // Copyright 2013 The Go Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style | 2 // Use of this source code is governed by a BSD-style |
3 // license that can be found in the LICENSE file. | 3 // license that can be found in the LICENSE file. |
4 | 4 |
5 package ipv6_test | 5 package ipv6_test |
6 | 6 |
7 import ( | 7 import ( |
8 "bytes" | 8 "bytes" |
9 "code.google.com/p/go.net/ipv6" | 9 "code.google.com/p/go.net/ipv6" |
10 "net" | 10 "net" |
(...skipping 17 matching lines...) Expand all Loading... | |
28 ifi := loopbackInterface() | 28 ifi := loopbackInterface() |
29 if ifi == nil { | 29 if ifi == nil { |
30 t.Skipf("not available on %q", runtime.GOOS) | 30 t.Skipf("not available on %q", runtime.GOOS) |
31 } | 31 } |
32 | 32 |
33 c, err := net.ListenPacket("udp6", "[ff02::114]:0") // see RFC 4727 | 33 c, err := net.ListenPacket("udp6", "[ff02::114]:0") // see RFC 4727 |
34 if err != nil { | 34 if err != nil { |
35 t.Fatalf("net.ListenPacket failed: %v", err) | 35 t.Fatalf("net.ListenPacket failed: %v", err) |
36 } | 36 } |
37 defer c.Close() | 37 defer c.Close() |
38 | |
39 _, port, err := net.SplitHostPort(c.LocalAddr().String()) | |
40 if err != nil { | |
41 t.Fatalf("net.SplitHostPort failed: %v", err) | |
42 } | |
43 dst, err := net.ResolveUDPAddr("udp6", "[ff02::114]:"+port) // see RFC 4 727 | |
44 if err != nil { | |
45 t.Fatalf("net.ResolveUDPAddr failed: %v", err) | |
46 } | |
47 | |
38 p := ipv6.NewPacketConn(c) | 48 p := ipv6.NewPacketConn(c) |
39 defer p.Close() | 49 defer p.Close() |
dave_cheney.net
2013/12/31 10:33:22
Why did you move this code ?
mikio
2013/12/31 14:25:04
nothing, will revert.
| |
40 | |
41 _, port, err := net.SplitHostPort(c.LocalAddr().String()) | |
42 if err != nil { | |
43 t.Fatalf("net.SplitHostPort failed: %v", err) | |
44 } | |
45 dst, err := net.ResolveUDPAddr("udp6", "[ff02::114]:"+port) // see RFC 4 727 | |
46 if err != nil { | |
47 t.Fatalf("net.ResolveUDPAddr failed: %v", err) | |
48 } | |
49 | |
50 if err := p.JoinGroup(ifi, dst); err != nil { | 50 if err := p.JoinGroup(ifi, dst); err != nil { |
51 t.Fatalf("ipv6.PacketConn.JoinGroup on %v failed: %v", ifi, err) | 51 t.Fatalf("ipv6.PacketConn.JoinGroup on %v failed: %v", ifi, err) |
52 } | 52 } |
53 if err := p.SetMulticastInterface(ifi); err != nil { | 53 if err := p.SetMulticastInterface(ifi); err != nil { |
54 t.Fatalf("ipv6.PacketConn.SetMulticastInterface failed: %v", err ) | 54 t.Fatalf("ipv6.PacketConn.SetMulticastInterface failed: %v", err ) |
55 } | 55 } |
56 if _, err := p.MulticastInterface(); err != nil { | 56 if _, err := p.MulticastInterface(); err != nil { |
57 t.Fatalf("ipv6.PacketConn.MulticastInterface failed: %v", err) | 57 t.Fatalf("ipv6.PacketConn.MulticastInterface failed: %v", err) |
58 } | 58 } |
59 if err := p.SetMulticastLoopback(true); err != nil { | 59 if err := p.SetMulticastLoopback(true); err != nil { |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
109 ifi := loopbackInterface() | 109 ifi := loopbackInterface() |
110 if ifi == nil { | 110 if ifi == nil { |
111 t.Skipf("not available on %q", runtime.GOOS) | 111 t.Skipf("not available on %q", runtime.GOOS) |
112 } | 112 } |
113 | 113 |
114 c, err := net.ListenPacket("ip6:ipv6-icmp", "::") | 114 c, err := net.ListenPacket("ip6:ipv6-icmp", "::") |
115 if err != nil { | 115 if err != nil { |
116 t.Fatalf("net.ListenPacket failed: %v", err) | 116 t.Fatalf("net.ListenPacket failed: %v", err) |
117 } | 117 } |
118 defer c.Close() | 118 defer c.Close() |
119 | |
120 dst, err := net.ResolveIPAddr("ip6", "ff02::114") // see RFC 4727 | |
121 if err != nil { | |
122 t.Fatalf("net.ResolveIPAddr failed: %v", err) | |
123 } | |
124 | |
125 pshicmp := ipv6PseudoHeader(c.LocalAddr().(*net.IPAddr).IP, dst.IP, iana ProtocolIPv6ICMP) | |
119 p := ipv6.NewPacketConn(c) | 126 p := ipv6.NewPacketConn(c) |
120 defer p.Close() | 127 defer p.Close() |
dave_cheney.net
2013/12/31 10:33:22
same
mikio
2013/12/31 14:25:04
ditto
| |
121 | |
122 dst, err := net.ResolveIPAddr("ip6", "ff02::114") // see RFC 4727 | |
123 if err != nil { | |
124 t.Fatalf("net.ResolveIPAddr failed: %v", err) | |
125 } | |
126 | |
127 pshicmp := ipv6PseudoHeader(c.LocalAddr().(*net.IPAddr).IP, dst.IP, iana ProtocolIPv6ICMP) | |
128 if err := p.JoinGroup(ifi, dst); err != nil { | 128 if err := p.JoinGroup(ifi, dst); err != nil { |
129 t.Fatalf("ipv6.PacketConn.JoinGroup on %v failed: %v", ifi, err) | 129 t.Fatalf("ipv6.PacketConn.JoinGroup on %v failed: %v", ifi, err) |
130 } | 130 } |
131 if err := p.SetMulticastInterface(ifi); err != nil { | 131 if err := p.SetMulticastInterface(ifi); err != nil { |
132 t.Fatalf("ipv6.PacketConn.SetMulticastInterface failed: %v", err ) | 132 t.Fatalf("ipv6.PacketConn.SetMulticastInterface failed: %v", err ) |
133 } | 133 } |
134 if _, err := p.MulticastInterface(); err != nil { | 134 if _, err := p.MulticastInterface(); err != nil { |
135 t.Fatalf("ipv6.PacketConn.MulticastInterface failed: %v", err) | 135 t.Fatalf("ipv6.PacketConn.MulticastInterface failed: %v", err) |
136 } | 136 } |
137 if err := p.SetMulticastLoopback(true); err != nil { | 137 if err := p.SetMulticastLoopback(true); err != nil { |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
196 } else { | 196 } else { |
197 t.Logf("rcvd cmsg: %v", cm) | 197 t.Logf("rcvd cmsg: %v", cm) |
198 if m, err := parseICMPMessage(rb[:n]); err != nil { | 198 if m, err := parseICMPMessage(rb[:n]); err != nil { |
199 t.Fatalf("parseICMPMessage failed: %v", err) | 199 t.Fatalf("parseICMPMessage failed: %v", err) |
200 } else if m.Type != ipv6.ICMPTypeEchoReply || m.Code != 0 { | 200 } else if m.Type != ipv6.ICMPTypeEchoReply || m.Code != 0 { |
201 t.Fatalf("got type=%v, code=%v; expected type=%v , code=%v", m.Type, m.Code, ipv6.ICMPTypeEchoReply, 0) | 201 t.Fatalf("got type=%v, code=%v; expected type=%v , code=%v", m.Type, m.Code, ipv6.ICMPTypeEchoReply, 0) |
202 } | 202 } |
203 } | 203 } |
204 } | 204 } |
205 } | 205 } |
LEFT | RIGHT |