Statistics
| Branch: | Revision:

iof-bird-daemon / proto / ospf / rt.h @ c27b2449

History | View | Annotate | Download (1.2 KB)

1
/*
2
 *      BIRD -- OSPF
3
 *
4
 *      (c) 2000--2004 Ondrej Filip <feela@network.cz>
5
 *
6
 *      Can be freely distributed and used under the terms of the GNU GPL.
7
 *
8
 */
9

    
10
#ifndef _BIRD_OSPF_RT_H_
11
#define _BIRD_OSPF_RT_H_
12

    
13
#define ORT_UNDEF -1
14
#define ORT_ROUTER 1
15
#define ORT_NET 0
16

    
17
typedef struct orta
18
{
19
  int type;
20
  u32 options;                        
21
  /* router-LSA style options (for ORT_ROUTER), with V,E,B bits.
22
     In OSPFv2, ASBRs from another areas (that we know from rt-summary-lsa),
23
     have just ORTA_ASBR in options, their real options are unknown */
24
#define ORTA_ASBR OPT_RT_E
25
#define ORTA_ABR  OPT_RT_B
26
  struct ospf_area *oa;
27
  u32 metric1;
28
  u32 metric2;
29
  ip_addr nh;                        /* Next hop */
30
  struct ospf_iface *ifa;        /* Outgoing interface */
31
  struct top_hash_entry *ar;        /* Advertising router (or ABR) */
32
  u32 tag;
33
  u32 rid;                        /* Router ID of real advertising router */
34
  /* For ext-LSA from different area, 'ar' is a type 1 LSA of ABR.
35
     Router ID of real advertising router is stored in 'rid'. */
36
}
37
orta;
38

    
39
typedef struct ort
40
{
41
  struct fib_node fn;
42
  orta n;
43
  orta o;
44
  struct ort *efn;                /* For RFC1583 */
45
}
46
ort;
47

    
48
void ospf_rt_spf(struct proto_ospf *po);
49
void ospf_rt_initort(struct fib_node *fn);
50

    
51

    
52
#endif /* _BIRD_OSPF_RT_H_ */