code: func (n *NIC) DeliverTransportPacket(r *Route, protocol tcpip.TransportProtocolNumber, netHeader buffer.View, vv buffer.VectorisedView) {
  	state, ok := n.stack.transportProtocols[protocol]
  	if !ok {
  		n.stack.stats.UnknownProtocolRcvdPackets.Increment()
  		return
  	}
  
  	transProto := state.proto
  	if len(vv.First()) < transProto.MinimumPacketSize() {
  		n.stack.stats.MalformedRcvdPackets.Increment()
  		return
  	}
  
  	srcPort, dstPort, err := transProto.ParsePorts(vv.First())
  	if err != nil {
  		n.stack.stats.MalformedRcvdPackets.Increment()
  		return
  	}
  
  	id := TransportEndpointID{dstPort, r.LocalAddress, srcPort, r.RemoteAddress}
  	if n.demux.deliverPacket(r, protocol, netHeader, vv, id) {
  		return
  	}
  	if n.stack.demux.deliverPacket(r, protocol, netHeader, vv, id) {
  		return
  	}
  
  	// Try to deliver to per-stack default handler.
  	if state.defaultHandler != nil {
  		if state.defaultHandler(r, id, netHeader, vv) {
  			return
  		}
  	}
  
  	// We could not find an appropriate destination for this packet, so
  	// deliver it to the global handler.
  	if !transProto.HandleUnknownDestinationPacket(r, id, vv) {
  		n.stack.stats.MalformedRcvdPackets.Increment()
  	}
  }
docs: // DeliverTransportPacket delivers the packets to the appropriate transport
  // protocol endpoint.