summaryrefslogtreecommitdiff
path: root/ospfd/ospfd.c
AgeCommit message (Collapse)Author
2005-07-122005-07-12 Paul Jakma <paul.jakma@sun.com>paul
* ospfd.h: add OSPF_ABR_DEFAULT for convenience, make OSPF_ABR_CISCO be the default ABR type. * ospfd.c: (ospf_new) initialise abr_type to OSPF_ABR_DEFAULT * ospf_vty.c: (no_ospf_abr_type_cmd) add standard as a negatable abr_type. default abr_type should be OSPF_ABR_DEFAULT. (ospf_config_write) test whether default abr_type against OSPF_ABR_DEFAULT, rather than any specific ABR_TYPE.
2005-05-062005-05-06 Paul Jakma <paul.jakma@sun.com>paul
* (general) extern and static qualifiers added. unspecified arguments in definitions fixed, typically they should be 'void'. function casts added for callbacks. Guards added to headers which lacked them. Proper headers included rather than relying on incomplete definitions. gcc noreturn function attribute where appropriate. * ospf_opaque.c: remove the private definition of ospf_lsa's ospf_lsa_refresh_delay. * ospf_lsa.h: export ospf_lsa_refresh_delay * ospf_packet.c: (ospf_make_md5_digest) make *auth_key const, correct thing to do - removes need for the casts later. * ospf_vty.c: Use vty.h's VTY_GET_INTEGER rather than ospf_vty's home-brewed versions, shuts up several warnings. * ospf_vty.h: remove VTY_GET_UINT32. VTY_GET_IPV4_ADDRESS and VTY_GET_IPV4_PREFIX moved to lib/vty.h. * ospf_zebra.c: (ospf_distribute_list_update_timer) hacky overloading of the THREAD_ARG pointer should at least use uintptr_t.
2005-04-072005-04-07 Paul Jakma <paul.jakma@sun.com>paul
* (global): Fix up list loops to match changes in lib/linklist, and some basic auditing of usage. * configure.ac: define QUAGGA_NO_DEPRECATED_INTERFACES * HACKING: Add notes about deprecating interfaces and commands. * lib/linklist.h: Add usage comments. Rename getdata macro to listgetdata. Rename nextnode to listnextnode and fix its odd behaviour to be less dangerous. Make listgetdata macro assert node is not null, NULL list entries should be bug condition. ALL_LIST_ELEMENTS, new macro, forward-referencing macro for use with for loop, Suggested by Jim Carlson of Sun. Add ALL_LIST_ELEMENTS_RO for cases which obviously do not need the "safety" of previous macro. LISTNODE_ADD and DELETE macros renamed to ATTACH, DETACH, to distinguish from the similarly named functions, and reflect their effect better. Add a QUAGGA_NO_DEPRECATED_INTERFACES define guarded section with the old defines which were modified above, for backwards compatibility - guarded to prevent Quagga using it.. * lib/linklist.c: fix up for linklist.h changes. * ospf6d/ospf6_abr.c: (ospf6_abr_examin_brouter) change to a single scan of the area list, rather than scanning all areas first for INTER_ROUTER and then again for INTER_NETWORK. According to 16.2, the scan should be area specific anyway, and further ospf6d does not seem to implement 16.3 anyway.
2005-02-232005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>ajs
* ospfd.h: Add new field struct stream *ibuf to struct ospf. * ospfd.c: (ospf_new) Check return code from ospf_sock_init. Allocate ibuf using stream_new(OSPF_MAX_PACKET_SIZE+1). (ospf_finish) Call stream_free(ospf->ibuf. * ospf_packet.c: (ospf_read) Call stream_reset(ospf->ibuf) and then pass it to ospf_recv_packet for use in receiving the packet (instead of allocating a new stream for each packet received). Eliminate all calls to stream_free(ibuf). (ospf_recv_packet) The struct stream *ibuf is now passed in as an argument. No need to use recvfrom to peek at the packet header (to see how big it is), just use ospf->ibuf which is always large enough (this eliminates a system call to recvfrom). Therefore, no need to allocate a stream just for this packet, and no need to free it when done.
2004-12-082004-12-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>ajs
* *.c: Change level of debug messages to LOG_DEBUG.
2004-11-042004-11-04 Paul Jakma <paul@dishone.st>paul
* ospfd.c: (ospf_network_match_iface) revert to previous network statement match behaviour.
2004-10-19OK. Here it is - PtP patch from Andrew J. Schorr. No problems with ospfd,hasso
ripd might need some more testing though.
2004-10-112004-10-11 Paul Jakma <paul@dishone.st>paul
* (global) Const char update and signed/unsigned fixes. * (various headers) size defines should be unsigned. * ospf_interface.h: remove duplicated defines, include the authoritative header - though, these defines should probably be moved to a dedicated header, or ospfd.h. * ospf_lsa.h: (struct lsa) ls_seqnum should be unsigned. * ospf_packet.c: (ospf_write) cast result of shift to unsigned.
2004-10-03Common router id.hasso
2004-09-23Remove usage of evil list and listnode typedefs.hasso
2004-06-20Remove ifdef's HAVE_NSSA. NSSA support is stable enough.hasso
2004-05-10* Make updating redistributions work if prefix list is changed and it'shasso
used in route-map used to filter redistributions. * Move ospf_prefix_list_update() function from ospfd.c to ospf_zebra.c.
2004-04-20Some ospfd fixes - [quagga-dev 1032], [quagga-dev 1048], [quagga-dev 1058].hasso
2003-12-05 * ospfd.c (ospf_network_match_iface): Rewrite code for claritygdt
while trying not to change semantics. Add ifdefed-out code to avoid matching ppp interfaces whose destination address does not also match the prefix under consideration, to help out people with problems due to as-yet-unfixed bugs with p2p interfaces coming and going.
2003-10-272003-10-27 Simon <lists@routemeister.net>paul
* ospfd/ospfd.c: if_is_pointopoint() takes (struct interface *), was being called with struct connected. Change to co->ifp.
2003-10-272003-10-27 kamatchi soundaram <kamatchi@tdd.sj.nec.com>paul
* ospfd/ospfd.c: Do not increment act_int for an area, as it is done by ospf_ism.c::ism_change_state() - results in incorrect figure for active interfaces in an area.
2003-09-292003-09-29 Paul Jakma <paul@dishone.st>paul
* zebra/connected.c: revert the 'generic PtP' patch as it causes far too many problems. People who use FreeSWAN should investigate native linux ipsec. * zebra/rt_netlink.c: ditto * lib/if.c: ditto * ripd/ripd.h: ditto * ripd/ripd.c: ditto * ripd/rip_interface.c: ditto * ospfd/ospfd.c: ditto * ospfd/ospf_snmp.c: ditto * bgpd/bgp_nexthop.c: ditto
2003-08-272003-08-27 Jay Fenlason <fenlason@redhat.com>paul
* bgpd/bgp_routemap.c: attr->med is type u_in32_t, should be compared with UINT32_MAX * ospfd/ospfd.c: remove redundant assert * zebra/rtadv.c: add missing include for zebra/rib.h
2003-07-122003-07-12 Paul Jakma <paul@dishone.st>paul
* (global): Add/fixup NSSA ABR translation functionality * ospfd.h: Adjust the NSSA ROLE defines. Rename STATE to TRANSLATE. Rename the LSA_NSSA_GET define to LSA_OPTIONS_NSSA_GET. * ospfd.c: Adjust to match changes to ospfd.h * ospf_te.c: Adjust to match change to LSA_NSSA_GET. * ospf_lsa.h: slights reformatting. Add new NSSA functions, ospf_translated_nssa_compare() (not currently used), ospf_translated_nssa_refresh() and ospf_translated_nssa_originate(). * ospf_lsa.c: Implemented aforementioned new functions. Fix up several NSSA hooks to /not/ be called for Type-5s which are translated. Add additional hooks. Set the ROUTER_LSA_NT bit in router-lsa flags if ABR does translation. New function, ospf_lsa_translated_nssa_new() implemented. Dont register translated LSAs for refreshing - instead we implicitly rely on the ASBR refreshing the Type-7, and refresh the translated Type-5 at the same time. Some minor reformatting. Extra debug info added. Also, existing debug statements modified to report LSA Id. * ospf_flood.c: call ospf_translated_nssa_refresh() when refreshing Type-7. minor reformatting. * ospf_dump.c: Dump NSSA LSAs. * ospf_asbr.h: slight reformatting. Export ospf_external_route_lookup() (though, not used. probably will undo this). * ospf_abr.c: Slight reformatting in many places. Update to match ospfd.h changes. (ospf_abr_translate_nssa): make it work, using the new ospf_lsa translation functions. (Several places): change struct prefix * to struct prefix_ipv4 *. (might as well do the casts at higher levels). Add more debug info. (ospf_abr_announce_stub_defaults): announce default to NSSA areas too. (ospf_abr_announce_nssa_defaults): do nothing. this function probably should die. (see ospf_abr_announce_stub_defaults). (ospf_abr_task_timer): run NSSA tasks.
2003-06-222003-06-19 Paul Jakma <paul@dishone.st>paul
* ospfd.c (ospf_area_nssa_set): Set defaults for NSSA Role, State and Stability Interval and no_summary. (ospf_area_nssa_translator_role_(un?)set): Update to NSSATranslatorRole
2003-06-042003-06-04 Paul Jakma <paul@dishone.st>paul
* Merge of zebra privileges
2003-04-19From: Hasso Tepper <hasso@estpak.ee>paul
Subject: [zebra 17365] [PATCH] Ospf area id's DECIMAL -> ADDRESS It was annoying for me to view area id's like 335544330 (20.0.0.10 in address format) in configuration. Most of other network devices are using address-like id's and so does zebra when using "show ip ospf *" commands. You can still enter id's in decimal format, but they are just shown in address format.
2003-04-07Indentation fixpaul
2003-04-042003-04-04 Paul Jakma <paul@dishone.st>paul
* Sync to Zebra CVS * Fix lib/thread.h leak * Fix small Opaque LSA leak * Do not configure OSPF interfaces for secondary addresses * vtysh fixes from Hasso * Dave Watson's missing ntohs fix
2003-03-28Do not configure ospf for secondary prefixes.paul
Preliminary fix to at least allow heartbeat to work with ospfd when Heartbeat failover address has same prefixlength as main address.
2003-03-252003-03-25 Paul Jakma <paul@dishone.st>paul
* sync to latest zebra CVS * spec file: updated and added define for ospf-api/client NB: OSPF-API has been broken by the zebra.org changes, which has added struct ospf * as a new arg to many functions
2003-02-19doh! small fix for previous fix to allow ospfd to compile.paul
2003-02-181. ospf_opaque_type10_lsa_term (area) - was being called afterpaul
ospf_lsdb_free had been called. (efence caught this one). This bug is present in zebra.org CVS 2. It fixes my previous ospf_network_match_iface patch ([zebra 17352]) - i lost a couple of checks in ospf_network_run() by mistake. this patch isnt in zebra.org CVS, but it would be nice to have it once it works. This hopefully fixes the 'assert rn->info' problems people had with zebra-pj yesterday.
2003-01-25Paul Jakma:paul
[zebra 17352] ospf network matching (aka need for peer /32 for PtP) change behaviour of network <prefix> area N statement wrt to PtP.
2002-12-13[zebra 14631] Generic PtP and RFC3021 interface addressing supportpaul
2002-12-13zebra link state detection supportpaul
2002-12-13Initial revisionpaul