summaryrefslogtreecommitdiffstats
path: root/nest/iface.h
blob: 454c05013c86c10d99d92f926b32134ea08282b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/*
 *	BIRD Internet Routing Daemon -- Network Interfaces
 *
 *	(c) 1998 Martin Mares <mj@ucw.cz>
 *
 *	Can be freely distributed and used under the terms of the GNU GPL.
 */

#ifndef _BIRD_IFACE_H_
#define _BIRD_IFACE_H_

#include "lib/lists.h"

struct iface {
  node n;
  char *name;
  unsigned flags;
  unsigned mtu;
  struct ifa *ifa;			/* First address is primary */
  unsigned index;			/* OS-dependent interface index */
};

#define IF_UP 1
#define IF_MULTIACCESS 2
#define IF_UNNUMBERED 4
#define IF_BROADCAST 8
#define IF_MULTICAST 16
#define IF_TUNNEL 32

/* Interface address */

struct ifa {
  struct ifa *next;
  ip_addr ip;				/* IP address of this host */
  ip_addr prefix;			/* Network prefix */
  unsigned pxlen;			/* Prefix length */
  ip_addr brd;				/* Broadcast address */
  ip_addr opposite;			/* Opposite end of a point-to-point link */
  struct neighbor *neigh;		/* List of neighbors on this interface */
};

#endif