code: func (ep *multiPortEndpoint) HandlePacket(r *Route, id TransportEndpointID, vv buffer.VectorisedView) {
  	// If this is a broadcast datagram, deliver the datagram to all endpoints
  	// managed by ep.
  	if id.LocalAddress == header.IPv4Broadcast {
  		for i, endpoint := range ep.endpointsArr {
  			// HandlePacket modifies vv, so each endpoint needs its own copy.
  			if i == len(ep.endpointsArr)-1 {
  				endpoint.HandlePacket(r, id, vv)
  				break
  			}
  			vvCopy := buffer.NewView(vv.Size())
  			copy(vvCopy, vv.ToView())
  			endpoint.HandlePacket(r, id, vvCopy.ToVectorisedView())
  		}
  	} else {
  		ep.selectEndpoint(id).HandlePacket(r, id, vv)
  	}
  }
docs: // HandlePacket is called by the stack when new packets arrive to this transport
  // endpoint.