Found a number of problems with the router when compiling on linux * Expected malloc()'ed memory to be zeroed resulting in segfault * IPC_NOWAIT in iplayer loop means incoming traffic will be delayed until outgoing traffic is received. * When configured with two BIP interfaces, broadcast loops ensue because the broacast traffic is not correctly filtered. I think the safest thing to do here is to use the SO_BINDTODEVICE setsockopt.
This commit is contained in:
committed by
GitHub
parent
038ba9ec2b
commit
adf66f412d
@@ -29,6 +29,7 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <sys/ipc.h>
|
||||
#include "mstpmodule.h"
|
||||
#include "bacnet/bacint.h"
|
||||
#include "dlmstp_linux.h"
|
||||
@@ -106,7 +107,7 @@ void *dl_mstp_thread(void *pArgs)
|
||||
BACMSG msg_storage, *bacmsg;
|
||||
MSG_DATA *msg_data;
|
||||
|
||||
bacmsg = recv_from_msgbox(port->port_id, &msg_storage);
|
||||
bacmsg = recv_from_msgbox(port->port_id, &msg_storage, IPC_NOWAIT);
|
||||
|
||||
if (bacmsg) {
|
||||
switch (bacmsg->type) {
|
||||
|
||||
Reference in New Issue
Block a user