code: func hashRoute(r *stack.Route, protocol tcpip.TransportProtocolNumber) uint32 {
  	t := r.LocalAddress
  	a := uint32(t[0]) | uint32(t[1])<<8 | uint32(t[2])<<16 | uint32(t[3])<<24
  	t = r.RemoteAddress
  	b := uint32(t[0]) | uint32(t[1])<<8 | uint32(t[2])<<16 | uint32(t[3])<<24
  	return hash.Hash3Words(a, b, uint32(protocol), hashIV)
  }
docs: // hashRoute calculates a hash value for the given route. It uses the source &
  // destination address, the transport protocol number, and a random initial
  // value (generated once on initialization) to generate the hash.