Age | Commit message (Collapse) | Author |
|
|
|
* ospfd/ospf_vty.c: (ospf_config_write) fix output of
passive-interface when IP has been specified - we still need to
print the interface.
|
|
* lib/if.c: (if_cmp_func) new function, compare interface names in
alphabetical order.
(if_create) Take name as argument and add interface in sorted order.
(if_get_by_name),(interface_cmd) fixup calls to if_create - see
above.
(if_init) register list comparison function.
* lib/if.h: Add comparison function, modify if_create prototype.
* lib/zclient.c: Modify call to if_create.
* ospfd/ospf_interface.c: (ospf_vl_new) modify call to if_create.
change sprintf to snprintf.
* zebra/kernel_socket.c: (ifm_read) modify call to if_create.
|
|
* ospf_packet.c (ospf_ls_upd_send_queue_event): get next route
node in body of the loop to avoid chance that route node
is unlocked and deleted before the next iteration tries to
get next route node.
|
|
* lib/version.h: add ZEBRA_URL (unused for now)
* lib/vty.c: CMD_ERR_NOTHING_TODO when reading conf file should not
be fatal. slight reformating.
* ospfd/ospf_zebra.c: ignore reject/blackhole routes if zebra sends
these type of routes. probably should be a new type of route to
allow daemons to more easily choose whether to redistribute them
- rathen than just a flag (eg for reject/blackhole).
reorder the is_prefix_default test for ZEBRA_IPV4_ROUTE_DELETE to
avoid the inverted test - slightly more readable.
* redhat/zebra.spec.in: Add ospfapi port to services file, if
with_ospfapi.
* zebra/rib.h: Change nexthop types to an enum.
* zebra/rt_netlink.c: run it through indent -nut.
Add nexthop_types_desc[] descriptive array for nexthop types.
(netlink_route_multipath) debug statements indicate which branch
they are in and print out nexthop type.
* zebra/zebra_rib.c: slight reformatting.
* zebra/zebra_vty.c: Pass ZEBRA_FLAG_BLACKHOLE flag to
static_add_ipv4() if Null0 route is configured. print out Null0 if
STATIC_IPV4_BLACKHOLE route, and ignore flags (shouldnt be
possible to set flags from vty) for config and show route.
|
|
* ospf_lsa.c: fix up some places where an NSSA specific define,
(OSPF_LSA_LOCAL_XLT) was referenced in if statements without being
ifdef'ed by HAVE_NSSA.
|
|
* (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.
|
|
* ospf_apiserver.c: Add missing close bracket
|
|
* ospfd/ospf_apiserver.c: check for NULL from ospf_lookup()
|
|
|
|
* (show_ip_ospf_database_header) Fix unconditional NSSA-dependent
printf.
|
|
* ospf_packet.c: (ospf_ls_upd_send_queue_event) undo fix suggested
Mikael Lonnroth. As per Kamatchi Soundaram /
[zebra 19590], original behaviour is correct.
|
|
* ospf_vty.c: (global) add, unused, description array for lsa flags.
(show_ip_ospf_database_header): pretty print options, printf hex
numbers as 0x, print lsa flags and note if it is a translated LSA.
(show_lsa_detail_proc): print out OSPF_LSA_LOCAL_XLT LSAs.
* ospf_packet.c: (ospf_write) print out destination IP in debug info
if write fails.
|
|
* ospf_packet.c: (ospf_ls_upd_send_queue_event) clean up list node
and unlock lsa if we break early. (eg packet size too large).
|
|
* ospf_vty.c (ospf_area_stub_no_summary): fix typo.
(ospf_area_nssa_cmd_handler): new function to handle the
area.*nssa commands.
(ospf_area_nssa_cmd): changed to call ospf_area_nssa_cmd_handler
(ospf_area_nssa_translate_cmd) ditto
(ospf_area_nssa_translate_cmd): changed from ALIAS to defun, call
ospf_area_nssa_cmd_handler
(ospf_area_nssa_translate_no_summary_cmd): ditto
(no_ospf_area_nssa_cmd): call ospf_schedule_abr_task()
(show_ip_ospf_area): Formatting cleanups. Properly print out NSSA
area configuration.
show_router_lsa_detail: Add missing newline
(show_network_lsa_detail): ditto
(show_summary_lsa_detail): ditto
(show_summary_asbr_lsa_detail): ditto
(show_ip_ospf_route_router): fix spacing
(config_write_ospf_area): actually write out proper state for NSSA
area.
|
|
* ospf_abr.c (ospf_abr_nssa_am_elected): new function.
Look through LSDB for an area and try determine whether other
routers are more 'electable' than this router. Presumes caller
has checked Role.
(ospf_abr_nssa_check_status): new function. check any NSSA related
status changes. At present determines NSSATranslatorState should
be enabled or disabled.
(ospf_abr_announce_network_to_area): remove the redundant
call to ospf_abr_announce_network_to_area() (as per Vadim,
[zebra 14710], problem 7).
(global): Update NSSATranslator to NSSATranslatorState as per
ospfd.h changes
(ospf_abr_announce_nssa_defaults): call
ospf_abr_announce_network_to_area() to inject default summaries.
(ospf_abr_nssa_task): undo commented out calls to
ospf_abr_prepare_aggregates() and ospf_abr_send_nssa_aggregates(),
if they're borked, lets fix them.
(ospf_abr_task): remove call to ospf_abr_nssa_task() - move this
to the timer scheduler.
(ospf_abr_task_timer): call ospf_abr_nssa_task() and
ospf_abr_nssa_check_status()
(misc): some minor reformatting.
|
|
* 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
|
|
* ospfd.h (struct ospf_area): remove NSSATranslator. Add
NSSATranslatorState and NSSATranslatorStabilityInterval (currently
not used).
(global): add OSPF_NSSA_TRANS_STABLE_DEFAULT, default for
NSSATranslatorStabilityInterval. Update the LSA_NSSA_GET to
reflect struct ospf_area changes.
|
|
* ospf_route.c: delete routes generated from AS-External routes if
there is a inter/intra route. Adds ospf_route_delete_same_ext()
which prunes external routes, which is called from
ospf_route_install() when new route table is installed.
|
|
* ospf_lsa.h: elaborate on comment for ROUTER_LSA_NT
add IS_ROUTER_LSA_NT macro.
|
|
* ospf_lsa.c (router_lsa_flags): Set the correct flags for
router-lsa's. Eg OSPF_FLAG_ASBR is /not/ an LSA flag, its an
internal ospfd flag (just happens to have same value as
ROUTER_LSA_EXTERNAL). Set ROUTER_LSA_EXTERNAL for ASBRs,
ROUTER_LSA_BORDER for ABRs and ROUTER_LSA_NT for NSSA ABRs which
are OSPF_NSSA_ROLE_ALWAYS translators.
|
|
* ospf_interface.c (ospf_vl_set_params): new router LSA is not
generated when the cost of the routing entry for the virtual
link endpoint has changed. If the cost to reach the virtual link's
endpoint has changed, add router LSA timer for the backbone area.
|
|
* ospf_dump.h: fix NSSA debug define
|
|
* ospfd/ospf_zebra.c: Run it through indent -nut to fix the $%^@ing
annoying mix of tabs and spaces.
|
|
* ospfd/ospf_zebra.c: [zebra 19434] fix for disappearing OSPF routes
modify ospf_zebra_delete() to specify nexthop when deleting routes
with zebra.
|
|
* Fix lib/smux.c's reliance on daemons exporting struct
thread_master *master.
|
|
* ospfd/ospf_packet.c: Fix typos, extra squiggly bracket. Note to
self: in future make sure that when you test compile a change you
actually have the relevant configure options enabled.
|
|
* ospfd/ospf_packet.c: Update Hasso's hack slightly, add comment
elaborating on Hasso's, use the SET/CHECK_FLAG macros.
|
|
* lib/vty.{c,h}: Remove vty layer depending on a 'master' global,
pass the thread master in explicitly to vty_init. Sort out some
header dependency problems with lib/command.h
* zebra/: Move globals to struct zebrad. Update vty_init().
* (.*)/\1_main.c: update call to vty_init().
|
|
* (ospf_spf.c): Fix indentation - primarily the mix of tabs and spaces.
Ran through indent -nut (GNU style, but only spaces for indentation)
|
|
* Revert Cougar's sort interface names patch, causes problems with
enabling of interfaces for OSPF in ospfd.
|
|
* (ospf_spf.c): Fix consideration of costs for PtP nexthops in
ospf_nexthop_calculation().
|
|
|
|
* Merge of zebra privileges
|
|
Subject: [zebra 19263] Another memory leak!! is zebra OSPF
This memory leak gets into picture whenever any interface goes down.
Problem found and desctription: Whenever the interface goes down, the
"def_params" (member of ospf_if_info) structure memory is not freed.
Fix made: added the following line to free the "def_params" memory of
ospf_if_info before calling the "XFREE(MTYPE_OSPF_IF_INFO, ifp->info);"
The added line is:
ospf_del_if_params ((struct ospf_if_params *) IF_DEF_PARAMS (ifp));
|
|
Subject: [zebra 19262] Re: Memory leak in OSPF
Fix applied for Kamatchi's original report was to remove the auth_crypt
initialisation from the wrong function. This should fix that.
|
|
Subject: [zebra 19259] Memory leak in OSPF
The detail of the memory leak follows:
File name: ospf_interface.c
Function name: ospf_if_new_hook().
Type of leak: Overwriting the already allocated memory.
Problem found and description:
The ospf_new_if_params() fn allocates a memory for "auth_crypt" which
is overwritten, down in the fn (ospf_if_new_hook) by explicitely allocating
a memory for the same "auth_crypt".
Fix: remove allocation from ospf_new_if_params()
|
|
harm, but of course ... it is hack.
|
|
the class of machines which zebra runs on than the original defaults which
were taken from IOS (and even IOS uses much lower times these days). Lower
values greatly help with convergence.
Ideally, we'd use even lower times, but thread_add_timer() api will need to
be modified to use milliseconds. (eg JunOS uses 100ms for delay, and 700ms
for hold time, iirc from Hasso).
|
|
|
|
|
|
* ospf_interface.c(ospf_if_lookup_recv_if): Use the most specific
match for interface lookup.
|
|
Add the 'no interface' command to all the daemons and vtysh. now it's
possible to delete interface from routeing daemons as well only if it
doesn't exist in os.
http://hasso.linux.ee/zebra/ht-no_interface_fix.patch
|
|
|
|
http://hasso.linux.ee/zebra/ht-no_interface-23052003.patch
Add the 'no interface' command to all the daemons and vtysh.
|
|
Subject: [zebra 19093] [PATCH] Two more fixes
Show NSSA LSA route info in "show ip ospf database" output
|
|
|
|
|
|
Subject: [zebra 19091] [PATCH] NSSA fixes try2
NSSA didn't work without problems even after my previous fixes. Seems
that I tracked down problems finally.
|
|
|