2a0311f05f
socket: use correct values for sockaddr lengths ( closes #177 )
2018-07-16 21:59:23 +02:00
09742179de
memory: fix segfault when releasing hugepage memory ( closes #171 )
2018-07-16 21:16:43 +02:00
4d54af002d
memory: improve logging
2018-07-16 21:16:43 +02:00
f7f537c64b
cmake: do not regenerate protobuf files if not necessary
2018-07-16 21:16:43 +02:00
e243dce812
node: fix invalid assertion in node_type()
2018-07-16 20:26:23 +02:00
7a3abc706e
comedi: fix typo
2018-07-16 20:26:09 +02:00
7936b0f626
Merge branch 'cmake-include' into develop
2018-07-16 20:20:05 +02:00
b70c86cff6
fix indention
2018-07-16 20:17:08 +02:00
7c555ccb9c
node: fix node_{read,write}() interface for comedi and iec61850_sv
2018-07-16 20:16:59 +02:00
aac99d626e
remove obsolete Makefile
2018-07-16 20:16:22 +02:00
5bbf174a13
cmake: allow VILLASnode to be included into other CMake projects via add_subdirectory()
2018-07-16 20:16:14 +02:00
688b0849bf
move node_type() implementation to source file
2018-07-16 14:42:23 +02:00
77f3033007
log: remove indention feature complete for better compatability with new C++ logger
2018-07-16 14:42:11 +02:00
5edea6a09b
use more assertions to check node state machine
2018-07-16 11:00:15 +02:00
81a2fde6a1
use new node_type() function
2018-07-16 11:00:15 +02:00
0406c46bb4
fix indention of infiniband node
2018-07-16 11:00:15 +02:00
60f55ec178
improve naming of struct node_type function pointers ( closes #150 )
2018-07-16 11:00:15 +02:00
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