diff options
author | Ondrej Filip <feela@network.cz> | 2004-07-13 13:58:50 +0200 |
---|---|---|
committer | Ondrej Filip <feela@network.cz> | 2004-07-13 13:58:50 +0200 |
commit | 621ccdfe5acd2889956ec0f8e96b812acd09f168 (patch) | |
tree | 61b4973caa5de3ca4197ca3b92c08759560ec787 /proto/ospf/ospf.h | |
parent | 9baece57d308d9e0d8eaab9d068471e1884817b8 (diff) | |
download | bird-621ccdfe5acd2889956ec0f8e96b812acd09f168.tar bird-621ccdfe5acd2889956ec0f8e96b812acd09f168.zip |
Bugfix - options bits were not included in LSAs
Bugfix - E bit was not unset on stub areas.
Diffstat (limited to 'proto/ospf/ospf.h')
-rw-r--r-- | proto/ospf/ospf.h | 36 |
1 files changed, 32 insertions, 4 deletions
diff --git a/proto/ospf/ospf.h b/proto/ospf/ospf.h index 2a499f7..ea77aa9 100644 --- a/proto/ospf/ospf.h +++ b/proto/ospf/ospf.h @@ -95,6 +95,34 @@ struct ospf_area_config list net_list; }; +struct obits +{ +#ifdef _BIG_ENDIAN + u8 unused2:2; + u8 dc:1; + u8 ea:1; + u8 np:1; + u8 mc:1; + u8 e:1; + u8 unused1:1; +#else + u8 unused1:1; + u8 e:1; + u8 mc:1; + u8 np:1; + u8 ea:1; + u8 dc:1; + u8 unused2:2; +#endif +}; + +union options +{ + u8 byte; + struct obits bit; +}; + + struct ospf_iface { node n; @@ -111,8 +139,6 @@ struct ospf_iface u16 inftransdelay; /* The estimated number of seconds it takes to transmit a Link State Update Packet over this interface. LSAs contained in the update */ - u8 priority; /* A router priority for DR election */ - u16 helloint; /* number of seconds between hello sending */ u32 waitint; /* number of sec before changing state from wait */ u32 rxmtint; /* number of seconds between LSA retransmissions */ u32 pollint; /* Poll interval */ @@ -121,7 +147,7 @@ struct ospf_iface ip_addr vip; /* IP of peer of virtual link */ struct ospf_area *voa; /* Area wich the vlink goes through */ u16 autype; - u8 options; + u16 helloint; /* number of seconds between hello sending */ list *passwords; u32 csn; /* Crypt seq num. that will be sent net */ ip_addr drip; /* Designated router */ @@ -136,7 +162,6 @@ struct ospf_iface #define OSPF_IT_UNDEF 4 u8 strictnbma; /* Can I talk with unknown neighbors? */ u8 stub; /* Inactive interface */ - u8 ioprob; #define OSPF_I_OK 0 /* Everything OK */ #define OSPF_I_MC 1 /* I didn't open MC socket */ #define OSPF_I_IP 2 /* I didn't open IP socet */ @@ -166,6 +191,8 @@ struct ospf_iface int orignet; /* Schedule network LSA origination */ int fadj; /* Number of full adjacent neigh */ list nbma_list; + u8 priority; /* A router priority for DR election */ + u8 ioprob; }; struct ospf_md5 @@ -494,6 +521,7 @@ struct ospf_area struct proto_ospf *po; unsigned tick; struct fib rtr; /* Routing tables for routers */ + union options opt; /* RFC2328 - A.2 */ }; struct proto_ospf |