---
name: "umad_register"
section: "3"
platform: "linux"
package: "rdma-core"
version: "65.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/umad_register"
---

# umad\_register(3)

register the specified management class and version for port

## NAME

umad\_register - register the specified management class and version for port

## SYNOPSIS

```
#include <infiniband/umad.h>

int umad_register(int portid, int mgmt_class, int mgmt_version , uint8_t rmpp_version, long method_mask[16/sizeof(long)]);
```

## DESCRIPTION

**umad\_register()** registers the specified management class, management version, and whether RMPP is being used for the port specified by the *portid* parameter. If *method\_mask* array is provided, the caller is registered as a replier (server) for the methods having their corresponding bit on in the *method\_mask.* If *method\_mask* is NULL, the caller is registered as a MAD client, meaning that it can only receive replies on MADs that it sent (solicited MADs).

## RETURN VALUE

**umad\_register()** returns non-negative agent id number on success, and a negative value on error as follows:\
  \-EINVAL invalid port handle\
  \-EPERM  registration failed

## SEE ALSO

**[umad\_register\_oui(3)](/umad_register_oui/3.md),** [**umad\_unregister**(3)](/umad_unregister/3.md)

## AUTHOR

- Hal Rosenstock \<halr@voltaire.com\>
