Branch: refs/heads/master
Home: https://github.com/fabbione/kronosnet
Commit: b525ee6a6b74ec752bcab0337a1cdaa53f85dd3f
https://github.com/fabbione/kronosnet/commit/b525ee6a6b74ec752bcab0337a1cda…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2017-02-03 (Fri, 03 Feb 2017)
Changed paths:
M kronosnetd/cfg.h
M kronosnetd/etherfilter.c
M kronosnetd/etherfilter.h
M kronosnetd/vty.h
M kronosnetd/vty_cli_cmds.c
M libknet/handle.c
M libknet/host.c
M libknet/internals.h
M libknet/libknet.h
M libknet/link.c
M libknet/link.h
M libknet/onwire.h
M libknet/tests/api_knet_handle_enable_filter.c
M libknet/tests/api_knet_handle_new.c
M libknet/tests/api_knet_host_add.c
M libknet/tests/api_knet_host_enable_status_change_notify.c
M libknet/tests/api_knet_host_get_host_list.c
M libknet/tests/api_knet_host_get_id_by_host_name.c
M libknet/tests/api_knet_host_remove.c
M libknet/tests/api_knet_send_sync.c
M libknet/tests/knet_bench.c
M libknet/tests/test-common.c
M libknet/threads_dsthandler.c
M libknet/threads_heartbeat.c
M libknet/threads_pmtud.c
M libknet/threads_rx.c
M libknet/threads_tx.c
Log Message:
-----------
[global] Reduce the number of support nodes in a knet from 64K to 256
realistically speaking nobody is ever going to deploy more than 32/64 nodes.
NOTE: this commit changes both onwire and API!
Signed-off-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Branch: refs/heads/master
Home: https://github.com/fabbione/kronosnet
Commit: d9560ea968e799de6efd3db4152abe3c4e52dc32
https://github.com/fabbione/kronosnet/commit/d9560ea968e799de6efd3db4152abe…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2017-02-02 (Thu, 02 Feb 2017)
Changed paths:
A libknet/threads_rx.c
A libknet/threads_rx.h
A libknet/threads_tx.c
A libknet/threads_tx.h
Log Message:
-----------
[send/recv] split code into separate files (step 1)
Signed-off-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Commit: 5e33e759fc5ae2b0450030bb98ddf0ed2c7d63ad
https://github.com/fabbione/kronosnet/commit/5e33e759fc5ae2b0450030bb98ddf0…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2017-02-02 (Thu, 02 Feb 2017)
Changed paths:
M libknet/Makefile.am
M libknet/handle.c
M libknet/threads_rx.c
M libknet/threads_rx.h
R libknet/threads_send_recv.c
R libknet/threads_send_recv.h
M libknet/threads_tx.c
M libknet/threads_tx.h
Log Message:
-----------
[send/recv] split RX and TX threads in separate files
Signed-off-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Compare: https://github.com/fabbione/kronosnet/compare/f0a4bb6e1d74...5e33e759fc5a
Branch: refs/heads/master
Home: https://github.com/fabbione/kronosnet
Commit: 45a6124bfc71d99f74b6810ec8b45cdfa8118d03
https://github.com/fabbione/kronosnet/commit/45a6124bfc71d99f74b6810ec8b45c…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2017-02-02 (Thu, 02 Feb 2017)
Changed paths:
M libknet/transport_sctp.c
Log Message:
-----------
[sctp] Allow internal IPC to operate under RX pressure
Signed-off-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Commit: f0a4bb6e1d7449d0686ef401a180fa9f113ac6c0
https://github.com/fabbione/kronosnet/commit/f0a4bb6e1d7449d0686ef401a180fa…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2017-02-02 (Thu, 02 Feb 2017)
Changed paths:
M TODO
M libknet/handle.c
M libknet/host.c
M libknet/host.h
M libknet/internals.h
M libknet/link.c
M libknet/onwire.h
M libknet/threads_heartbeat.c
M libknet/threads_heartbeat.h
M libknet/threads_send_recv.c
Log Message:
-----------
[send/recv] Unify and simplify usage of seq_num in packets
IMPORTANT: this commit changes onwire protocol in an incompatible way!
- remove the concet of bcast and mcast seq num and use one tx_seq_num
- stop using LINK_UP_DOWN messages to broadcast node seq num and
transfer this data inside heartbeat messages
- LINK_UP_DOWN messages are currently unused but let's keep the
infrastructure around for future
- minor cleanup in host_set_policy to confirm change of switching
policy in the logs
- _link_updown should use async call to host dstcache update
due to locking context
- switch knet_link_set_enable to use write locking context
since the only reason it was read lock, was due to the need
to send LINK_UP_DOWN messages
- knet_link_set_priority can now use dstcache in sync mode
- add seq_num and heartbeat type (timed/untimed) data to heartbeat
messages. timed messages are generated regularly by hb_thread.
untimed messages are generated by the TX thread to sync seq_num
on heavy load across all connected node. (see comments in the code)
- access to the node seq_num is now mutex locked
- abstract ability to send pings from multiple threads
- special case seq_num == 0 to detect a node crash and coming back
to life before hb_thread can detect the disconnection
- forcefully send ping in the TX thread every SEQ_MAX / 8 packets
to allow nodes to sync seq_num
- optimize TX thread code to prepare the outgoing buffers once
vs multiple times. There is still work that can be done here
to optimize sending to multiple host, but this change
is intrusive enough already as it is
- add logic to clear circular buffers when receiving pings
Signed-off-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Compare: https://github.com/fabbione/kronosnet/compare/51de9b3f7c29...f0a4bb6e1d74
Branch: refs/heads/master
Home: https://github.com/fabbione/kronosnet
Commit: 633c4b28cf79f3c487a2ce42e889b2a04d14e772
https://github.com/fabbione/kronosnet/commit/633c4b28cf79f3c487a2ce42e889b2…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2017-01-27 (Fri, 27 Jan 2017)
Changed paths:
M libknet/handle.c
M libknet/host.c
M libknet/internals.h
M libknet/threads_send_recv.c
Log Message:
-----------
[host] remove completely broken host to host communication locking system
the original idea was to have a host-to-host (semi-)reliable communication protocol
but that just isn't possible without flow control and retransmit
IIRC the only side affect of this missing lock is a corner case where:
1) node A totally crashes
2) node A come backs to life, sends it's status info (seq_num information)
3) node B does NOT receive the status info
4) node A starts sending traffic and a few packets might get lost
this will be solved when rewriting the TX thread to optimize the seq_num handling
Signed-off-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Branch: refs/heads/master
Home: https://github.com/fabbione/kronosnet
Commit: 11b3d84f640116d9e30e912389e2158fd3273883
https://github.com/fabbione/kronosnet/commit/11b3d84f640116d9e30e912389e215…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2017-01-27 (Fri, 27 Jan 2017)
Changed paths:
M libknet/threads_send_recv.c
Log Message:
-----------
[send/recv] make sure to unlock dsthost thread under certain errors
Signed-off-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Branch: refs/heads/master
Home: https://github.com/fabbione/kronosnet
Commit: 6a6d337d4310aa1052a7fcff2955d170367c3570
https://github.com/fabbione/kronosnet/commit/6a6d337d4310aa1052a7fcff2955d1…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2017-01-27 (Fri, 27 Jan 2017)
Changed paths:
M libknet/transport_sctp.c
Log Message:
-----------
[transport] make sctp tx error handling more robust and avoid spinning on dead sockets
Signed-off-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>