code: func New(mtu, bufferSize uint32, addr tcpip.LinkAddress, tx, rx QueueConfig) (tcpip.LinkEndpointID, error) {
  	e := &endpoint{
  		mtu:        mtu,
  		bufferSize: bufferSize,
  		addr:       addr,
  	}
  
  	if err := e.tx.init(bufferSize, &tx); err != nil {
  		return 0, err
  	}
  
  	if err := e.rx.init(bufferSize, &rx); err != nil {
  		e.tx.cleanup()
  		return 0, err
  	}
  
  	return stack.RegisterLinkEndpoint(e), nil
  }
docs: // New creates a new shared-memory-based endpoint. Buffers will be broken up
  // into buffers of "bufferSize" bytes.