code: func (p *protocol) NewEndpoint(nicid tcpip.NICID, addr tcpip.Address, linkAddrCache stack.LinkAddressCache, dispatcher stack.TransportDispatcher, linkEP stack.LinkEndpoint) (stack.NetworkEndpoint, *tcpip.Error) {
  	return &endpoint{
  		nicid:         nicid,
  		id:            stack.NetworkEndpointID{LocalAddress: addr},
  		linkEP:        linkEP,
  		linkAddrCache: linkAddrCache,
  		dispatcher:    dispatcher,
  	}, nil
  }
docs: // NewEndpoint creates a new ipv6 endpoint.