Age | Commit message (Collapse) | Author |
|
The crash is due to threads accessing data that gets destroyed
during the removal of the configuration.
* isis_circuit.c: Destroy adjacencies to stop adjacency expiry thread.
Stop PSNP threads.
* isisd.c: Change state of circuit back to INIT and reassign the
circuit structure to isis->init_circ_list rather than destroying
the circuit data structure. Stop SPF threads. Stop LSP generation
threads.
* isisd.h: Add pointers to LSP threads into area structure in order to
stop them in isisd.c
* isis_lsp.c: Store pointer to LSP thread in area structure.
* isis_pdu.c: Stop PDU generation for a circuit with a removed area.
* isis_pfpacket.c: Stop processing received PDUs for a circuit with a
removed area.
|
|
this fixes warnings from vtysh extract.pl by making sure the isis method
files always 'work'. (previously, extract.pl would grab unselected isis
method sources and then complain about missing headers)
|
|
* isisd/isis_pdu.c
* maskbit: this pre-initialized array is not modified
* lib/prefix.c
* maskbit: idem
* lib/command.c
* facility_map: idem
* itoa64: idem
* default_motd: make local var static
* facility_name(): update local var accordingly
* facility_match(): idem
|
|
|
|
Avoid a potential conflict with the C99 defines 'true' and 'false'
found in <stdbool.h> by choosing better variable names.
Also fix the calls to these ioctls, as described in <net/bpf.h>
in FreeBSD, NetBSD, and OpenBSD:
* BIOCGBLEN, BIOCIMMEDIATE, BIOCSSEESENT (the parameter should be
of type 'u_int')
* BIOCPROMISC (there should be no parameters)
|
|
* */*main.c: (main) Current versions of Gcc warn if the return value for
daemon() is not checked. So add a simple test and exit on failure.
|
|
autoscan 2.62 complains about bzero(), so a good fix
nowadays is to just replace it.
|
|
The cmd_nodes used to configure vty, can mostly be static so
(basic data hiding 101).
|
|
- Add more stuff, archive libraries, etc..
|
|
|
|
|
|
2008-08-13 Jingjing Duan <Jingjing.Duan@sun.com>
* isisd/isis_dlpi.c: (open_dlpi_dev) Clearview-UV device nodes are
under /dev/net, try opening there before attempting style 1 or 2
names.
Signed-off-by: Paul Jakma <paul@quagga.net>
|
|
2008-08-13 Jingjing Duan <Jingjing.Duan@sun.com>
* ospfd/: Remove the old checksum implementation and
use the consolidated version.
* isisd/: ditto, thus fixing isisd checksuming on big-endian.
Signed-off-by: Paul Jakma <paul@quagga.net>
|
|
2008-08-13 Jingjing Duan <Jingjing.Duan@sun.com>
* isisd/isis_dlpi.c: Change ioctl from PFIOCSETF (transparent mode)
to I_STR (non-transparent mode). The old code resulted in no
filtering at all.
Signed-off-by: Paul Jakma <paul@quagga.net>
|
|
2008-08-13 Paul P Komkoff Jr <i@stingr.net>
* configure.ac: add a configure flag and autoconf macro, which will
determine if your toolchain supports PIE.
* */Makefile.am: add corresponding CFLAGS and LDFLAGS into
appropriate places.
Signed-off-by: Paul Jakma <paul@quagga.net>
|
|
|
|
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.
|
|
|
|
2007-08-07 James Carlson <james.d.carlson@sun.com>
* configure.ac: Added support for separate link-layer access
mechanisms in isisd.
* isis_network.c: split up into isis_bpf.c, isis_dlpi.c, and
isis_pfpacket.c, selected by autoconf, and added DLPI support.
* (general) Fixed to allow compilation and use on Solaris.
|
|
2007-05-09 Paul Jakma <paul.jakma@sun.com>
* configure.ac: sys/conf.h depends on sys/param.h, at least on
FBSD 6.2.
(bug #363) Should check for in_pktinfo for IRDP
2006-05-27 Paul Jakma <paul.jakma@sun.com>
* configure.ac: General cleanup of header and type checks, introducing
an internal define, QUAGGA_INCLUDES, to build up a list of
stuff to include so as to avoid 'present but cant be compiled'
warnings.
Misc additional checks of things missing according to autoscan.
Add LIBM, for bgpd's use of libm, so as to avoid burdening
LIBS, and all the binaries, with libm linkage.
Remove the bad practice of using m4 changequote(), just
quote the []'s in the case statements properly.
This should fix bugs 162, 303 and 178.
* */*.{c,h}: Update all HAVE_* to the standard autoconf namespaced
HAVE_* defines. I.e. HAVE_SA_LEN -> HAVE_STRUCT_SOCKADDR_SA_LEN,
* bgpd/Makefile.am: Add LIBM to bgpd's LDADD, for pow().
|
|
2006-12-08 Hannes Gredler <hannes@gredler.at>
* isis_adjacency.c: (isis_new_adj) Allow NULL snpa argument.
* isis_pdu.c: (various) Update calls to isis_new_adj() to pass
NULL and use default.
* (general) Add forward declarations where required.
Fix up const char *'s.
Allow V4-only compilation.
|
|
syntax
2006-10-04 Oliver Hookins <ohookins@gmail.com>
* bgpd/bgp_main.c: Add configuration check option, with
'-C' rather than '-c' for consistency between daemons.
* isisd/isis_main.c: ditto
* ospf6d/ospf6_main.c: ditto
* ospfd/ospf_main.c: ditto
* ripngd/ripng_main.c: ditto
* vtysh/vtysh_main.c: ditto
* ripd/rip_main.c: Change the config check option to
'-C' and tidy up the code.
* zebra/main.c: ditto
2006-10-04 Stergiakis Alexandros <astergiakis@antcor.com>
* ripd/rip_main.c: This trivial patch introduces a new
command-line option '-c', which instructs zebra/ripd
to check its configuration file for validity, print
any error message, and then exit. This is useful when
the configuration file is edited by hand or otherwise,
and you simply want to validate it without any other
effect.
* zebra/main.c: ditto
|
|
2006-01-17 Paul Jakma <paul.jakma@sun.com>
* bgp_nexthop.c: (zlookup_read*) convert to new Zserv format.
(zlookup_query_ipv6) ditto.
(bgp_import_check) ditto.
* isis_zebra.c: (isis_zebra_route_add_ipv4) fix for new
zserv format.
|
|
2005-11-20 Paul Jakma <paul.jakma@sun.com>
* (general) remove includes of very common system headers,
these are already picked up by zebra.h. Further, including
them before zebra.h messes up all our lovely (sarcasm)
autoconf'd detecting of platform specific things. Recent
addition of stdint.h to configure.ac and zebra.h appears
particularly to throw up this problem.
|
|
* isis_events.c: Stop pseudo LSP thread while resigning circuit from
level.
* isis_route.c: Fix compiling with EXTREME_DEBUG. Mark route as not
in sync with zebra if it's changed.
* isis_spf.c: Schedule route validating etc even if tent was empty.
It's probably because we just don't have any adjacencies.
* isisd.c: Write minimum spf interval into configuration.
|
|
* isis_route.c: fix EXTREME_DEBUG compilation
|
|
* configure.ac: Add the test for Solaris least-privileges. Set
defines for whether capabilities are supported and whether of
the linux or solaris variety.
Add missing-prototypes, missing-declarations, char-subscripts
and cast-qual warnings to default cflags, cause Hasso enjoys warnings,
and we really should clean the remaining ones up. (ie isisd..).
* (*/*main.c) Update the zebra_capabilities_t arrays in the various
daemons to match the changes made in lib/privs.h.
* zebra.h: Solaris capabilities requires priv.h to be included.
* privs.{c,h}: Add support for Solaris Least-Privileges.
privs.h: Reduce some of the abstract capabilities, which do
not have rough equivalents on both systems. Rename the net
related caps to _NET, as they should have been in first
place.
(zprivs_terminate) should take the zebra_privs_t as argument so
that it can update change pointer.
Add an additional privilege state, ZPRIVS_UNKNOWN.
* privs.c: (various capability functions) Add
Solaris privileges variants.
(zprivs_state) Use privs.c specific generic types to
represent various capability/privilege related types, so that
each can be typedef'd as appropriate on each platform.
(zprivs_null_state) static added, to hold the state the null
method should report (should be raised by default, and
LOWERED if zprivs_terminate has been called)
(zprivs_state_null) Report back the zprivs_null_state.
(cap_map) Make it able to map abstract capability to multiple
system capabilities.
(zcaps2sys) Map to abstract capabilities to multiple system
privileges/capabilities.
(zprivs_init) move capability related init to seperate
function, zprivs_caps_init.
(zprivs_terminate) ditto, moved to zprivs_caps_terminate.
Set the change_state callback to the NULL state, so the
user can continue to run and use the callbacks.
|
|
Replace XMALLOC + memset with XCALLOC. Fix some indentation issues.
The only really significant change is simplified isis_delete_adj
function in isis_adjacency.c.
|
|
* isis_lsp.c: Refresh dynamic hostname in the cache while refreshing
topology LSP.
|
|
Also take care of inserting dynamic hostname of topology TLVs into
cache.
|
|
ISIS_ROUTE_FLAG_ACTIVE flag before running SPF.
* isisd.[ch]: Separate route tables for different levels. SPF is done
separately, but in case of L1L2 area they have to be merged.
* isis_zebra.c: Set/unset ISIS_ROUTE_FLAG_ZEBRA_SYNC flag correctly in
case of adding/removing IPv4 routes.
* zebra_route.c: Rework route validating process. Merging L1 and L2
tables in case of L1L2 area.
In short - many changes to make SPF work more correctly, add/remove
to/from RIB also works now. It's still very far from perfect though.
|
|
mostly, but needs certainly much more testing, especially transition
situation.
|
|
used only if only wide metric style (extended TLV's) is in use.
|
|
address into TLV. Used for IPv4 address TLV (in case of LSP) and TE
router ID TLV.
* isis_lsp.c: Use tlv_add_in_addr() and include router ID in LSP.
|
|
TLV handling yet.
|
|
tlv_add_te_ipv4_reachs() to handle TLV's with new metric. None of
them handle sub TLVs though for now.
|
|
circuit metrics. Needs more thinking though, but should do for now.
|
|
metricstyle command. With metricstyle wide only extended TLVs
should be used.
|
|
imported from kazlib and it's better not to screw it - there is
theoretical chance that we might want to merge changes from upstream
at some point. Also avoid the loss of info about upstream version
(rcsid).
|
|
|
|
|
|
reachibility metric display.
|
|
about useless (in sense of IP(v6)) TLVs.
|
|
only in generated topology LSPs.
* isisd.[ch]: Cleanup CLI commands related to topology generation and
added command to specify base fo dynamic hostname for topology LSPs.
* isis_lsp.c: Rewrite almost all code related to generation topology
LSPs (top_lsp_refresh(), generate_topology_lsps() and
build_topology_lsp_data() functions). Topology is connected to own
LSP now (lsp_build_nonpseudo). Commented out lsppdu_realloc
functions, it's not used any more hopefully.
Topology generation feature is actually useful now.
|
|
database and only if LSP is really in the database (sanity check).
|
|
its data and put it back after. Database entry MUST contain at least
correct pointers to the sysid to get correct compare results.
* isis_lsp.[ch], isis_pdu.c: Pass level to the lsp_update() function.
|
|
on).
* isis_lsp.c (lsp_build_nonpseudo): Use stream_reset() instead of
touching endp directly.
* isis_lsp.c (lsp_build_pseudo): Ditto.
|
|
Similar fix to the one commited to lsp_build_nonpseudo() some days
ago.
|
|
|
|
anything. These floats to longs and vice versa casts are starnge
indeed.
* isis_pdu.c: As we don't use %z for size_t for now because we support
older compilers, cast them to unsigned long.
Also fix previous changelog entry. Isisd compiles cleanly now again.
|