summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2008-07-21[tools/multiple-bgpd.sh] make it easier to use IPv6 peer addressesPaul Jakma
2008-07-03[solaris] Sync SMF bits with OpenSolaris SFWPaul Jakma
2008-07-03 Paul Jakma <paul.jakma@sun.com> * quagga.{xml,init}.in: Sync with OpenSolaris SFW. This changes the SMF schema used, from the SMF schema supplied initially with Quagga, to the version which was approved by the Sun PSARC for inclusion into Solaris. This change is incompatible. Settings, such as vty_port, etc. will not transfer over. The Sun schema is however supported by Sun, and supports running Quagga in a zone with IP instances, and configuration via the routeadm utility.
2008-07-03[vtysh] small fix to previous CMD_AS_RANGE patch, and add missing commandPaul Jakma
2008-07-03 MIYAJIMA Mitsuharu <miyajima.mitsuharu@anchor.jp> * extract.pl.in: Fix as-range to match CPP output. * vtysh.c: Add missing router_bgp_view_cmd alias.
2008-07-02[vty] CMD_AS_RANGE accidently quoted and so not expanded in vtyPaul Jakma
2008-07-02 MIYAJIMA Mitsuharu <miyajima.mitsuharu@anchor.jp> * *.c: CMD_AS_RANGE was being used inside command strings, and thus not being expanded, fix by dequoting.
2008-07-02[bgpd] Fix double-free crash in bgp_table_finish, seen with rs-clientPaul Jakma
2008-07-02 Stephen Hemminger <stephen.hemminger@vyatta.com> * bgp_table.{c,h}: (bgp_table_finish) Take a double pointer and scrub pointer in caller, so fixing double-free crashes seen with route-server-client configuration. * *.c: Adjust all callers of bgp_table_finish 2008-07-02 Paul Jakma <paul.jakma@sun.com> * bgp_table.{c,h}: (bgp_node_delete, bgp_table_free) shouldn't be exported.
2008-07-01[zebra] Make BSD link-state deal more gracefully with GIFMEDIA ioctl errorPaul Jakma
2008-07-01 Paul Jakma <paul.jakma@sun.com> * ioctl.c: (if_get_flags) Deal more gracefully with failure of the BSD link-state SIOCGIFMEDIA ioctl, as some interfaces apparently don't implement it (e.g. tun). Also, make BSD link-state checking be conditional on the 'link-detect' interface configuration flag, as it should be. Fixes bug #465.
2008-06-12[tools/multiple-bgpd] setup IPv6 advertismentsPaul Jakma
2008-06-11[administrivia] commit missing ChangeLog update...Paul Jakma
2008-06-10[release] Bump version to 0.99.10Paul Jakma
2008-06-10 Paul Jakma <paul@jakma.org> * configure.ac: Bump version to 0.99.10
2008-06-07[tests] BGP MP_(UN)REACH_NLRI unit tests (actual file..)Paul Jakma
2008-06-07 Paul Jakma <paul@jakma.org * bgp_mp_attr_test.c: MP_(UN)REACH_NLRI unit tests
2008-06-07[lib] trivial: add const qualifier to stream_put/writePaul Jakma
2008-06-07 Paul Jakma <paul@jakma.org> * stream.{c,h}: (stream_{put,write}) add const qualifier to source argument. Change u_char to void *.
2008-06-07[bgpd] minor changes to bgp_mp_reach_parsePaul Jakma
2008-06-07 Paul Jakma <paul@jakma.org> * bgp_attr.{c,h}: (bgp_mp_{un,}reach_parse) export, for unit tests. * bgp_attr.c: (bgp_mp_reach_parse) Add logging. Tighten length test to bounds check against the attribute length rather than the stream length..
2008-06-07[tests] BGP MP_(UN)REACH_NLRI unit testsPaul Jakma
2008-06-07 Paul Jakma <paul@jakma.org * bgp_mp_attr_test.c: MP_(UN)REACH_NLRI unit tests
2008-06-07+ note the meta-queue in NEWSDenis Ovsienko
2008-06-02+ initial edition of meta-queue for RIB updates processing (bug #431)Denis Ovsienko
2008-06-01[bgpd] bug #419: partial aspath-limit incorrectly causes session resetPaul Jakma
2008-06-01 jfletche@gmail.com * bgp_attr.c: (bgp_attr_aspathlimit) fix silly bug in flags check that was causing BGP to drop sessions if it received a aspath-limit with partial set. Fixes bug #419.
2008-06-01[tools] multiple-bgpd.sh: make paths more configurablePaul Jakma
2008-05-29[ripd] Fix mistaken empty string testPaul Jakma
2008-05-29 Stephen Hemminger <stephen.hemminger@vyatta.com> * ripd.c: (rip_auth_md5) fix bogus empty string test
2008-05-29[daemons] Sanity check port number arguments before usePaul Jakma
2008-05-29 Martin Nagy <mnagy@redhat.com> * */*main.c: Sanity check port numbers before using.
2008-05-29[zebra/linux] Use BPF to filter out responses, to try avoid netlink overrunsPaul Jakma
2008-05-29 Stephen Hemminger <stephen.hemminger@vyatta.com> * rt_netlink.c: (netlink_install_filter) BPF filter to catch and drop responses to zebra's own route messages. (kernel_init) add BPF filter on the netlink socket.
2008-04-10+ fix the set statement nameDenis Ovsienko
2008-04-10+ [bgpd] Added new route-map set statement: "as-path ignore"Denis Ovsienko
2008-03-13[bgpd] remove unnecessary 0 entries from struct message'sPaul Jakma
2008-03-13 Paul Jakma <paul.jakma@sun.com> * (various) Remove 0 entries from struct message's, unneeded due to recent improvements in mes_lookup/LOOKUP.
2008-03-13[ripd] remove unnecessary 0 entries from struct message'sPaul Jakma
2008-03-13 Paul Jakma <paul.jakma@sun.com> * ripd.c/rip_interface.c: Remove 0 entries from rip_msg ri_version_msg struct message's, not needed with recent fixes to mes_lookup.
2008-02-28[lib] Fix the struct message LOOKUP function to be more robustPaul Jakma
2008-02-28 Paul Jakma <paul.jakma@sun.com> * log.c: (mes_lookup) Sowmini Varadhan diagnosed a problem where this function can cause a NULL dereference, on lookups for unknown indices, or messages with NULL strings. Can occur, e.g., debug logging code when processing received messages. Fixed to accept a pointer to a default string to be used if there is no match. * log.h: LOOKUP adjusted to match
2008-02-28[lib/linklist] Enforce "nodes must have data" invariant more rigorouslyPaul Jakma
2008-02-28 Paul Jakma <paul.jakma@sun.com> * linklist.c: This implementation expects that the data pointer not be null, e.g. listgetdata() asserts this. The list add methods don't apply the same sanity check. Noted by Jim Carlson in bug #437.
2008-02-26+ fix bug#326 by rib_lookup_and_pushup()Denis Ovsienko
2008-02-26[c++] remove/rename some names in headers that clash with C++ reserved wordsPaul Jakma
2008-01-30 Peter Szilagyi <sp615@hszk.bme.hu> * lib/stream.h: Remove named 'new' parameter in prototype for c++ header compatibility. * ospfd/ospf_opaque.h: ditto * ospfd/ospfd.h: Renamed struct export to _export for c++ header compatibility. * ospf6d/ospf6_area.h: ditto
2008-02-23[tests:bgp] Further tests for 0 sized as_path segmentsPaul Jakma
2008-02-23 Paul Jakma <paul.jakma@sun.com> * aspath_test.c: Test for 0-ASN sequences that still have data.
2008-01-29[isisd] Bug #437: fix ssert caused by bad list managementPaul Jakma
2008-01-29 James Carlson <james.d.carlson@sun.com> * Fix bug #437, assert due to bogus index management * isis_flags.c: (flags_initialize) new * (flags_get_index) fix off by one, leading to list assert on null node data. (flags_free_index) ditto. * isisd.c: (isis_area_create) use flags_initialize (isis_area_destroy) deconfigure circuits when taking down area.
2008-01-29[bgpd] fix crash on startup if compiled IPv4-onlyPaul Jakma
2008-01-29 Jorge Boncompte <jorge@dti2.net> * bgp_network.c: (bgp_socket) IPv4-only version crashes if -l is not used as address will be null.
2008-01-13[solaris] add missing makefile.am dependencyPaul Jakma
2008-01-13 Paul Jakma <paul.jakma@sun.com> * Makefile.am: pkg target should depend on the 'depend.%' files. Crops up now that solaris/ doesn't get descended into by general Quagga build.
2008-01-11[link-detect] Improve BSD support.Andrew J. Schorr
2008-01-11 Ingo Flaschberger <if@xip.at> * configure.ac: Improve HAVE_BSD_LINK_DETECT test.
2008-01-11[link-detect] Improve BSD support.Andrew J. Schorr
2008-01-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu> * lib/zebra.h: Revert previous change, no need to include <net/if_media.h> here. * zebra/ioctl.c: If HAVE_BSD_LINK_DETECT is defined, include <net/if_media.h> (if_get_flags) Remove debug messages about BSD link state. * zebra/kernel_socket.c: (bsd_linkdetect_translate) If link state is unknown, we should set the IFF_RUNNING flag.
2008-01-10[link-detect] Try to get BSD link-detect to work properly.Andrew J. Schorr
2008-01-10 Ingo Flaschberger <if@xip.at> * configure.ac: Define HAVE_BSD_LINK_DETECT if <net/if_media.h> is present. * lib/zebra.h: If HAVE_BSD_LINK_DETECT is defined, include <net/if_media.h>. * zebra/ioctl.c: (if_get_flags) If HAVE_BSD_LINK_DETECT, use the SIOCGIFMEDIA ioctl to ascertain link state. * zebra/kernel_socket.c: (bsd_linkdetect_translate) New function to map the ifm_data.ifi_link_state value into the IFF_RUNNING flag. (ifm_read) Call bsd_linkdetect_translate to fix the IFF_RUNNING flag before calling if_flags_update.
2008-01-08[link-detect] Static interface routes should behave properly with link-detect.Andrew J. Schorr
2008-01-08 Michael Larson <mike@vyatta.com> * zebra_rib.c: (nexthop_active_check) Replace if_is_up with if_is_operative to solve problems with static interface routes not behaving properly with link-detect.
2008-01-08[lib] add mising UL qualifier to numerical constantPaul Jakma
2008-01-08 Pavol Rusnak <prusnak@suse.cz> * memory.c: (mtype_memstr) Fix accidental shift past width of type, constant should have been forced to UL, rather than being left to default to int.
2007-12-22[bgpd] Fix number of DoS security issues, restricted to configured peers.Paul Jakma
2007-12-22 Paul Jakma <paul.jakma@sun.com> * Fix series of vulnerabilities reported by "Mu Security Research Team", where bgpd can be made to crash by sending malformed packets - requires that bgpd be configured with a session to the peer. * bgp_attr.c: (bgp_attr_as4_path) aspath_parse may fail, only set the attribute flag indicating AS4_PATH if we actually managed to parse one. (bgp_attr_munge_as4_attrs) Assert was too general, it is possible to receive AS4_AGGREGATOR before AGGREGATOR. (bgp_attr_parse) Check that we have actually received the extra byte of header for Extended-Length attributes. * bgp_attr.h: Fix BGP_ATTR_MIN_LEN to account for the length byte. * bgp_open.c: (cap_minsizes) Fix size of CAPABILITY_CODE_RESTART, incorrect -2 left in place from a development version of as4-path patch. * bgp_packet.c: (bgp_route_refresh_receive) ORF length parameter needs to be properly sanity checked. * tests/bgp_capability_test.c: Test for empty capabilities.
2007-12-18+ fixed no_set_aspath_prepend() to correctly match existing "set" statementDenis Ovsienko
2007-11-21[bgpd] Fix typo in previous commit to bgp_main.cPaul Jakma
2007-11-13[bgpd] small fix for crash if 'listenon' argument is not givenPaul Jakma
2007-11-13 Paul Jakma <paul.jakma@sun.com> * bgp_main.c: Small fix, format string parameters should never be NULL - it's not strictly valid and some libc's don't let you away with.
2007-11-12+ fixed bug #418 (changing address on an existing interface doesn't cause ↵Denis Ovsienko
existing static routes to be revalidated)
2007-11-012007-10-30 Nick Hilliard <nick@inex.ie>Paul Jakma
* bgp_main.c: Add 'listenon' argument, to pass address to bind to. * bgp_network.c: (bgp_socket) Extend to take bind address. * bgpd.c: (bgp_init) Pass stored address. * bgpd.h: (struct bgp_master) storage for bind address 2007-11-01 Paul Jakma <paul.jakma@sun.com> * tools/multiple-bgpd.sh: New, quick script to launch a bunch of bgpds.
2007-10-24+ fix the bug reported by Milan Kocian (IPv6 route handling was broken by ↵Denis Ovsienko
the RIB debug changeset). after
2007-10-22[ospf6d] Fix removal of defunct ASBR routesPaul Jakma
2007-10-22 Phil Spagnolo <phillip.a.spagnolo@boeing.com> * ospf6_asbr.c: (ospf6_asbr_lsentry_remove) Remove shortcut of LSDB search - it's based on assumption non-BEST routes can't have ASBR routes, which appears to be wrong. Safest to search.
2007-10-22[snmp-smux] Fix problems if 'smux peer ...' is issued multiple timesPaul Jakma
2007-10-22 Lorenzo Colitti <lorenzo@colitti.com> * smux.c: (smux_stop) Avoid cancelling a defunct thread pointer (smux_start) Stop smux before trying to start it, possibly again.
2007-10-22[news] Fix top-line versionPaul Jakma
2007-10-18[tests] Forgot to commit ecommunity_tests.cPaul Jakma
2007-10-14[bgpd] Merge AS4 supportPaul Jakma
2007-10-14 Paul Jakma <paul.jakma@sun.com> * NEWS: Note that MRT dumps are now version 2 * (general) Merge in Juergen Kammer's AS4 patch. 2007-09-27 Paul Jakma <paul.jakma@sun.com> * bgp_aspath.c: (assegment_normalise) remove duplicates from from sets. (aspath_reconcile_as4) disregard a broken part of the RFC around error handling in path reconciliation. * aspath_test.c: Test dupe-weeding from sets. Test that reconciliation merges AS_PATH and AS4_PATH where former is shorter than latter. 2007-09-26 Paul Jakma <paul.jakma@sun.com> * aspath_test.c: Test AS4_PATH reconcilation where length of AS_PATH and AS4_PATH is same. 2007-09-25 Paul Jakma <paul.jakma@sun.com> * bgp_open.c: (peek_for_as4_capability) Fix to work. * bgp_packet.c: (bgp_open_receive) Fix sanity check of as4. * tests/bgp_capability_test.c: (general) Extend tests to validate peek_for_as4_capability. Add test of full OPEN Option block, with multiple capabilities, both as a series of Option, and a single option. Add some crap to beginning of stream, to prevent code depending on getp == 0. 2007-09-18 Paul Jakma <paul.jakma@sun.com> * bgp_open.c: (bgp_capability_as4) debug printf inline with others. (peek_for_as4_capability) There's no need to signal failure, as failure is better dealt with through full capability parser - just return the AS4, simpler. * bgp_packet.c: (bgp_open_receive) Update to match peek_for_as4_capability change. Allow use of BGP_AS_TRANS by 2b speakers. Use NOTIFY_OPEN_ERR rather than CEASE for OPEN parsing errors. (bgp_capability_msg_parse) missing argument to debug print (bgp_capability_receive) missing return values. * tests/bgp_capability_test.c: (parse_test) update for changes to peek_for_as4_capability 2007-07-25 Paul Jakma <paul.jakma@sun.com> * Remove 2-byte size macros, just make existing macros take argument to indicate which size to use. Adjust all users - typically they want '1'. * bgp_aspath.c: (aspath_has_as4) New, return 1 if there are any as4's in a path. (aspath_put) Return the number of bytes actually written, to fix the bug Juergen noted: Splitting of segments will change the number of bytes written from that already written to the AS_PATH header. (aspath_snmp_pathseg) Pass 2-byte flag to aspath_put. SNMP is still defined as 2b. (aspath_aggregate) fix latent bug. (aspath_reconcile_as4) AS_PATH+NEW_AS_PATH reconciliation function. (aspath_key_make) Hash the AS_PATH string, rather than just taking the addition of assegment ASes as the hash value, hopefully sligthly more collision resistant. (bgp_attr_munge_as4_attrs) Collide the NEW_ attributes together with the OLD 2-byte forms, code Juergen had in bgp_attr_parse but re-organised a bit. (bgp_attr_parse) Bunch of code from Juergen moves to previous function. (bgp_packet_attribute) Compact significantly by just /always/ using extended-length attr header. Fix bug Juergen noted, by using aspath_put's (new) returned size value for the attr header rather than the (guesstimate) of aspath_size() - the two could differ when aspath_put had to split large segments, unlikely this bug was ever hit in the 'wild'. (bgp_dump_routes_attr) Always use extended-len and use aspath_put return for header length. Output 4b ASN for AS_PATH and AGGREGATOR. * bgp_ecommunity.c: (ecommunity_{hash_make,cmp}) fix hash callback declarations to match prototypes. (ecommunity_gettoken) Updated for ECOMMUNITY_ENCODE_AS4, complete rewrite of Juergen's changes (no asdot support) * bgp_open.c: (bgp_capability_as4) New, does what it says on the tin. (peek_for_as4_capability) Rewritten to use streams and bgp_capability_as4. * bgp_packet.c: (bgp_open_send) minor edit checked (in the abstract at least) with Juergen. Changes are to be more accepting, e.g, allow AS_TRANS on a 2-byte session. * (general) Update all commands to use CMD_AS_RANGE. * bgp_vty.c: (bgp_clear) Fix return vals to use CMD_.. Remove stuff replicated by VTY_GET_LONG (bgp_clear_vty) Return bgp_clear directly to vty. * tests/aspath_test.c: Exercise 32bit parsing. Test reconcile function. * tests/ecommunity_test.c: New, test AS4 ecommunity changes, positive test only at this time, error cases not tested yet. 2007-07-25 Juergen Kammer <j.kammer@eurodata.de> * (general) AS4 support. * bgpd.h: as_t changes to 4-bytes. * bgp_aspath.h: Add BGP_AS4_MAX and BGP_AS_TRANS defines. * bgp_aspath.c: AS_VALUE_SIZE becomes 4-byte, AS16_VALUE_SIZE added for 2-byte. Add AS16 versions of length calc macros. (aspath_count_numas) New, count number of ASes. (aspath_has_as4) New, return 1 if there are any as4's in a path. (assegments_parse) Interpret assegment as 4 or 2 byte, according to how the caller instructs us, with a new argument. (aspath_parse) Add use32bit argument to pass to assegments_parse. Adjust all its callers to pass 1, unless otherwise noted. (assegment_data_put) Adjust to be able to write 2 or 4 byte AS, according to new use32bit argument. (aspath_put) Adjust to write 2 or 4. (aspath_gettoken) Use a long for passed in asno. * bgp_attr.c: (attr_str) Add BGP_ATTR_AS4_PATH and BGP_ATTR_AS4_AGGREGATOR. (bgp_attr_aspath) Call aspath_parse with right 2/4 arg, as determined by received-capability flag. (bgp_attr_aspath_check) New, code previously in attr_aspath but moved to new func so it can be run after NEW_AS_PATH reconciliation. (bgp_attr_as4_path) New, handle NEW_AS_PATH. (bgp_attr_aggregator) Adjust to cope with 2/4 byte ASes. (bgp_attr_as4_aggregator) New, read NEW_AGGREGATOR. (bgp_attr_parse) Add handoffs to previous parsers for the two new AS4 NEW_ attributes. Various checks added for NEW/OLD reconciliation. (bgp_packet_attribute) Support 2/4 for AS_PATH and AGGREGATOR, detect when NEW_ attrs need to be sent. * bgp_debug.{c,h}: Add 'debug bgp as4'. * bgp_dump.c: MRTv2 support, unconditionally enabled, which supports AS4. Based on patches from Erik (RIPE?). * bgp_ecommunity.c: (ecommunity_ecom2str) ECOMMUNITY_ENCODE_AS4 support. * bgp_open.c: (peek_for_as4_capability) New, peek for AS4 capability prior to full capability parsing, so we know which ASN to use for struct peer lookup. (bgp_open_capability) Always send AS4 capability. * bgp_packet.c: (bgp_open_send) AS4 handling for AS field (bgp_open_receive) Peek for AS4 capability first, and figure out which AS to believe. * bgp_vty.c: (bgp_show_peer) Print AS4 cap * tests/aspath_test.c: Support asn32 changes, call aspath_parse with 16 bit. * vtysh/extract.pl: AS4 compatibility for router bgp ASNUMBER * vtysh/extract.pl.in: AS4 compatibility for router bgp ASNUMBER * vtysh/vtysh.c: AS4 compatibility for router bgp ASNUMBER
2007-10-04+ pidfiles are now always created with 0644 perms instead if LOGFILE_MASK (0600)Denis Ovsienko