added checks to allow broadcast to network or if mac address is not specified
This commit is contained in:
@@ -166,7 +166,9 @@ int bip_send_pdu(
|
|||||||
|
|
||||||
mtu[0] = BVLL_TYPE_BACNET_IP;
|
mtu[0] = BVLL_TYPE_BACNET_IP;
|
||||||
bip_dest.sin_family = AF_INET;
|
bip_dest.sin_family = AF_INET;
|
||||||
if (dest->net == BACNET_BROADCAST_NETWORK) {
|
if (dest->net == BACNET_BROADCAST_NETWORK
|
||||||
|
|| dest->len == 0
|
||||||
|
|| dest->mac_len == 0) {
|
||||||
/* broadcast */
|
/* broadcast */
|
||||||
address.s_addr = BIP_Broadcast_Address.s_addr;
|
address.s_addr = BIP_Broadcast_Address.s_addr;
|
||||||
port = BIP_Port;
|
port = BIP_Port;
|
||||||
|
|||||||
@@ -1140,7 +1140,9 @@ int bvlc_send_pdu(
|
|||||||
/* bip datalink doesn't need to know the npdu data */
|
/* bip datalink doesn't need to know the npdu data */
|
||||||
(void) npdu_data;
|
(void) npdu_data;
|
||||||
mtu[0] = BVLL_TYPE_BACNET_IP;
|
mtu[0] = BVLL_TYPE_BACNET_IP;
|
||||||
if (dest->net == BACNET_BROADCAST_NETWORK) {
|
if ( dest->net == BACNET_BROADCAST_NETWORK
|
||||||
|
|| dest->len == 0
|
||||||
|
|| dest->mac_len == 0) {
|
||||||
/* if we are a foreign device */
|
/* if we are a foreign device */
|
||||||
if (Remote_BBMD.sin_port) {
|
if (Remote_BBMD.sin_port) {
|
||||||
mtu[1] = BVLC_DISTRIBUTE_BROADCAST_TO_NETWORK;
|
mtu[1] = BVLC_DISTRIBUTE_BROADCAST_TO_NETWORK;
|
||||||
|
|||||||
Reference in New Issue
Block a user