Removed checks for previous BVLC messages since that is not correct behavior for BIP, especially when a WhoIs, I-Am, ReadProperty sequence occurs. This was causing messages to be sent as broadcast instead of unicast.

This commit is contained in:
skarg
2012-02-21 21:53:37 +00:00
parent 43b3a58704
commit 48c756bc11
+3 -7
View File
@@ -157,20 +157,16 @@ int bip_send_pdu(
/* addr and port in host format */
struct in_addr address;
uint16_t port = 0;
BACNET_BVLC_FUNCTION function;
(void) npdu_data;
/* assumes that the driver has already been initialized */
if (BIP_Socket < 0)
if (BIP_Socket < 0) {
return BIP_Socket;
}
mtu[0] = BVLL_TYPE_BACNET_IP;
bip_dest.sin_family = AF_INET;
function = bvlc_get_function_code(); /* What type of BVLC was it? */
if ( (dest->net == BACNET_BROADCAST_NETWORK) ||
(function == BVLC_FORWARDED_NPDU) ||
(function == BVLC_ORIGINAL_BROADCAST_NPDU) ) {
if (dest->net == BACNET_BROADCAST_NETWORK) {
/* broadcast */
address.s_addr = BIP_Broadcast_Address.s_addr;
port = BIP_Port;