func (r *Route) Stats() tcpip.Stats {
	return r.ref.nic.stack.Stats()
}
Stats returns a mutable copy of current stats.
package stack
import (
	"github.com/google/netstack/sleep"
	"github.com/google/netstack/tcpip"
	"github.com/google/netstack/tcpip/buffer"
	"github.com/google/netstack/tcpip/header"
)
type Route struct {
	RemoteAddress tcpip.Address
	RemoteLinkAddress tcpip.LinkAddress
	LocalAddress tcpip.Address
	LocalLinkAddress tcpip.LinkAddress
	NextHop tcpip.Address
	NetProto tcpip.NetworkProtocolNumber
	ref *referencedNetworkEndpoint
	Loop PacketLooping
}
func makeRoute(netProto tcpip.NetworkProtocolNumber, localAddr, remoteAddr tcpip.Address, localLinkAddr tcpip.LinkAddress, ref *referencedNetworkEndpoint, handleLocal, multicastLoop bool) Route {
	loop := PacketOut
	if handleLocal && localAddr != "" && remoteAddr == localAddr {
		loop = PacketLoop
	} else if multicastLoop && (header.IsV4MulticastAddress(remoteAddr) || header.IsV6MulticastAddress(remoteAddr)) {
		loop |= PacketLoop
	} else if remoteAddr == header.IPv4Broadcast {
		loop |= PacketLoop
	}
	return Route{
		NetProto:         netProto,
		LocalAddress:     localAddr,
		LocalLinkAddress: localLinkAddr,
		RemoteAddress:    remoteAddr,
		ref:              ref,
		Loop:             loop,
	}
}
func (r *Route) NICID() tcpip.NICID {
	return r.ref.ep.NICID()
}
func (r *Route) MaxHeaderLength() uint16 {
	return r.ref.ep.MaxHeaderLength()
}