mirror of
https://github.com/freebsd/freebsd-src
synced 2024-09-06 17:18:32 +00:00
![Kristof Provost](/assets/img/avatar_default.png)
Allow carp(4) to use the VRRPv3 protocol (RFC 5798). We can distinguish carp and VRRP based on the protocol version number (carp is 2, VRRPv3 is 3), and support both from the carp(4) code. Reviewed by: glebius Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D44774
41 lines
870 B
C
41 lines
870 B
C
#ifndef _IP_CARP_NL_H
|
|
#define _IP_CARP_NL_H
|
|
|
|
#include <net/if.h>
|
|
|
|
#include <netinet/ip_carp.h>
|
|
#include <netlink/netlink_generic.h>
|
|
|
|
/*
|
|
* Netlink interface to carp(4).
|
|
*/
|
|
|
|
#define CARP_NL_FAMILY_NAME "carp"
|
|
|
|
/* commands */
|
|
enum {
|
|
CARP_NL_CMD_UNSPEC = 0,
|
|
CARP_NL_CMD_GET = 1,
|
|
CARP_NL_CMD_SET = 2,
|
|
__CARP_NL_CMD_MAX,
|
|
};
|
|
#define CARP_NL_CMD_MAX (__CARP_NL_CMD_MAX - 1)
|
|
|
|
enum carp_nl_type_t {
|
|
CARP_NL_UNSPEC,
|
|
CARP_NL_VHID = 1, /* u32 */
|
|
CARP_NL_STATE = 2, /* u32 */
|
|
CARP_NL_ADVBASE = 3, /* s32 */
|
|
CARP_NL_ADVSKEW = 4, /* s32 */
|
|
CARP_NL_KEY = 5, /* byte array */
|
|
CARP_NL_IFINDEX = 6, /* u32 */
|
|
CARP_NL_ADDR = 7, /* in_addr_t */
|
|
CARP_NL_ADDR6 = 8, /* in6_addr_t */
|
|
CARP_NL_IFNAME = 9, /* string */
|
|
CARP_NL_VERSION = 10, /* u8 */
|
|
CARP_NL_VRRP_PRIORITY = 11, /* u8 */
|
|
CARP_NL_VRRP_ADV_INTER = 12, /* u16, 12-bit field in centiseconds*/
|
|
};
|
|
|
|
#endif
|