code: func (h *Handle) setNetNsId(attrType int, val uint32, newnsid uint32) error {
  	req := h.newNetlinkRequest(unix.RTM_NEWNSID, unix.NLM_F_REQUEST|unix.NLM_F_ACK)
  
  	rtgen := nl.NewRtGenMsg()
  	req.AddData(rtgen)
  
  	b := make([]byte, 4, 4)
  	native.PutUint32(b, val)
  	attr := nl.NewRtAttr(attrType, b)
  	req.AddData(attr)
  
  	b1 := make([]byte, 4, 4)
  	native.PutUint32(b1, newnsid)
  	attr1 := nl.NewRtAttr(NETNSA_NSID, b1)
  	req.AddData(attr1)
  
  	_, err := req.Execute(unix.NETLINK_ROUTE, unix.RTM_NEWNSID)
  	return err
  }
docs: // setNetNsId sets the netnsid for a given type-val pair
  // type should be either NETNSA_PID or NETNSA_FD
  // The ID can only be set for namespaces without an ID already set