---
name: "umad_register_oui"
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_oui"
---

# umad\_register\_oui(3)

register the specified class in vendor range 2 for port

## NAME

umad\_register\_oui - register the specified class in vendor range 2 for port

## SYNOPSIS

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

int umad_register_oui(int portid, int mgmt_class, uint8_t rmpp_version, uint8_t oui[3], uint32_t method_mask[4]);
```

## DESCRIPTION

**umad\_register\_oui()** registers the specified class in vendor range 2, the specified *oui,* and whether RMPP is being used for the port specified by the *portid* handle. 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 or class is not in the vendor class 2 range\
  \-EPERM  registration failed

## SEE ALSO

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

## AUTHOR

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