summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* bgpd: improve "show ip bgp scan detail"Denis Ovsienko2011-08-091-2/+22
| | | | | * bgp_nexthop.c (show_ip_bgp_scan_tables): access proper structure field in AF_INET6 case, handle ifindex NH type properly
* bgpd: dismiss some zlookup checksDenis Ovsienko2011-08-081-32/+6
| | | | | | | bgp_nexthop_onlink(): zlookup is not used here at all bgp_nexthop_lookup_ipv6(): rely on the detection performed by "query" function (this also changes the fallback value to 0), reorder if-block bgp_nexthop_lookup(): idem
* bgpd: add "show ip bgp scan detail" commandDenis Ovsienko2011-08-051-15/+44
| | | | | | * bgp_nexthop.c: (show_ip_bgp_scan) transform into show_ip_bgp_scan_tables(), which uses inet_ntop() and can dump nexthops on request; (show_ip_bgp_scan_detail_cmd) new function
* bgpd: touch nexthop handling codeDenis Ovsienko2011-08-053-19/+15
| | | | | | | | bgp_nexthop_lookup_ipv6(): declare variables where they are actually used, drop no-op initialization (the field is already 0) bgp_nexthop_lookup(): ditto bgp_nexthop_check_ebgp(): rename to bgp_nexthop_onlink() bgp_nexthop_cache_changed(): rename to bgp_nexthop_cache_different()
* bgpd: use XCALLOC to allocate bgpd damp arrayStephen Hemminger2011-08-031-5/+1
| | | | | | | * bgpd: (bgp_damp_parameter_set) The BGP reuse_index is not initialized properly. This would cause sporadic crash when disabling dampening. Use XCALLOC correctly and the right size array is initialized and no memset is needed.
* lib: fix more format warnings (#637)Christian Hammers2011-08-032-2/+2
| | | | | | | The following patch was also neccessary to compile. * command.c: (config_logmsg_cmd) use "%s" format spec * if.c: (connected_log) ditto
* ospfd: remove useless RFC1583 checkAlexandre Chappuis2011-08-021-4/+0
| | | | | | | | | | * ospf_route.c: Function ospf_asbr_route_cmp is called uniquely from ospf_route_cmp() when the flag OSPF_RFC1583_COMPATIBLE is not set. Therefore, the check that the flag is set doesn't make sense at all and it can consequently be removed without doing any harm. Signed-off-by: Alexandre Chappuis <alc@open.ch> Signed-off-by: Roman Hoog Antink <rha@open.ch>
* lib: remove unused variableDenis Ovsienko2011-08-011-3/+1
| | | | * sockopt.c (getsockopt_ifindex): "ifindex" was never used
* delete CVS keywordsDenis Ovsienko2011-08-0112-23/+0
|
* ospf6d: Remove obsolete codeTom Goff2011-08-011-5/+0
| | | | | * ospf6_area.c: (ospf6_area_delete) Get rid of unused code that refers to a nonexistent function and structure member.
* lib: zlog should clean up its memoryTom Goff2011-08-011-0/+3
| | | | | * log.c: (closezlog) Also free the dynamically allocated filename when a log is closed.
* bgpd: Fix display of unsigned attributesWataru Tanitsu2011-08-011-9/+9
| | | | | | * bgp_route.c: (route_vty_out*) The local prefix, metric and weight values are all stored as uint32_t. Change the format to %u so that large values are not displayed as negative integers.
* ospfd: Lower level of some common messages from info to debugPaul Jakma2011-08-012-11/+11
| | | | | * ospf_{ism,network}.c: Certain oft-repeated but trivial messages should be debug log level, not info, to avoid spamming 'terminal monitor'
* lib: prefix.c nano-optimisationPaul Jakma2011-08-011-4/+5
| | | | | * lib/prefix.c: (prefix_match) nano-optimisation, let it return early without copying pointers.
* bgpd: Fix compile failure if IPv6 build was disabled.Paul Jakma2011-07-181-1/+5
| | | | | | * bgp_route.c: ({no_,}ipv6_bgp_network_ttl_cmd) depends on ipv6_bgp_network which is HAVE_IPV6, so these should be too. (bgp_route_init) and the installs should be similarly ifdefed
* bgpd: rename SAFI 3 according to RFC4760Denis Ovsienko2011-07-174-9/+6
| | | | | | | | | | | | | - SAFI value 3 is reserved. It was assigned by RFC 2858 for a use that was never fully implemented, so it is deprecated by this document. * zebra.h: rename macro * bgp_fsm.c: (bgp_graceful_restart_timer_expire, bgp_graceful_stale_timer_expire, bgp_stop, bgp_establish): update * bgpd.c: (peer_nsf_stop): update * bgp_open.c: (bgp_capability_vty_out): SAFI 3 isn't a recognized case any more
* configure: fix OpenPAM detectionDenis Ovsienko2011-07-151-1/+8
|
* configure: fix FreeBSD header detection (BZ#408)Denis Ovsienko2011-07-141-9/+30
| | | | | | | | This change is based on Xavier Beaudouin's patch (which fixes detection of 3 config.h macros on FreeBSD without any impact to Linux build of Quagga) and FreeBSD port patch (which fixes 5 config.h macros, but breaks the Linux build), it fixes 5 macros and works for both FreeBSD 8 and Linux.
* bgpd: more SAFI fixesDenis Ovsienko2011-07-147-60/+34
| | | | | | | | | | | | | | | | | | | Two macros resolving to the same integer constant broke a case block and a more thorough merge of BGP_SAFI_VPNV4 and BGP_SAFI_VPNV6 was performed. * bgpd.h: MPLS-labeled VPN SAFI is AFI-independent, switch to single * macro * bgp_capability_test.c: update test data * bgp_mp_attr_test.c: idem * bgp_route.c: (bgp_maximum_prefix_overflow, bgp_table_stats_vty) update macro and check conditions (where appropriate) * bgp_packet.c: (bgp_route_refresh_send, bgp_capability_send, bgp_update_receive, bgp_route_refresh_receive): idem * bgp_open.c: (bgp_capability_vty_out, bgp_afi_safi_valid_indices, bgp_open_capability_orf, bgp_open_capability): idem * bgp_attr.c: (bgp_mp_reach_parse, bgp_packet_attribute, bgp_packet_withdraw): idem
* bgpd: fix SAFI for for MPLS labeled VPN-IPv6Denis Ovsienko2011-07-132-2/+2
| | | | | * bgpd.h: change value of BGP_SAFI_VPNV6 to 128 (RFC4659, BZ#659) * bgp_route.c: (bgp_table_stats_vty) fix length argument to strncmp()
* bgpd: consistent log msg format (BZ#565)heasley2011-07-121-5/+5
|
* ospf6d: check MTU with message header size in mindDmitrij Tejblum2011-07-121-9/+17
| | | | | | | | | * ospf6_message.c: (ospf6_packet_max): new function, return maximum IPv6 payload on an interface; (ospf6_hello_send, ospf6_dbdesc_send, ospf6_dbdesc_send_newone, ospf6_lsreq_send, ospf6_lsupdate_send_neighbor, ospf6_lsupdate_send_interface, ospf6_lsack_send_neighbor, ospf6_lsack_send_interface): compare message size with the maximum payload instead of the MTU.
* ospf6d: copy "mtu-ignore" option from ospfdDmitrij Tejblum2011-07-123-1/+62
| | | | | | | | | | | | "mtu-ignore" is an option ospfd used to mimic from the vendor's implementation, now ospf6d will also implement it. * ospf6_interface.h: extend ospf6_interface structure by one flag * ospf6_interface.c: (ipv6_ospf6_mtu_ignore, no_ipv6_ospf6_mtu_ignore): new declarations; (ospf6_interface_create): show initial value for consistency; (ospf6_interface_show): print flag status * ospf6_message.c: (ospf6_dbdesc_recv): consider interface-specific flag when checking MTU
* version RE-0.99.17.1RE-0.99.17.1Denis Ovsienko2011-07-121-1/+1
|
* bgpd: Remove AS Path limit/TTL functionalityPaul Jakma2011-07-057-600/+195
| | | | | | | | | | | | | | * draft-ietf-idr-as-pathlimit doesn't seem to have gone anywhere, and its author does not think it will make progress in IDR. Remove all support introduced for it, but leave stubs for the commands to avoid breaking any configurations. Basically reverts cecab5e9725792e60a5e4b473e238a14cd85815d. (cherry picked from commit c8f3fe3063cb9ff193b13011cfbda3e605395340) Conflicts: bgpd/bgp_attr.c (caused by c8e7b895, resolved)
* bgpd/security: CVE-2010-1674 Fix crash due to extended-community parser errorPaul Jakma2011-07-041-12/+20
| | | | | | | | | | | | * bgp_attr.c: (bgp_attr_ext_communities) Certain extended-community attrs can leave attr->flag indicating ext-community is present, even though no extended-community object has been attached to the attr structure. Thus a null-pointer dereference can occur later. (bgp_attr_community) No bug fixed here, but tidy up flow so it has same form as previous. Problem and fix thanks to anonymous reporter. (cherry picked from commit 0c46638122f10019a12ae9668aec91691cf2e017)
* doc: fix "ipv6 address" interface command syntax (#608)Denis Ovsienko2011-07-041-2/+2
| | | | (cherry picked from commit e6844aa5d23cf56dd1f31afc96e8145ab188953f)
* ripd: resolve debug statements issue (bug 442)Andrew J. Schorr2011-07-042-16/+9
| | | | | | | ...A nasty bug, if you forgot to disable debugging, stored the config and reboot your machine - if you really depend on ripd, then the machine will not fully come back on the network, because ripd fails. (cherry picked from commit 0fa0335316ce14a79ea4bbb0c40e1322c9941dd3)
* bgpd: VTY string fixes for debug commandsDavid Ward2011-07-041-4/+3
| | | | | | * bgpd/bgp_debug.c: fix VTY strings for BGP debug commands to match correct syntax (cherry picked from commit 6e22b9017e1ae2ce61c383b1b2b63973207704ac)
* bgpd: fix handling of "Unsupported Capability"Dmitrij Tejblum2011-07-041-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | * bgp_packet.c: (bgp_notify_receive) justify the difference between BGP_NOTIFY_OPEN_UNSUP_PARAM and BGP_NOTIFY_OPEN_UNSUP_CAPBL cases, as it is explained in RFC5492, page 3, paragraph 1. "Unsupported Capability" error does not mean, that the peer doesn't support capabilities advertisement -- quite the opposite (if the peer would not support capabilities advertisement, the code would be "Unsupported Optional Parameter"). Thus there is no reason to mark the peer as one non-supporting capabilities advertisement. Example: suppose the peer is in fact IPv6-only, but we didn't configure anything address-family specific for it. Then, the peer would refuse the session with "Unsupported Capability" code. If we internally set the peer as non-supporting capabilities advertisement after that, we will not be able to establish the session with it ever, even with a fixed configuration -- IPv6-only BGP session cannot be established without capabilities. In practice an edge case would be seen as the same IPv6 peer working with its "neighbor" block read from bgpd.conf, but not working, when slowly input in "conf t" mode. (cherry picked from commit c7aa8abd8788c3607ad0131f02e892cf92221e40)
* ospf6d: fix crash in SPF calculationDmitrij Tejblum2011-07-041-17/+5
| | | | | | | | * ospf6_spf.c: Don't replace a node with another node with a lower number of hops, instead get them from the queue in the correct order. (Actually, the replacement crashed the ospf6d daemon rather than worked.) (cherry picked from commit 403138e189c24f6867824c4eeb668d11564e1ca0)
* bgpd: fix community-list error message spellingDenis Ovsienko2011-07-041-3/+3
| | | | | | * bgp_vty.c: (community_list_perror, show_ip_community_list_arg, show_ip_extcommunity_list_arg) fix spelling (cherry picked from commit b729294c8c5c6f2af8ddf6cfbea2374b6faabe9d)
* infrastructure: Express preference for published git reposGreg Troxel2010-11-031-5/+15
| | | | | | | | * HACKING: Express notion that a published git repository is preferred. Fold request for commit message into patch section. Express desire for comments in code explaining correctness of post-commit state, and for commit message to explain correctness of the change.
* infrastructure: Whitespace cleanup.Greg Troxel2010-11-031-8/+12
| | | | HACKING: Whitespace changes only.
* infrastructure: Clarify commit message format.Greg Troxel2010-11-031-2/+6
| | | | | Note 54/72 line length rules, and that this is intended to play nice with "git log --oneline".
* Adjust description of tomhenderson repo.Greg Troxel2010-11-031-4/+4
| | | | | Tom's repo is now a clone of the official repo and has an mttr branch off of 0.99.17.
* bgpd: fix printed value of last-update timestampVladimir L Ivanov2010-10-211-1/+2
| | | | | | * bgp_route.c: (route_vty_out_detail) calculate time value in a way, which works regardless of monotonic clock being used or not
* zclient: fix router-id calculation for IPv6 (#595)Dmitry Tejblum2010-10-181-3/+3
| | | | | | | | | | If router-id is not specified in ospf6d.conf, ospf6d will get it from the zebra daemon. But ospf6d originates Link LSAs before the router-id is returned by zebra, thus this router's Link LSAs will be flooded with AdvRouter set to 0. * zclient.c: zclient_start(): send ZEBRA_INTERFACE_ADD message after ZEBRA_ROUTER_ID_ADD, not before
* bgpd, lib: adopt afi_t and safi_t in several placesMichael Lambert2010-10-065-20/+20
| | | | | | | | | * bgpd/bgp_attr.c, bgpd/bgp_open.h, bgpd/bgp_route.c, lib/prefix.c, lib/prefix.h: Various integer types were being used where, if we had strict type checking, afi_t and safi_t would be required. Signed-off-by: G.Balaji <balajig81@gmail.com> (cherry picked from commit c8af35ffa2dc79ff7d7ff00b1b61f1f50a100ab6)
* Add MTR repository.Greg Troxel2010-09-241-0/+8
|
* lib/vty.c: add missing format string when printing out motd messageNico Golde2010-09-171-1/+1
| | | | Signed-off-by: G.Balaji <balajig81@gmail.com>
* Document rules for zalloc and friends.Greg Troxel2010-09-171-5/+27
| | | | | lib/memory.c:z{a,c,re}alloc, zfree, zdup: add requires/effects comments.
* Add pointer to Balaji G. git.Greg Troxel2010-09-171-0/+7
| | | | | Balaji has been accumulating patches from the mailing list and pre-screening them and spiffing up commit messages.
* Set from even if binfo->extra is NULL.Greg Troxel2010-09-171-2/+3
| | | | | | | | | | bgpd/bgp_packet.c:bgp_update_packet(): When extracting the peer, don't fail to extract it because "binfo->extra" is NULL. While one should certainly avoid dereferencing binfo->extra, that's not a good reason not to use binfo->peer. Fixes https://bugzilla.quagga.net/show_bug.cgi?id=497. Patch by Eric Sobocinksi.
* Zebra zserv: bogus conditionalStephen Hemminger2010-08-191-1/+1
| | | | | This looks like a bug in original code from misunderstanding of C rules of evaluation.
* release: 0.99.17quagga_0_99_17_releaseDenis Ovsienko2010-08-191-1/+1
| | | | * configure.ac: bump up version number
* bgpd: fix handling of AS path dataChris Hall2010-08-094-91/+131
| | | | | | | | | | | | | | | | * bgpd/bgp_aspath.c * assegments_parse(): add handling of AS4_PATH input, update bounds checks, add check for AS segment type * aspath_parse(): add handling of AS4_PATH input, expect assegments_parse() to do length checking * aspath_empty(): update for the new function prototype * bgpd/bgp_aspath.h: ditto * tests/aspath_test.c: ditto * bgpd/bgp_attr.c * bgp_attr_aspath(): add handling of AS4_PATH input, update flags checks, change returned type * bgp_attr_as4_path(): discard, superseded by bgp_attr_aspath() * bgp_attr_parse(): update respectively
* bgpd: tighten bounds checking in RR ORF msg readerChris Hall2010-05-141-9/+40
| | | | | | * bgp_packet.c: (bgp_route_refresh_receive) add validation of "Length" (RFC5292) field value, check input stream bounds each time bytes are pulled from it
* zebra: fix infinite loop when deleting an interfaceRoman Hoog Antink2010-05-051-0/+4
| | | | | | | | | | | | When deleting a VLAN interface after flushing its addresses, zebra uses 100% CPU time and freezes. * interface.c: The while loop in line 407 that should clean up connected routes never hits one of the 2 lines "last = node;" and thus loops forever. Signed-off-by: Roman Hoog Antink <rha@open.ch>
* Update for git and emphasize asking for good reports.Greg Troxel2010-05-051-3/+10
|