@@ -153,39 +153,39 @@ func (r *icmpResponder) process(h GICMPHandler, pkt *wire.Parsed, src, dst netip
153153
154154 pinged := h .Ping (icmpMsg , src , dst )
155155
156- resp , proto , err := r .makeReply (pkt , payload , pinged )
156+ resp , proto , err := r .echoReply (pkt , payload , pinged )
157157 if err != nil || len (resp ) == 0 {
158158 log .W ("icmp: responder: reply %s <= %s (sz: %d); ping? %t; err? %v" ,
159159 src , dst , len (resp ), pinged , err )
160160 return
161161 }
162162
163- // github.com/tailscale/tailscale/blob/7de1b0b33082cc/wgengine/netstack/netstack.go#L1201-L1212
164163 r .inject (proto , resp )
165164}
166165
167- func (r * icmpResponder ) makeReply (pkt * wire.Parsed , payload []byte , ok bool ) ([]byte , tcpip.NetworkProtocolNumber , error ) {
166+ func (r * icmpResponder ) echoReply (pkt * wire.Parsed , d []byte , ok bool ) ([]byte , tcpip.NetworkProtocolNumber , error ) {
167+ // github.com/tailscale/tailscale/blob/7de1b0b33082cc/wgengine/netstack/netstack.go#L1201-L1212
168168 switch pkt .IPVersion {
169169 case 4 :
170170 ipHdr := pkt .IP4Header ()
171- ipHdr .ToResponse ()
172171 if ! ok {
172+ ipHdr .ToResponse ()
173173 icmpHdr := wire.ICMP4Header {IP4Header : ipHdr , Type : wire .ICMP4Unreachable , Code : wire .ICMP4HostUnreachable }
174- return wire .Generate (icmpHdr , payload ), header .IPv4ProtocolNumber , nil
174+ return wire .Generate (icmpHdr , d ), header .IPv4ProtocolNumber , nil
175175 }
176176 icmpHdr := wire.ICMP4Header {IP4Header : ipHdr }
177177 icmpHdr .ToResponse ()
178- return wire .Generate (icmpHdr , payload ), header .IPv4ProtocolNumber , nil
178+ return wire .Generate (icmpHdr , d ), header .IPv4ProtocolNumber , nil
179179 case 6 :
180180 ipHdr := pkt .IP6Header ()
181- ipHdr .ToResponse ()
182181 if ! ok {
182+ ipHdr .ToResponse ()
183183 icmpHdr := wire.ICMP6Header {IP6Header : ipHdr , Type : wire .ICMP6Unreachable , Code : wire .ICMP6NoRoute }
184- return wire .Generate (icmpHdr , payload ), header .IPv6ProtocolNumber , nil
184+ return wire .Generate (icmpHdr , d ), header .IPv6ProtocolNumber , nil
185185 }
186186 icmpHdr := wire.ICMP6Header {IP6Header : ipHdr }
187187 icmpHdr .ToResponse ()
188- return wire .Generate (icmpHdr , payload ), header .IPv6ProtocolNumber , nil
188+ return wire .Generate (icmpHdr , d ), header .IPv6ProtocolNumber , nil
189189 default :
190190 return nil , 0 , fmt .Errorf ("unsupported ip version: %d" , pkt .IPVersion )
191191 }
0 commit comments