code: func (d *transportDemuxer) registerRawEndpoint(netProto tcpip.NetworkProtocolNumber, transProto tcpip.TransportProtocolNumber, ep RawTransportEndpoint) *tcpip.Error {
  	eps, ok := d.protocol[protocolIDs{netProto, transProto}]
  	if !ok {
  		return nil
  	}
  
  	eps.mu.Lock()
  	defer eps.mu.Unlock()
  	eps.rawEndpoints = append(eps.rawEndpoints, ep)
  
  	return nil
  }
docs: // registerRawEndpoint registers the given endpoint with the dispatcher such
  // that packets of the appropriate protocol are delivered to it. A single
  // packet can be sent to one or more raw endpoints along with a non-raw
  // endpoint.