summaryrefslogtreecommitdiff
path: root/isisd/isis_lsp.c
AgeCommit message (Collapse)Author
2012-12-12isisd: address Coverity warningsDavid Lamparter
this fixes a bunch of issues found by Coverity SCAN and flagged as "high" impact -- although, they're all rather minute issues. * isisd/isis_adjacency.c: one superfluous check, one possible NULL deref * isisd/isis_circuit.c: two prefix memory leaks * isisd/isis_csm.c: one missing break * isisd/isis_lsp.c: one possible NULL deref * isisd/isis_pfpacket.c: one error-case fd leak * isisd/isis_route.c: one isis_route_info memory leak * isisd/isis_routemap.c: one... fnord * isisd/isis_tlv.c: one infinite loop Reported-by: Coverity SCAN Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2012-06-21isisd: fix typo in topology generator (BZ#731)David Lamparter
There was a "lsp->" missing before "level" in line 2416. (introduced by git commit e38e0df) Reported-by: Seblu <seblu@seblu.net> Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2012-04-07isisd: couple of bug fixesSubbaiah Venkata
2012-04-07isisd: add Google's changes to IS-ISJosh Bailey
2009-06-19[cleanup] convert bzero() deprecated by POSIX to memset()Jeremy Jackson
autoscan 2.62 complains about bzero(), so a good fix nowadays is to just replace it.
2008-08-22[ospfd/isisd] Switch to lib/ Fletcher checksum, fixing bug in isisdJingjing Duan
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>
2006-12-08[isisd] Fix compiler warnings and allow v4-only compilationPaul Jakma
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.
2005-11-20[isisd] remove includes of common system headers.paul
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.
2005-09-28 * *.c: Massive cleanup of lists loops. Stop abusing ALL_LIST_ELEMENTS.hasso
Replace XMALLOC + memset with XCALLOC. Fix some indentation issues. The only really significant change is simplified isis_delete_adj function in isis_adjacency.c.
2005-09-28 * isis_dynh.c, isisd.h: Implement dynamic hostname cache cleanup.hasso
* isis_lsp.c: Refresh dynamic hostname in the cache while refreshing topology LSP.
2005-09-28 * isis_lsp.c: Make topology generator generate TE TLVs if necessary.hasso
Also take care of inserting dynamic hostname of topology TLVs into cache.
2005-09-26 * isis_lsp.c: Put correct metric info into TE TLV's. Wide metric ishasso
used only if only wide metric style (extended TLV's) is in use.
2005-09-26 * isis_tlv.[ch]: New function tlv_add_in_addr() to put just one IPv4hasso
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.
2005-09-26 * isis_lsp.c: Support for originating TE IS and IPv4 TLV's. No any subhasso
TLV handling yet.
2005-09-19 * isis_lsp.c, isis_pdu.c, isis_spf.c: Remove some old unused code.hasso
2005-09-19 * isis_lsp.c: Better output of detailed LSP printout and fixed TE IPv4hasso
reachibility metric display.
2005-09-19 * isis_lsp.h: Added backpointer to the area from LSP. For now it's usedhasso
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.
2005-09-18 * isis_lsp.c (lsp_update): Fix previous commit - manipulate the righthasso
database and only if LSP is really in the database (sanity check).
2005-09-16 * isis_lsp.c (lsp_update): Remove LSP from database before updatinghasso
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.
2005-09-04 * *.c: Try to be less verbose by default (without any debug optionshasso
on). * isis_lsp.c (lsp_build_nonpseudo): Use stream_reset() instead of touching endp directly. * isis_lsp.c (lsp_build_pseudo): Ditto.
2005-09-03 * isis_lsp.c: Yet another regression introduced by stream cleanup.hasso
Similar fix to the one commited to lsp_build_nonpseudo() some days ago.
2005-09-02 * isis_lsp.c: Less TLV leaking.hasso
2005-09-01 * isis_adjacency.c, isis_lsp.c, isisd.c: Replace XMALLOC && memsethasso
with XCALLOC. * isis_lsp.c (lsp_build_pseudo): Fix adding ES neighbour. * isis_tlv.c: More compact free_tlvs() function. * isis_lsp.c (lsp_build_nonpseudo) : Try to fix one more regression introduced by stream cleanup. Seek enp to the right place before starting to fill stream with TLVs.
2005-05-032005-05-03 Paul Jakma <paul@dishone.st>paul
* (general) More cleaning up of stream abuse, isisd should be back to previous functionality. Replace various XMALLOC+memset's with XCALLOC * isis_tlv.c: (tlv_add_padding) use stream_put to clear the stream rather than forward endp, as isisd reuses streams. * isis_pdu.c: (process_lsp) cleanup direct reference to stream endp (send_lsp) manual copy of a stream cleaned up to use stream_copy. * isis_network.c: (isis_recv_pdu_bcast) replace direct memcpy with stream_write (isis_recv_pdu_p2p) replace recvfrom directly into stream with stream_recvfrom. Remove dangerous and now unneeded manual update of endp. (isis_recv_pdu_bcast / non-GNU_LINUX) Replace direct memcpy with stream_write. (isis_recv_pdu_p2p) replace read direct into stream with stream_read_try, and hence remove the manual update of endp. * isis_lsp.c: (lsp_update_data) manual stream dup replaced with stream_dup. (lsppdu_realloc) mempcy into stream data replaced with stream_put. (lsp_build_nonpseudo) remove mysterious stream_forward_endp's - which were originally stream_set_putp - shouldn't be needed now that all the manual fiddling of private stream data has been corrected. (build_topology_lsp_data) remove unneeded twiddling of endp, appears to be due to lsppdu_realloc(), but it appears to sort of do the right thing wrt streams.
2005-04-102005-04-10 Paul Jakma <paul@dishone.st>paul
* Makefile.am: topology should not be a conditional SUBDIR, otherwise make dist breaks. * topology/Makefile.am: remove EXTRA_DIST of files which dont exist in that directory, broke make dist. * isisd.c: (show_isis_generated_topology_cmd) convert LIST_LOOP * isis_lsp.c: (generate_topology_lsps) ditto (build_topology_lsp_data) ditto
2005-04-072005-04-07 Paul Jakma <paul.jakma@sun.com>paul
* (global): Fix up list loops to match changes in lib/linklist, and some basic auditing of usage. * configure.ac: define QUAGGA_NO_DEPRECATED_INTERFACES * HACKING: Add notes about deprecating interfaces and commands. * lib/linklist.h: Add usage comments. Rename getdata macro to listgetdata. Rename nextnode to listnextnode and fix its odd behaviour to be less dangerous. Make listgetdata macro assert node is not null, NULL list entries should be bug condition. ALL_LIST_ELEMENTS, new macro, forward-referencing macro for use with for loop, Suggested by Jim Carlson of Sun. Add ALL_LIST_ELEMENTS_RO for cases which obviously do not need the "safety" of previous macro. LISTNODE_ADD and DELETE macros renamed to ATTACH, DETACH, to distinguish from the similarly named functions, and reflect their effect better. Add a QUAGGA_NO_DEPRECATED_INTERFACES define guarded section with the old defines which were modified above, for backwards compatibility - guarded to prevent Quagga using it.. * lib/linklist.c: fix up for linklist.h changes. * ospf6d/ospf6_abr.c: (ospf6_abr_examin_brouter) change to a single scan of the area list, rather than scanning all areas first for INTER_ROUTER and then again for INTER_NETWORK. According to 16.2, the scan should be area specific anyway, and further ospf6d does not seem to implement 16.3 anyway.
2005-04-02 * configure.ac: Add --enable-isis-topology to enable isisd topologyhasso
generator code. * isisd/Makefile.am: Variables to handle conditonal compiling of topology generator code. * isisd/isis_lsp.c: lsppdu_realloc() is used by topology generator. * isisd/isisd.c: Rename show_isis_topology_cmd to not conflict the one in the isis_spf.c. * isisd/isisd.h: Remove TOPOLOGY_GENERATE define, it will be defined in toplevel config.h if topology generator is enabled. * isisd/topology/Makefile.am: Handle the libtoolized Quagga libraries.
2005-02-092005-02-09 Paul Jakma <paul.jakma@sun.com>paul
* (global) Update code to match stream.h changes. stream_get_putp effectively replaced with stream_get_endp. stream_forward renamed to stream_forward_getp. stream_forward_endp introduced to replace some previous setting/manual twiddling of putp by daemons. * lib/stream.h: Remove putp. Update reference to putp with endp. Add stream_forward_endp, which daemons were doing manually. Rename stream_forward to stream_forward_getp. lib/stream.c: Remove/update references to putp. introduce stream_forward_endp.
2005-01-18 * *.c: Changed many functions to static. Some commented outhasso
functions and some tiny related fixes. No functional changes.
2004-12-24zlog_* cleanup. Level of debug messages to LOG_DEBUG.hasso
2004-10-08Argh, fix typo.hasso
2004-10-07No warnings here any more.hasso
2004-10-03Common router id.hasso
2004-09-26Compiler warnings fixes.hasso
2004-09-24* isisd.c: thread_master *master is already defined in isis_main.c.hasso
* isis_misc.[c|h], isis_lsp.[c|h]: Move static variables out of header files.
2004-09-21Make "C" vendor routers happy - put correct prefix addresses intohasso
reachability TLV's. Somehow it wasn't problem for "J" vendor routers.
2004-09-19Rework of SPF threads schedule logic. I'm not 100% sure whether it's righthasso
thing to do to have completely separate threads for IPv4 and IPv6 SPF though. But it works and it's now possible to have both IPv4 and IPv6 enabled in interface. One bug fixed in LSP regeneration scheduling as well.
2004-09-10Fixes from LIU Xin.hasso
2004-09-10Indentation only. No any functional changes.hasso
2004-05-19Make it compile in NetBSD and OpenBSD.hasso
2004-02-11Threads usage cleanup. Still at least one bug to go.hasso
2003-12-23Some fixes to isisd done by me and Cougar in the spring of 2003. Seehasso
changelog for details.
2003-12-23Merge isisd into the Quagga's framework:jardin
- add privs support - use misc quagga's definitions - make it compile"able" - fix segfault cases related to hostname() - add debug isis xxx command This patch has been approved by Paul Jakma.
2003-12-23Initial revisionjardin