summaryrefslogtreecommitdiffstats
path: root/bgpd
Commit message (Collapse)AuthorAgeFilesLines
...
* Wite route refresh received. Hive off statistics into separate struct.paulo2010-01-2710-91/+199
|
* Fixed program shutdown. Added peering engine side of TTL changing.paulo2010-01-2717-118/+297
| | | | | Changed names of peer states. Writed in peering engine side of sending route_refresh.
* Wiring up ROUTE-REFRESH and ORF handling. Work-in-progress.Chris Hall2010-01-2716-271/+828
| | | | | | | | | | | | | | | | | | | | modified: bgpd/bgp.h modified: bgpd/bgp_common.c 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_msg_read.c modified: bgpd/bgp_msg_read.h modified: bgpd/bgp_msg_write.c 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_route_refresh.c modified: bgpd/bgp_route_refresh.h modified: lib/qafi_safi.h
* Merge branch 'bgp_engine' of /git/quagga.euro-ix into bgp_engineChris Hall2010-01-255-17/+69
|\
| * Fixed problems in mqueue keeping tail pointers correct. Implementedpaulo2010-01-255-17/+69
| | | | | | | | | | program terminate code that waits for all sissions to become disabled before terminating pthreads and running exit code.
* | Fix bgp_session_do_disable() to return exactly one eDisabled event.Chris Hall2010-01-254-6/+27
|/ | | | | | | modified: bgpd/bgp_fsm.c modified: bgpd/bgp_notification.c modified: bgpd/bgp_notification.h modified: bgpd/bgp_session.c
* Getting BGP Engine to start and removing warnings.Chris Hall2010-01-2416-343/+430
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Finish the wiring required to get bgp_msg_read to process OPEN messages into the connection's open_state, and be able to check for correct peer AS, etc. Removed bugs preventing messages from being written. Added BGP Id check to collision detection logic. Removed as many warnings from comilation as possible. Replaced horrible FIFO kludge in the process. (Introduced the even more horrible miyagi kludge.) modified: bgpd/bgp_advertise.c modified: bgpd/bgp_advertise.h modified: bgpd/bgp_connection.c modified: bgpd/bgp_connection.h modified: bgpd/bgp_debug.c modified: bgpd/bgp_fsm.c modified: bgpd/bgp_msg_read.c modified: bgpd/bgp_msg_write.c modified: bgpd/bgp_network.c modified: bgpd/bgp_nexthop.c modified: bgpd/bgp_notification.c modified: bgpd/bgp_open.c modified: bgpd/bgp_packet.c modified: bgpd/bgp_session.c modified: bgpd/bgp_session.h modified: bgpd/bgpd.c modified: lib/Makefile.am modified: lib/distribute.c modified: lib/if_rmap.c new file: lib/miyagi.h modified: lib/prefix.h modified: lib/sockopt.c modified: lib/stream.c modified: lib/thread.c modified: lib/vty.c modified: lib/zebra.h modified: tests/bgp_capability_test.c modified: tests/bgp_mp_attr_test.c modified: tests/ecommunity_test.c modified: tests/heavy-thread.c modified: tests/heavy-wq.c modified: tests/heavy.c modified: tests/main.c modified: tests/test-checksum.c modified: tests/test-sig.c modified: watchquagga/watchquagga.c modified: zebra/if_netlink.c modified: zebra/ioctl.c modified: zebra/rt_netlink.c modified: zebra/rtread_netlink.c
* Blitz on bgp_msg_read, particularly OPEN message handlingChris Hall2010-01-2316-853/+1429
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the BGP Engine the OPEN message needs to be processed into the open_recv structure in the *connection*. The OPEN that arrives must be checked for acceptability before it is acknowledged. Later the connection may be discarded in collision resolution, or the connection may become the Established connection, and the open_recv structure is passed to the session and hence to the Peering Engine. modified: bgpd/bgp.h modified: bgpd/bgp_common.c modified: bgpd/bgp_common.h modified: bgpd/bgp_connection.c modified: bgpd/bgp_connection.h modified: bgpd/bgp_fsm.c modified: bgpd/bgp_msg_read.c modified: bgpd/bgp_msg_read.h modified: bgpd/bgp_msg_write.c modified: bgpd/bgp_notification.c modified: bgpd/bgp_notification.h modified: bgpd/bgp_open.h modified: bgpd/bgp_open_state.c modified: bgpd/bgp_open_state.h modified: bgpd/bgp_packet.c modified: bgpd/bgp_session.h modified: lib/distribute.c modified: lib/if_rmap.c modified: lib/qafi_safi.h modified: lib/stream.c modified: lib/stream.h
* Fix "write file" command so reports "threaded". Working on Shutdown andpaulo2010-01-224-16/+66
| | | | | | HUP. Shutdown needs mechanism to know when bgp_engine has closed everything. HUP don't understand how it is supposed to cope with added/ deleted/retained peers and get them going again.
* Reduce peer FSM now that session handled elsewhere. Wire up statuspaulo2010-01-228-40/+52
| | | | changes, Idle, Established, Clearing, Deleted removed other status.
* Fixes to get 3 threads working. Fixes to get threaded command working.paulo2010-01-212-16/+30
| | | | | | Removed some of the temporary debuggery in qtimers that only worked in 1 thread. Initialised the mqueue mutex. Stopped peer_index from zeroizing its mutex after it had been initialized.
* Weed out last vestiges of FSM setting session->state.Chris Hall2010-01-212-6/+1
|
* close(fd) in bgp_connection_close()Chris Hall2010-01-211-4/+0
|
* Fix typo in bgp_connection_open.Chris Hall2010-01-211-1/+1
|
* Keep timer running past IO errors in Connect/Active states.Chris Hall2010-01-213-68/+58
|
* Fix sense of session->connect flagChris Hall2010-01-202-2624/+1
| | | | | deleted: bgpd/bgp_fsm.x -- added by mistake modified: bgpd/bgp_session.c -- get session->connect right
* Fix debuggery in qtimers. Check NULL notify pointer in bgp_vtypaulo2010-01-201-1/+1
|
* Fixed dangling uses of bgp_notify_free()Chris Hall2010-01-205-9/+7
| | | | | | | | modified: bgpd/bgp_msg_write.c modified: bgpd/bgp_notification.c modified: bgpd/bgp_open_state.c modified: bgpd/bgp_peer.c modified: bgpd/bgp_session.c
* Adding verify debug code for qtimers and tidied up.Chris Hall2010-01-208-55/+2727
| | | | | | | | | | | | | | | | modified: bgpd/bgp_connection.c -- using _unset functions -- added bgp_connection_close_file modified: bgpd/bgp_connection.h modified: bgpd/bgp_fsm.c -- checked notification handling -- uses bgp_connection_close_file modified: bgpd/bgp_notification.c -- added _unset function modified: bgpd/bgp_notification.h modified: bgpd/bgp_open_state.c -- added _unset function modified: bgpd/bgp_open_state.h modified: lib/qtimers.c -- added debug _verify function modified: lib/qtimers.h modified: lib/sockunion.c -- added _unset function modified: lib/sockunion.h
* Fix bug in bgp_connection not clearing pointers after free. Plantedpaulo2010-01-202-2/+15
| | | | asserts to try to track timer crash.
* Small fix to bgp_network & add reset to peer indexChris Hall2010-01-194-65/+97
| | | | | | | Correctly stepping along list of listeners in bgp_md5_set_listeners. Added reset function for peer index and remove spurious argument for bgp_peer_index_mutex_init.
* Use sigprocmask when non-threaded. Fixed assert.paulo2010-01-191-1/+1
|
* 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-191-13/+40
|\
| * 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-181-13/+40
| | | | | | | | | | | | 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-1811-126/+100
| | | | | 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-178-113/+540
| | | | | | | | | | | | | 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-1319-351/+340
| | | | TODOs.
* Progress on bgp_msg_read. Still on going.paulo2010-01-119-229/+393
|
* Further work-in-progressChris Hall2010-01-1017-2558/+1372
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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-087-326/+536
| | | | wiring. New queue I/F handling. Routing engine nexus.
* Further work-in-progress.Chris Hall2010-01-0813-278/+2943
| | | | | | | | | | | | | | | | | 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-0813-268/+1188
| | | | | | | | | | | | | | | | | | 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
* Added "threaded" command.paulo2010-01-061-4/+27
|
* 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
* Initial commit for bgp_engine branch -- seeding new files...Chris Hall2010-01-0428-2010/+7974
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* 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-181-1/+19
| | | | | before and after reading config file. Announce on all vty when shutting down.
* Use qpt version of pthread_joinpaulo2009-12-171-3/+2
|
* Fix shutdown. Move cpu stats command to cli thread.paulo2009-12-171-9/+23
|
* 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
| |\