diff options
author | Joakim Tjernlund <joakim.tjernlund@transmode.se> | 2009-08-24 11:48:34 +0000 |
---|---|---|
committer | David Lamparter <equinox@diac24.net> | 2010-02-04 01:18:21 +0100 |
commit | 58bfa5562817306f14cd7d41953a2740056e1afc (patch) | |
tree | a8cf512088255220ce493279229aed05670cde51 /ospfd/ospf_route.h | |
parent | f03edb371c3e0b389f15600ceb283055033085e6 (diff) | |
download | quagga-58bfa5562817306f14cd7d41953a2740056e1afc.tar.bz2 quagga-58bfa5562817306f14cd7d41953a2740056e1afc.tar.xz |
ospfd: Add new host route command
Add static host routes into router LSA.
See RFC 2328 chapter 12.4 and Appendix C.7
Syntax:
router ospf
ip ospf host A.B.C.D area (A.B.C.D|<0-4294967295>|all) cost <0-65535>
no ip ospf host A.B.C.D area (A.B.C.D|<0-4294967295>|all)
* ospfd/ospf_route.h: Add struct ospf_host_route
* ospfd/ospf_lsa.c: (router_lsa_link_set) Add host routes to Router LSA.
* ospfd/ospf_vtc.c: Impl. ip_ospf_host_cmd and no_ip_ospf_host_cmd.
(ospf_config_write) Write out host routes to config.
* ospfd/ospf_ospfd.c: (ospf_new) Allocate new host route list.
(ospf_finish_filnal) Free host list.
(ospf_area_check_free) Check if any host routes in
area before freeing.
* ospfd/ospf_ospfd.h: Add a host list to struct ospf.
Diffstat (limited to 'ospfd/ospf_route.h')
-rw-r--r-- | ospfd/ospf_route.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/ospfd/ospf_route.h b/ospfd/ospf_route.h index 17ab68e5..5483aaf5 100644 --- a/ospfd/ospf_route.h +++ b/ospfd/ospf_route.h @@ -121,6 +121,12 @@ struct ospf_route } u; }; +struct ospf_host_route { + struct in_addr host_addr; + u_int32_t cost; /* i.e. metric. */ + struct ospf_area *area; /* NULL == all areas */ +}; + extern struct ospf_path *ospf_path_new (void); extern void ospf_path_free (struct ospf_path *); extern struct ospf_path *ospf_path_lookup (struct list *, struct ospf_path *); |