summaryrefslogtreecommitdiffstats
path: root/proto/ospf/ospf.h
diff options
context:
space:
mode:
Diffstat (limited to 'proto/ospf/ospf.h')
-rw-r--r--proto/ospf/ospf.h22
1 files changed, 15 insertions, 7 deletions
diff --git a/proto/ospf/ospf.h b/proto/ospf/ospf.h
index 44a8e79..2965d8e 100644
--- a/proto/ospf/ospf.h
+++ b/proto/ospf/ospf.h
@@ -10,12 +10,18 @@
#define _BIRD_OSPF_H_
#define OSPF_PROTO 89
+#ifndef IPV6
#define AllSPFRouters ipa_from_u32(0xe0000005) /* 224.0.0.5 */
#define AllDRouters ipa_from_u32(0xe0000006) /* 224.0.0.6 */
+#else
+#error Multicast address not defined
+#endif
+
struct ospf_config {
struct proto_config c;
- ip_addr area; /* Area ID !!! This is wrong !!! */
+ u32 area; /* Area ID !!! This is wrong !!!
+ * Should respect interface */
list iface_list;
};
@@ -35,12 +41,14 @@ struct ospf_iface {
u16 autype;
u8 aukey[8];
u8 options;
- ip_addr dr; /* Designated router */
- ip_addr bdr; /* Backup DR */
- byte mode;
-#define OSPF_IM_MULTICAST 0
-#define OSPF_IM_PTP 1
-#define OSPF_IM_NBMA 2
+ ip_addr drip; /* Designated router */
+ u32 drid;
+ ip_addr bdrip; /* Backup DR */
+ u32 bdrid;
+ int type;
+#define OSPF_IM_BROADCAST 0
+#define OSPF_IM_NBMA 1
+#define OSPF_IM_PTP 2
/* Default values for interface parameters */
#define COST_D 10