code: func (e *endpoint) HandlePacket(r *stack.Route, vv buffer.VectorisedView) {
  	headerView := vv.First()
  	h := header.IPv6(headerView)
  	if !h.IsValid(vv.Size()) {
  		return
  	}
  
  	vv.TrimFront(header.IPv6MinimumSize)
  	vv.CapLength(int(h.PayloadLength()))
  
  	p := h.TransportProtocol()
  	if p == header.ICMPv6ProtocolNumber {
  		e.handleICMP(r, headerView, vv)
  		return
  	}
  
  	r.Stats().IP.PacketsDelivered.Increment()
  	e.dispatcher.DeliverTransportPacket(r, p, headerView, vv)
  }
docs: // HandlePacket is called by the link layer when new ipv6 packets arrive for
  // this endpoint.