Commit Graph

2140 Commits

Author SHA1 Message Date
Jon Andersson
4fe20b3f7d ospf6d: add lost lines to area config block
* ospf6_area.c
  * ospf6_area_config_write(): write filter-list, import-list and
    export-list lines
2011-09-25 18:13:58 +04:00
Peter Pentchev
74ffab30c3 bgpd: fix parsing of graceful restart cap. (#663)
"While setting up a testbed, I ran across a little problem in the
parsing of the "graceful restart" BGP capability that resulted in
Quagga not actually activating it for the peer in question - when
the peer sent a single AFI/SAFI block."

* bgp_open.c
  * bgp_capability_restart(): actually process the last AFI/SAFI block
2011-09-25 18:13:40 +04:00
Christian Hammers
c8049c165c ospf6d: fix crash on filter-list handling (BZ#530)
This essentially merges the fix available from Debian build of Quagga.

* ospf6_area.c
  * area_filter_list(): use correct argv indices
  * no_area_filter_list(): idem
2011-09-25 18:13:26 +04:00
heasley
2e35e96a11 bgpd: add useful notification logs (BZ#616)
* bgp_packet.c
  * bgp_notify_send_with_data(): add calls to zlog_info()
2011-09-25 18:13:14 +04:00
Alexandre Chappuis
99dc8691ca doc: BGP route-flap dampening 2011-09-25 18:12:57 +04:00
Dmitry Popov
257c0eb350 zebra: fix loss of metric for Linux routes
* rt_netlink.c
  * netlink_route_change(): fetch metric information like
    netlink_routing_table() does and pass it further
2011-09-25 18:12:13 +04:00
Denis Ovsienko
e00d4e2e3d ospfd: spelling 2011-09-10 23:29:19 +04:00
Denis Ovsienko
6787978cc8 bgpd: spelling 2011-09-10 21:50:53 +04:00
Denis Ovsienko
71008de7c8 bgpd: spelling 2011-09-10 16:53:30 +04:00
Denis Ovsienko
4f151e5cc6 ospfd: use existing macro for consistency 2011-09-10 16:40:23 +04:00
Denis Ovsienko
2f7d5fb38a version RE-0.99.17.3 2011-09-07 17:44:10 +04:00
Denis Ovsienko
6caee4c9cd ospfd: revert recent PIE change to fix amd64 build
This reverts commit 68575f4bab.
2011-09-07 17:40:38 +04:00
Denis Ovsienko
c66caa83f9 version RE-0.99.17.2 2011-09-07 15:40:06 +04:00
Dmitrij Tejblum
68575f4bab build: build ospfd as Position-Independed Executable (if appropriate)
Since 46bc0e432e, all the binaries are built as Position-Independed
Executables (if available and enabled). ospfd was missed for some
unknown reason.
2011-09-05 11:08:04 +04:00
Denis Ovsienko
84f6c0d6ce ospfd: address more trivial compiler warnings
* ospf_ase.c
  * ospf_ase_complete_direct_routes(): dismiss unused variable
  * ospf_ase_calculate_route(): put assignments into parentheses
2011-08-28 22:38:45 +04:00
Denis Ovsienko
695421486d zebra: add missing includes 2011-08-28 22:29:52 +04:00
Denis Ovsienko
330835409f ospf6d: address more trivial compiler warnings
* ospf6_main.c: include required headers
* ospf6_asbr.h: idem
* ospf6_spf.c
  * ospf6_spf_install(): remove unused variables
2011-08-27 22:19:34 +04:00
Denis Ovsienko
68aa0c5871 ospfd: sizing macros cleanup
* ospf_spf.c
  * ROUTER_LSA_TOS_SIZE: prepend OSPF_ and move to ospf_lsa.h
  * ROUTER_LSA_MIN_SIZE: replace with existing OSPF_ROUTER_LSA_LINK_SIZE
2011-08-23 11:36:27 +04:00
Dmitrij Tejblum
d6af701250 lib: use "protocol-independed API" from RFC3678, if that is available
(This commit is based on the patch from BZ#420, and should fix that bug.)

* configure.ac: detect availability of that API
* sockopt.c (setsockopt_ipv4_multicast): use it for join/leave IPv4
  multicast groups
2011-08-22 11:39:35 +04:00
Dmitrij Tejblum
96a0a39261 lib: futher simplification of setsockopt_ipv4_multicast()
* sockopt.c (setsockopt_ipv4_multicast): check for wrong optname with
  assert(), rather than return an error.
2011-08-22 11:28:19 +04:00
Denis Ovsienko
b62987450e ospf6d: add missing include
Two extern declarations in ospf6_abr.h are based on struct ospf6_route,
which may not be available at the time ospf6_abr.h is included. This may
lead to warnings after including ospf6_abr.h just for the structures
defined in it.
2011-08-20 23:12:00 +04:00
Denis Ovsienko
eb22306258 ospf6d: ospf6_lsa_cmd_init() does not exist 2011-08-20 22:45:58 +04:00
Denis Ovsienko
a44ed99c57 ospf6d: move named constants to ospf6d.h 2011-08-20 20:58:51 +04:00
Dmitrij Tejblum
87d29037b3 lib: fix omission in the previous commit to lib/sockopt.c
* sockopt.c (setsockopt_ipv4_multicast_if): fix missed line in
  the previous commit.
2011-08-19 22:40:08 +04:00
Denis Ovsienko
9504a6ea39 ospf6d: justify some ABR debug code
* ospf6_abr.c
  * ospf6_abr_examin_summary(): only fill "buf" when it is used
2011-08-19 22:24:27 +04:00
Dmitrij Tejblum
bf510e9bc0 lib: simplify interface of setsockopt_multicast_ipv4().
* sockopt.[ch] (setsockopt_ipv4_multicast): ifindex is now mandatory (all
  non-ancient OSes can use it anyway), and if_addr parameter (the address
  of the interface) is now gone. (setsockopt_ipv4_multicast_if):
  IP_MULTICAST_IF processing moved to this new function

* ospf_network.c (ospf_if_add_allspfrouters, ospf_if_drop_allspfrouters,
  ospf_if_add_alldrouters, ospf_if_drop_alldrouters, ospf_if_ipmulticast),
  rip_interface.c (ipv4_multicast_join, ipv4_multicast_leave,
  rip_interface_new): adapt to the new interface
2011-08-19 22:02:17 +04:00
Denis Ovsienko
9fa6be78ec ospf6d: spelling 2011-08-19 16:27:16 +04:00
Denis Ovsienko
22aefb2270 bgpd: improve "show ip bgp scan detail"
* bgp_nexthop.c (show_ip_bgp_scan_tables): access proper structure field
  in AF_INET6 case, handle ifindex NH type properly
2011-08-09 14:42:58 +04:00
Denis Ovsienko
15b1d9d0b0 bgpd: dismiss some zlookup checks
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
2011-08-08 19:36:44 +04:00
Denis Ovsienko
5990281d4e bgpd: add "show ip bgp scan detail" command
* 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
2011-08-05 21:47:08 +04:00
Denis Ovsienko
5c98c5a7b1 bgpd: touch nexthop handling code
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()
2011-08-05 18:52:52 +04:00
Stephen Hemminger
0ddff5764f bgpd: use XCALLOC to allocate bgpd damp array
* 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.
2011-08-03 16:56:42 +04:00
Christian Hammers
aad356a49d lib: fix more format warnings (#637)
The following patch was also neccessary to compile.

* command.c: (config_logmsg_cmd) use "%s" format spec
* if.c: (connected_log) ditto
2011-08-03 13:09:51 +04:00
Alexandre Chappuis
1740f9e590 ospfd: remove useless RFC1583 check
* 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>
2011-08-02 17:37:39 +04:00
Denis Ovsienko
c69f91be67 lib: remove unused variable
* sockopt.c (getsockopt_ifindex): "ifindex" was never used
2011-08-01 21:59:04 +04:00
Denis Ovsienko
cbfbf2f07b delete CVS keywords 2011-08-01 16:52:03 +04:00
Tom Goff
0e8257d21e ospf6d: Remove obsolete code
* ospf6_area.c: (ospf6_area_delete) Get rid of unused code that refers
    to a nonexistent function and structure member.
2011-08-01 15:40:05 +04:00
Tom Goff
cd3355b832 lib: zlog should clean up its memory
* log.c: (closezlog) Also free the dynamically allocated filename when
    a log is closed.
2011-08-01 15:39:26 +04:00
Wataru Tanitsu
f4ac0fee73 bgpd: Fix display of unsigned attributes
* 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.
2011-08-01 15:36:36 +04:00
Paul Jakma
999a305c89 ospfd: Lower level of some common messages from info to debug
* ospf_{ism,network}.c: Certain oft-repeated but trivial messages should be
  debug log level, not info, to avoid spamming 'terminal monitor'
2011-08-01 15:29:51 +04:00
Paul Jakma
e9e42170c6 lib: prefix.c nano-optimisation
* lib/prefix.c: (prefix_match) nano-optimisation, let it return early
  without copying pointers.
2011-08-01 15:28:24 +04:00
Paul Jakma
a8b79422aa bgpd: Fix compile failure if IPv6 build was disabled.
* 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
2011-07-18 10:39:02 +04:00
Denis Ovsienko
fdc38db248 bgpd: rename SAFI 3 according to RFC4760
- 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
2011-07-17 19:33:21 +04:00
Denis Ovsienko
4a1342a56c configure: fix OpenPAM detection 2011-07-15 00:24:15 +04:00
Denis Ovsienko
5112233b79 configure: fix FreeBSD header detection (BZ#408)
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.
2011-07-14 16:30:08 +04:00
Denis Ovsienko
e81537d3be bgpd: more SAFI fixes
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
2011-07-14 12:36:19 +04:00
Denis Ovsienko
87f011e529 bgpd: fix SAFI for for MPLS labeled VPN-IPv6
* 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()
2011-07-13 16:53:13 +04:00
heasley
ea15b20a7c bgpd: consistent log msg format (BZ#565) 2011-07-12 20:09:18 +04:00
Dmitrij Tejblum
82a963a1b8 ospf6d: check MTU with message header size in mind
* 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.
2011-07-12 17:53:33 +04:00
Dmitrij Tejblum
ab1be8a20d ospf6d: copy "mtu-ignore" option from ospfd
"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
2011-07-12 17:41:38 +04:00