uvrrpd is a VRRP daemon written in C, providing an implementation of VRRPv2 (rfc3768) and VRRPv3 (rfc5798), with IPv4 and IPv6 support.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

42 lines
1.2 KiB

/*
* vrrp_state.h - VRRP state machine
*
* Copyright (C) 2014 Arnaud Andre
*
* This file is part of uvrrpd.
*
* uvrrpd is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* uvrrpd is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with uvrrpd. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef _VRRP_STATE_H_
#define _VRRP_STATE_H_
/**
* vrrp_state - VRRP states
*/
typedef enum {
INIT,
BACKUP,
MASTER
} vrrp_state;
#define STR_STATE(s) (s == INIT ? "init" : \
((s == BACKUP) ? "backup" : "master"))
int vrrp_state_init(struct vrrp *vrrp, struct vrrp_net *vnet);
int vrrp_state_master(struct vrrp *vrrp, struct vrrp_net *vnet);
int vrrp_state_backup(struct vrrp *vrrp, struct vrrp_net *vnet);
#endif /* _VRRP_STATE_H_ */