ares_set_local_dev(3)

ares_set_local_dev3

Bind to a specific network device when creating sockets.

Usage

#include <ares.h>
void ares_set_local_dev(ares_channel_t *channel, const char* local_dev_name)

Overview

The ares_set_local_dev function causes all future sockets to be bound to this device with SO_BINDTODEVICE. This forces communications to go over a certain interface, which can be useful on multi-homed machines. This option is only supported on Linux, the interface must not be already bound to the socket or the current effective user must have CAP_NET_RAW capability in the current network namespace for the option to work. If SO_BINDTODEVICE is not supported or the setsockopt call fails (probably because of permissions), the error is silently ignored.

Notes

This function was added in c-ares 1.7.4

Releases

6 releases since Debian 9 (Stretch); the text changed 2 times.

  1. 9
  2. 10–12
  3. 13–Arch

From c-ares 1.34.9-1 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.