~ubuntu-branches/ubuntu/vivid/keepalived/vivid

« back to all changes in this revision

Viewing changes to keepalived/include/vrrp_if.h

  • Committer: Package Import Robot
  • Author(s): Colin Watson
  • Date: 2011-10-25 16:10:58 UTC
  • mfrom: (3.1.7 sid)
  • Revision ID: package-import@ubuntu.com-20111025161058-bgqn5elt0xo1tq0a
Tags: 1:1.2.2-1ubuntu1
* Resynchronise with Debian.  Remaining changes:
  - debian/rules: DEB_UPDATE_RCD_PARAMS := explicit init start/stop
    parameters (don't stop at 0 and 6)
  - debian/init.d: init script header adapted to stop rule
  - debian/keepalived.postinst: Remove shutdown and reboot links
* Build with libnl3, thanks to a patch from Marc - A. Dahlhaus.

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
 *              as published by the Free Software Foundation; either version
18
18
 *              2 of the License, or (at your option) any later version.
19
19
 *
20
 
 * Copyright (C) 2001-2010 Alexandre Cassen, <acassen@freebox.fr>
 
20
 * Copyright (C) 2001-2011 Alexandre Cassen, <acassen@linux-vs.org>
21
21
 */
22
22
 
23
23
#ifndef _VRRP_IF_H
73
73
/* Interface structure definition */
74
74
typedef struct _interface {
75
75
        char ifname[IF_NAMESIZ + 1];    /* Interface name */
76
 
        unsigned int ifindex;   /* Interface index */
77
 
        uint32_t address;       /* Interface main primary IP address */
78
 
        unsigned long flags;    /* flags */
79
 
        unsigned int mtu;       /* MTU for this interface */
80
 
        unsigned short hw_type; /* Type of hardware address */
 
76
        unsigned int ifindex;           /* Interface index */
 
77
        struct in_addr sin_addr;        /* IPv4 primary IPv4 address */
 
78
        struct in6_addr sin6_addr;      /* IPv6 link address */
 
79
        unsigned long flags;            /* flags */
 
80
        unsigned int mtu;               /* MTU for this interface */
 
81
        unsigned short hw_type;         /* Type of hardware address */
81
82
        u_char hw_addr[IF_HWADDR_MAX];  /* MAC address */
82
 
        int hw_addr_len;        /* MAC addresss length */
83
 
        int lb_type;            /* Interface regs selection */
84
 
        int linkbeat;           /* LinkBeat from MII BMSR req */
 
83
        int hw_addr_len;                /* MAC addresss length */
 
84
        int lb_type;                    /* Interface regs selection */
 
85
        int linkbeat;                   /* LinkBeat from MII BMSR req */
85
86
} interface;
86
87
 
87
88
/* Tracked interface structure definition */
93
94
/* Macros */
94
95
#define IF_NAME(X) ((X)->ifname)
95
96
#define IF_INDEX(X) ((X)->ifindex)
96
 
#define IF_ADDR(X) ((X)->address)
 
97
#define IF_ADDR(X) ((X)->sin_addr.s_addr)
97
98
#define IF_MTU(X) ((X)->mtu)
98
99
#define IF_HWADDR(X) ((X)->hw_addr)
99
100
#define IF_MII_SUPPORTED(X) ((X)->lb_type & LB_MII)
104
105
                    if_linkbeat(X))
105
106
 
106
107
/* prototypes */
107
 
extern interface *if_get_by_ifindex(const int ifindex);
108
 
extern interface *if_get_by_ifname(const char *ifname);
109
 
extern int if_linkbeat(const interface *ifp);
110
 
extern int if_mii_probe(const char *ifname);
111
 
extern int if_ethtool_probe(const char *ifname);
112
 
extern void if_add_queue(interface * ifp);
113
 
extern int if_monitor_thread(thread * thread_obj);
 
108
extern interface *if_get_by_ifindex(const int);
 
109
extern interface *if_get_by_ifname(const char *);
 
110
extern int if_linkbeat(const interface *);
 
111
extern int if_mii_probe(const char *);
 
112
extern int if_ethtool_probe(const char *);
 
113
extern void if_add_queue(interface *);
 
114
extern int if_monitor_thread(thread_t *);
114
115
extern void init_interface_queue(void);
115
116
extern void init_interface_linkbeat(void);
116
117
extern void free_interface_queue(void);
117
 
extern void dump_if(void *if_data_obj);
118
 
extern int if_join_vrrp_group(int sd, interface * ifp, int proto);
119
 
extern void if_leave_vrrp_group(int sd, interface * ifp);
120
 
extern int if_setsockopt_bindtodevice(int sd, interface * ifp);
121
 
extern int if_setsockopt_hdrincl(int sd);
122
 
extern int if_setsockopt_mcast_loop(int sd);
 
118
extern void dump_if(void *);
 
119
extern int if_join_vrrp_group(sa_family_t, int *, interface *, int);
 
120
extern int if_leave_vrrp_group(sa_family_t, int, interface *);
 
121
extern int if_setsockopt_bindtodevice(int *, interface *);
 
122
extern int if_setsockopt_hdrincl(int *);
 
123
extern int if_setsockopt_mcast_loop(sa_family_t, int *);
 
124
extern int if_setsockopt_mcast_hops(sa_family_t, int *);
 
125
extern int if_setsockopt_mcast_if(sa_family_t, int *, interface *);
123
126
 
124
127
#endif