freebsd-src/sys/netinet/ip_carp_nl.h
Kristof Provost 3711515467 carp: support VRRPv3
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
2024-05-08 13:19:03 +02:00

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