1
0
Fork 0
mirror of https://git.rwth-aachen.de/acs/public/villas/node/ synced 2025-03-16 00:00:02 +01:00
Commit graph

2632 commits

Author SHA1 Message Date
Dennis Potter
d9080fa1db Cleaned up some obsolete code. Closes #176 2018-07-16 10:54:15 +02:00
Dennis Potter
d64d1e6f37 Implemented ib_reverse()
The only value that gets reversed is src- and dst address. Fixes #175.
2018-07-16 10:35:48 +02:00
Dennis Potter
eb55dee920 Added fallback which sets mode to listening mode
Before, the node would throw an error as soon as it cannot connect to
the remote host. Now, it will throw a warning and switch to listening
mode (in which it will wait for another node to connect).
2018-07-15 16:37:52 +02:00
Dennis Potter
6444a9e337 Split configuration in an in and out part 2018-07-15 13:51:18 +02:00
Dennis Potter
6975854376 Solved problem with blocking thread
In the case that a node was already disconnected but not stopped,
rdma_cm_get_event always blocked and we coulnd't join the threads. This
is solved in this commit by registering SIGUSR1 to the CM event thread.

This bug originated in issue #152
2018-07-14 16:46:23 +02:00
Dennis Potter
3d01174859 Merge branch 'ib-send-inline' into develop 2018-07-14 15:26:12 +02:00
Dennis Potter
95e2a7c20b Added extra check for inline mode. Closes #164
The actual maximum size for inline mode is now returned to the user and
there is a check that inline_mode is either 0 or 1. Furthermore, this
commit includes a minor improvement in ib_write()
2018-07-14 15:20:24 +02:00
Dennis Potter
1d6ee5aec8 Node can determine if data should be send inline
The user can set the maximum size of the inline data and the node checks
if a sample can be send inline. This commit doesn't contain a info
message to the user about what the final max inline size will be. (The
HCA will probably change the value set by the user.)
2018-07-13 13:50:30 +02:00
Sonja Kolen
bfd25b55db check if publish/ subscribe topic is set before subscribing or publishing, provide a warning to the user in case subscribing/ publishing cannot be done because of lack of topic 2018-07-13 13:36:13 +02:00
Dennis Potter
b1b778f542 Added buffer to ib_write()
Now, ib_write() reads every cycle cnt values from the Completion Queue.
If it is not able to return them to the framework immediately, it
temporarily saves them on a stack.

ib_write() checks every cycle if the stack is non-empty and if it is
possible to return values from the stack to the framework.
2018-07-13 12:21:59 +02:00
Dennis Potter
4cd8fc7150 ib_write and ib_read handle memory in a way that the pool doesn't underrun now. Sending data inline is broken in this commit 2018-07-12 17:49:17 +02:00
Dennis Potter
51c26c0bb1 Merge branch 'node-read-write-interface' into develop 2018-07-11 23:03:59 +02:00
Dennis Potter
72e627b327 Fixes #166, all node interfaces are modified
The functions now look like this

int node_read(struct node *n, struct sample *smps[], unsigned cnt, unsigned *release);
int node_write(struct node *n, struct sample *smps[], unsigned cnt, unsigned *release);

This commit enables nodes to control how many samples will
be released by the framework through *release
2018-07-11 18:14:29 +02:00
Sonja Kolen
a2d33154d0 Merge branch 'develop' of git.rwth-aachen.de:acs/public/villas/VILLASnode into develop 2018-07-09 12:59:24 +02:00
Sonja Kolen
eb2941ea95 node: pass return value of vt->destroy 2018-07-09 12:55:36 +02:00
Sonja Kolen
6d613223cc memory: fix use after free 2018-07-09 12:54:33 +02:00
Dennis Potter
29ff75fad3 Removed some obsolete code for completion queues 2018-07-08 15:32:28 +02:00
Dennis Potter
746fd2f694 Refactored ib_write in the same way as ib_read (described in #153). Merged separate completion queue polls to ib_write. Closes #167 2018-07-08 15:00:47 +02:00
Dennis Potter
ebb5446305 Refactored the way ib_read() handles the refence counts for the samples it uses. This is based on the algorithm described in issue #153 2018-07-08 14:05:48 +02:00
Dennis Potter
6150a36411 Changed all node_write() functions 2018-07-07 17:48:07 +02:00
Dennis Potter
4663f55e4b Changed all node_read() functions to support a *cnt instead of cnt 2018-07-07 17:07:45 +02:00
Dennis Potter
8119c39c1a Merge branch 'ib-started-connected' into develop 2018-07-07 16:24:57 +02:00
Dennis Potter
06e7434d6c Solved some state problems. This commit also solves #154, which was caused by a non-terminated thread. (This thread will be removed in a later commit anyway 2018-07-07 15:34:07 +02:00
Dennis Potter
1bdd0a9e34 node_stop can be called if node is STARTED or CONNECTED 2018-07-07 15:24:48 +02:00
Dennis Potter
836adee4d6 Node is able to clean everything up and reconnect. Node can abort if it is in STARTED and in CONNECTED state 2018-07-07 14:36:23 +02:00
Dennis Potter
80da4801e1 Source and target successfully connect and node changes status from STATE_STARTED to STATE_CONNECTED in this commit. Next step will be to fix ib_stop and ib_disconnect to make the target able to accept new connections. 2018-07-07 13:08:08 +02:00
Dennis Potter
e16644b0e9 Added some error handling in IB memory type 2018-07-07 12:56:08 +02:00
Dennis Potter
e2061e58fc Events are now monitored in a separate thread. The segmentation faults we saw earlier were caused because we exited ib_start before we created a protection domain, which is used by memory_allocation 2018-07-07 12:49:22 +02:00
Dennis Potter
bde7dd69d7 Merge branch 'develop' of git.rwth-aachen.de:acs/public/villas/VILLASnode into develop 2018-07-06 14:47:28 +02:00
Dennis Potter
e91ea7a225 Remove villas.pb-c.c and villas.pb-c.h from repository and do a minor update to .gitignore. Closes #162 2018-07-06 14:47:11 +02:00
26541bae79 log: fix logging to syslog 2018-07-06 14:13:01 +02:00
9e15dfdc34 log: only show indention markers in console logs, not files 2018-07-06 14:12:48 +02:00
Dennis Potter
2bf122991c Started to convert the RDMA_CM_EVENT loop to a separate thread and added a new state to the node. This commit is still broken 2018-07-05 18:26:32 +02:00
Dennis Potter
43dc305fde Placed sanity checks to a separate function ib_check. Closes #151 2018-07-05 15:30:33 +02:00
Dennis Potter
b2fcfdca9d Checked all tools for the presence of log_parse() 2018-07-05 14:40:32 +02:00
Dennis Potter
f976ce5418 Added debug messages with different verbosity levels 2018-07-05 13:57:25 +02:00
Dennis Potter
781f405a48 Adhered to coding style 2018-07-04 19:04:08 +02:00
b84210b91d cmake: add support for infiniband node-type 2018-07-04 17:50:26 +02:00
fb4c39f19a memory: update file haeders 2018-07-04 17:27:45 +02:00
4d09482fdb Merge branch 'infiniband' into develop
# Conflicts:
#	Makefile
#	Makefile.config
#	Makefile.help
#	lib/Makefile.villas-ext.inc
#	lib/Makefile.villas.inc
#	lib/memory.c
#	lib/nodes/Makefile.inc
2018-07-04 16:50:36 +02:00
92e4b61e2e add assertion to check that the node-type has been started before starting the node 2018-07-04 16:38:06 +02:00
Dennis Potter
08682bec9b Added LOG_IB 2018-07-04 16:34:08 +02:00
8cd1b93225 cmake: fix linking of libiec61850 on Ubuntu 2018-07-04 16:27:43 +02:00
Dennis Potter
86363f06da Added better handling for FLUSH_ERRs of receive work queue 2018-07-04 15:37:25 +02:00
Dennis Potter
8f52d167f5 Fixed wrong directory in include of ib.h 2018-07-04 15:26:22 +02:00
Dennis Potter
51519c06df Implemented new memory system implementation in infiniband node 2018-07-04 15:15:24 +02:00
d64b650f58 cmake: link against imported target for libprotobuf-c 2018-07-04 15:14:02 +02:00
6ecac46b4e cmake: fix detection protobuf 2018-07-04 15:09:22 +02:00
d9e041a525 cmake: fix detection of libwebsockets 2018-07-04 15:09:08 +02:00
5bb7404cd8 allow compilation against older libcurl versions 2018-07-04 15:08:48 +02:00