115025Salexsch#ifndef _IP_CARP_NL_H
217113Sihse#define _IP_CARP_NL_H
315025Salexsch
415025Salexsch#include <net/if.h>
515025Salexsch
615025Salexsch#include <netinet/ip_carp.h>
715025Salexsch#include <netlink/netlink_generic.h>
815025Salexsch
915025Salexsch/*
1015025Salexsch * Netlink interface to carp(4).
1115025Salexsch */
1215025Salexsch
1315025Salexsch#define CARP_NL_FAMILY_NAME	"carp"
1415025Salexsch
1515025Salexsch/* commands */
1615025Salexschenum {
1715025Salexsch	CARP_NL_CMD_UNSPEC	= 0,
1815025Salexsch	CARP_NL_CMD_GET		= 1,
1915025Salexsch	CARP_NL_CMD_SET		= 2,
2015025Salexsch	__CARP_NL_CMD_MAX,
2115025Salexsch};
2215025Salexsch#define	CARP_NL_CMD_MAX	(__CARP_NL_CMD_MAX - 1)
2315025Salexsch
2415025Salexschenum carp_nl_type_t {
2515025Salexsch	CARP_NL_UNSPEC,
2615025Salexsch	CARP_NL_VHID		= 1,	/* u32 */
2715025Salexsch	CARP_NL_STATE		= 2,	/* u32 */
2815025Salexsch	CARP_NL_ADVBASE		= 3,	/* s32 */
2915025Salexsch	CARP_NL_ADVSKEW		= 4,	/* s32 */
3015025Salexsch	CARP_NL_KEY		= 5,	/* byte array */
3115025Salexsch	CARP_NL_IFINDEX		= 6,	/* u32 */
3215025Salexsch	CARP_NL_ADDR		= 7,	/* in_addr_t */
3315025Salexsch	CARP_NL_ADDR6		= 8,	/* in6_addr_t */
3415025Salexsch	CARP_NL_IFNAME		= 9,	/* string */
3515025Salexsch	CARP_NL_VERSION		= 10,	/* u8 */
3615025Salexsch	CARP_NL_VRRP_PRIORITY	= 11,	/* u8 */
3715025Salexsch	CARP_NL_VRRP_ADV_INTER	= 12,	/* u16, 12-bit field in centiseconds*/
3815025Salexsch};
3915025Salexsch
4015025Salexsch#endif
4115025Salexsch