summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Recast bgp_peer_index so that pointers to entries work !Chris Hall2010-01-191-70/+73
| | | | | Replaced single array of index entries by list of chunks of array entries, and a vector for access by peer_id.
* Minor fixes to get a clean compile so can start debugging.paulo2010-01-1911-47/+55
|
* Merge branch 'bgp_engine' of /git/quagga.euro-ix into bgp_engineChris Hall2010-01-195-29/+123
|\
| * Merged with GMCH changespaulo2010-01-181-16/+13
| |
| * Merge branch 'bgp_engine' of ssh://paulo@80.177.246.130/git/quagga.euro-ix ↵paulo2010-01-185-84/+168
| |\ | | | | | | | | | into bgp_engine
| * | Nexus to handle old threads and process the bgp local events. Dealspaulo2010-01-185-29/+126
| | | | | | | | | | | | with having 1 or multiple nexus (and pthreads).
* | | Disable zebra pro temChris Hall2010-01-192-33/+44
| |/ |/| | | | | | | | | | | modified: bgpd/bgp_nexthop.c -- skipped queueing of connect "thread" modified: bgpd/bgp_zebra.c -- disabled and closed down "threads"
* | Refining the session state handling.Chris Hall2010-01-185-84/+168
|/ | | | | | | | | | | | | | | | | | | | | | | modified: bgpd/bgp_common.h Renaming of states: sStopping -> sLimping sStopped -> sDisabled modified: bgpd/bgp_fsm.c Removed last vestige of session->state stuff. modified: bgpd/bgp_peer.c Upgraded event processing so that disable session has full hand shake with BGP Engine. modified: bgpd/bgp_session.c Changed to implement sLimping and sDisabled states and the disable session hand-shake. modified: bgpd/bgp_session.h
* Wired in nexus for bgp_ routing_ and cli_ such that if not usingpaulo2010-01-1815-225/+173
| | | | | pthreads then all point at same nexus object. Do necessary in-thread initialization and finalization. Fix some minor warnings.
* Further work-in-progress.Chris Hall2010-01-1710-113/+607
| | | | | | | | | | | | | modified: bgpd/bgp_connection.c completed pending queue modified: bgpd/bgp_engine.c TODOs for start/stop modified: bgpd/bgp_msg_write.c ) added send_update and send_eor modified: bgpd/bgp_msg_write.h ) modified: bgpd/bgp_open_state.c fixed free modified: bgpd/bgp_packet.c tidied up peer->work usage modified: bgpd/bgp_session.c ) completed various message handlers modified: bgpd/bgp_session.h ) modified: lib/mqueue.c ) added revoke modified: lib/mqueue.h )
* Wired up receiving updates, with update packet sent from BGP to Routingpaulo2010-01-1511-207/+224
| | | | | | | | | | | engine. Wired up Routing engine side of sending update packets to BGP engine with flow control. Eliminated a lot of compilation errors and warnings although a few remain. Have skipped out now unused code, particularly in bgp_packet.c that will be deleted eventually.
* Make session state a Peering Engine item.Chris Hall2010-01-148-84/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | Along with the introduction of the sStopping session state, move responsibility for the session->state field entirely back to Peering Engine, and get it to change same when session events arrive. Stop FSM from writing the session->state, session->event, session->notification, session->err and session->ordinal fields. (Which may now be used by Peering Engine if it wants.) Handle sStopping as an active state where required. Not issue a further session disable once in sStopping state. Wire up bgp_connection and bgp_msg_read. modified: bgpd/bgp_connection.c modified: bgpd/bgp_fsm.c modified: bgpd/bgp_msg_read.c modified: bgpd/bgp_msg_read.h modified: bgpd/bgp_peer.c modified: bgpd/bgp_peer_index.c modified: bgpd/bgp_session.c modified: bgpd/bgp_session.h
* More knitting and clean up replacing old state machine with events withpaulo2010-01-1411-255/+240
| | | | new. Still work in progress.
* Knitting it all together. Still not got clean compile. Still lots ofpaulo2010-01-1322-351/+344
| | | | TODOs.
* Progress on bgp_msg_read. Still on going.paulo2010-01-119-229/+393
|
* Further work-in-progressChris Hall2010-01-1024-2572/+1422
| | | | | | | | | | | | | | | | | | | | | | | | | | | modified: .gitignore modified: bgpd/Makefile.am modified: bgpd/bgp.h modified: bgpd/bgp_common.h modified: bgpd/bgp_connection.c modified: bgpd/bgp_connection.h modified: bgpd/bgp_fsm.c modified: bgpd/bgp_msg_write.c modified: bgpd/bgp_msg_write.h modified: bgpd/bgp_notification.c modified: bgpd/bgp_notification.h modified: bgpd/bgp_open_state.c modified: bgpd/bgp_open_state.h modified: bgpd/bgp_packet.h new file: bgpd/bgp_route_refresh.c new file: bgpd/bgp_route_refresh.h modified: bgpd/bgp_session.c modified: bgpd/bgp_session.h modified: lib/Makefile.am new file: lib/confirm.h modified: lib/memtypes.c modified: lib/stream.c modified: lib/stream.h modified: lib/zassert.h
* Fixed type in bgp_open_state.c. New file bgp_msg_read.c for parsingpaulo2010-01-082-21/+940
| | | | bgp messages
* Update peer from received open state. Threaded command. Peer indexpaulo2010-01-0810-410/+656
| | | | wiring. New queue I/F handling. Routing engine nexus.
* Further work-in-progress.Chris Hall2010-01-0814-279/+2944
| | | | | | | | | | | | | | | | | modified: bgpd/Makefile.am modified: bgpd/bgp_common.h modified: bgpd/bgp_connection.c modified: bgpd/bgp_connection.h modified: bgpd/bgp_engine.c modified: bgpd/bgp_fsm.c modified: bgpd/bgp_fsm.h new file: bgpd/bgp_msg_write.c new file: bgpd/bgp_msg_write.h modified: bgpd/bgp_notification.c modified: bgpd/bgp_notification.h modified: bgpd/bgp_session.c modified: bgpd/bgp_session.h modified: lib/sockunion.h
* Continuing work-in-progressChris Hall2010-01-0815-268/+1191
| | | | | | | | | | | | | | | | | | modified: bgpd/Makefile.am modified: bgpd/bgp.h modified: bgpd/bgp_common.h modified: bgpd/bgp_connection.c modified: bgpd/bgp_connection.h modified: bgpd/bgp_engine.h modified: bgpd/bgp_fsm.c modified: bgpd/bgp_network.c modified: bgpd/bgp_network.h new file: bgpd/bgp_peer_index.c new file: bgpd/bgp_peer_index.h modified: bgpd/bgp_session.c modified: bgpd/bgp_session.h modified: lib/memtypes.c modified: lib/mqueue.h
* Further refinement to arguments for message queue blocks.Chris Hall2010-01-073-359/+210
| | | | | | | | | | | | | Updates lib/mqueue.c and .h Allows for main message argument to be a (small) embedded structure. Users of messages can now define suitable structs for the information to be passed in a message, and use those to write/read the message data. Should be easier to use and less error prone than trying to match anonymous argv[n] values. Allows for straightforward, flexible argv[] array as well.
* Further extension to arguments for message queue blocks.Chris Hall2010-01-062-0/+124
| | | | | | | | Updates lib/mqueue.c and .h Added: mqb_push_argv_array() push array of 'n' pointers. mqb_pop_argv_array() pop remains "list" to array of pointers.
* Merge branch 'bgp_engine' of /git/quagga.euro-ix into bgp_engineChris Hall2010-01-061-4/+27
|\
| * Added "threaded" command.paulo2010-01-061-4/+27
| |
* | Extended argument handling for message queue blocks.Chris Hall2010-01-063-38/+509
|/ | | | | | | | | | | | | | | | | | | Updates lib/mqueue.c and .h Having concluded that two arguments is really too restrictive, this change: * allows for an indefinite number of arguments. With up to 6 in the body of the message queue block itself. * supports the treatment of arguments from a given argument 'n' onwards as a list of indefinite length. So message queue block may be treated as having 'n' fixed arguments and a variable number of further arguments. Adds a further memory type.
* Work in progress on BGP EngineChris Hall2010-01-069-417/+907
| | | | | | | | | | | | modified: bgpd/bgp_common.h modified: bgpd/bgp_connection.c modified: bgpd/bgp_connection.h modified: bgpd/bgp_fsm.c modified: bgpd/bgp_fsm.h modified: bgpd/bgp_network.c modified: bgpd/bgp_open_state.h modified: bgpd/bgp_session.c modified: bgpd/bgp_session.h
* Tighten SU_ADDRSTRLEN and sockunion2str() in lib/sockunion.c/.hChris Hall2010-01-052-1/+14
| | | | | Added confirms and assert for SU_ADDRSTRLEN in sockunion.h and in sockunion2str().
* Merge branch 'bgp_engine' of /git/quagga.euro-ix into bgp_engineChris Hall2010-01-052-8/+28
|\
| * Fix typo in lib/sockunion.cpaulo2010-01-041-1/+1
| |
| * Merge branch 'pthreads' of ssh://paulo@80.177.246.130/git/quagga.euro-ix ↵paulo2010-01-041-7/+27
| |\ | | | | | | | | | into bgp_engine
| | * Set socket non-blocking prior to listen(). Changed to recursivepaulo2010-01-041-7/+27
| | | | | | | | | | | | mutex so that can call zlog from anywhere.
* | | Add qpthreads_thread_created to lib/qpthreadsChris Hall2010-01-052-4/+10
|/ / | | | | | | | | Flag indicates that at least one thread has been created. (To be used to ensure no surprises when daemonising !)
* / Initial commit for bgp_engine branch -- seeding new files...Chris Hall2010-01-0445-2443/+8972
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On branch bgp_engine modified: .gitignore modified: bgpd/Makefile.am new file: bgpd/bgp.h new file: bgpd/bgp_common.c new file: bgpd/bgp_common.h new file: bgpd/bgp_connection.c new file: bgpd/bgp_connection.h modified: bgpd/bgp_debug.c new file: bgpd/bgp_engine.c new file: bgpd/bgp_engine.h modified: bgpd/bgp_fsm.c modified: bgpd/bgp_fsm.h modified: bgpd/bgp_network.c modified: bgpd/bgp_network.h new file: bgpd/bgp_notification.c new file: bgpd/bgp_notification.h modified: bgpd/bgp_open.c new file: bgpd/bgp_open_state.c new file: bgpd/bgp_open_state.h modified: bgpd/bgp_packet.c new file: bgpd/bgp_peer.c new file: bgpd/bgp_peer.h modified: bgpd/bgp_route.c new file: bgpd/bgp_session.c new file: bgpd/bgp_session.h modified: bgpd/bgp_vty.c modified: bgpd/bgp_zebra.c modified: bgpd/bgpd.c modified: bgpd/bgpd.h modified: lib/Makefile.am modified: lib/memtypes.c modified: lib/mqueue.c modified: lib/mqueue.h new file: lib/qafi_safi.h modified: lib/qpselect.c modified: lib/qpselect.h modified: lib/qpthreads.c modified: lib/qpthreads.h modified: lib/sockopt.c modified: lib/sockunion.c modified: lib/sockunion.h modified: lib/stream.c modified: lib/stream.h modified: lib/symtab.h modified: lib/zebra.h
* Fix bug in using new mqueue interface. Change which signalspaulo2009-12-182-2/+9
| | | | are blocked for non-main thraeds
* Can't use stderr after daemonizing, goes to dev/nullpaulo2009-12-181-8/+0
|
* QDEBUG handling. Debug banner on stderr, vty and log file. Annoucepaulo2009-12-185-2/+71
| | | | | before and after reading config file. Announce on all vty when shutting down.
* Changes to mqueue interface to support revoke.paulo2009-12-184-74/+40
|
* Use qpt version of pthread_joinpaulo2009-12-171-3/+2
|
* Add qpt_thread_join() to lib/qpthreadsChris Hall (GMCH)2009-12-172-0/+31
|
* Add qpt_threads_equal() to lib/qpthreadsChris Hall (GMCH)2009-12-171-1/+9
| | | | All qpt_thread_t values are equal if !qpthreads_enabled.
* Use static mutexespaulo2009-12-176-65/+58
|
* Fix shutdown. Move cpu stats command to cli thread.paulo2009-12-179-21/+96
|
* Merge branch 'master' of /git/quagga.euro-ix into pthreadsChris Hall (GMCH)2009-12-175-21/+4
|\
| * Merge branch 'master' of git://code.quagga.net/quaggaChris Hall (GMCH)2009-12-175-21/+4
| |\
| | * bgpd: code cleanupStephen Hemminger2009-12-175-21/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * bgpd/bgp_aspath.c * ashash: only used in one file, make static * aspath_count_numas(): dead code, sayonara * bgpd/bgpd.c * peer_nsf_stop(): only used in one file, make static * bgpd/bgp_packet.h * bgp_capability_receive(): add missing prototype for a global function
* | | Add timer interval handling to lib/qtimerChris Hall (GMCH)2009-12-172-4/+52
| | | | | | | | | | | | | | | For some timers it is convenient to have an interval stored in the timer, and to be able to set the timer using that interval.
* | | Add vector_trim() and vector_condense() to lib/vector.cChris Hall (GMCH)2009-12-172-7/+50
| | | | | | | | | | | | | | | Go with vector_unset_item(). May be used to trim NULL values at the end of a vector or to remove all NULL values from a vector.
* | | Fix to qps_selection_ream()Chris Hall (GMCH)2009-12-171-1/+1
| | | | | | | | | | | | | | | | | | Remove vector_ream(), which removes item from the vector, by vector_get_last_item(). Leaves removal from the vector to qps_file_remove().
* | | Fix race condition when threads start. Make memory stats thread safepaulo2009-12-166-36/+97
| | | | | | | | | | | | Run memory commands in cli thread.
* | | Get CLI thread and UI working properly. Sex commands according topaulo2009-12-1511-189/+444
| | | | | | | | | | | | thread to run in. Add qlib_init stuff. Add -t parameter for "threaded".