| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
program terminate code that waits for all sissions to become disabled
before terminating pthreads and running exit code.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
asserts to try to track timer crash.
|
| |
|
| |
|
|
|
|
| |
with having 1 or multiple nexus (and pthreads).
|
|
|
|
|
| |
pthreads then all point at same nexus object. Do necessary in-thread
initialization and finalization. Fix some minor warnings.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 )
|
|
|
|
| |
TODOs.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
wiring. New queue I/F handling. Routing engine nexus.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Added confirms and assert for SU_ADDRSTRLEN in sockunion.h and in
sockunion2str().
|
|\ |
|
| | |
|
| |\
| | |
| | |
| | | |
into bgp_engine
|
| | |
| | |
| | |
| | | |
mutex so that can call zlog from anywhere.
|
|/ /
| |
| |
| |
| | |
Flag indicates that at least one thread has been created.
(To be used to ensure no surprises when daemonising !)
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
are blocked for non-main thraeds
|
|
|
|
|
| |
before and after reading config file. Announce on all vty when shutting
down.
|
| |
|
| |
|
|
|
|
| |
All qpt_thread_t values are equal if !qpthreads_enabled.
|
| |
|
| |
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Remove vector_ream(), which removes item from the vector, by
vector_get_last_item(). Leaves removal from the vector to
qps_file_remove().
|
|
|
|
| |
Run memory commands in cli thread.
|
|
|
|
| |
thread to run in. Add qlib_init stuff. Add -t parameter for "threaded".
|
| |
|
|
|
|
|
| |
When adding to signal queue, must use mq->kick.signal.head == NULL to
check for an empty queue (not mq->kick.signal.tail == NULL).
|
|
|
|
| |
Each has its own nexus.
|
|\ |
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* lib/prefix.h
* prefix6_bit(): add IPv6 wrapper for prefix_bit()
* ospf6d/ospf6_lsdb.c
* ospf6_lsdb_type_router_head(): employ prefix6_bit()
* ospf6_lsdb_type_head(): idem
|