Menu

#65 Read property request with LOCAL/GLOBAL broadcast is executed and responded with the complex-ack instead of dropping a packet

v0.8.4
accepted
None
1
2022-03-17
2019-10-11
Anonymous
No

Unable to drop a packet when confirmed broadcast request is sent.

Sending an Read property request as LOCAL/GLOBAL broadcast using VTS tool. I see that instead of dropping a packet stack is sending complex Ack.

Discussion

  • Steve Karg

    Steve Karg - 2019-10-19
    • status: open --> accepted
    • assigned_to: Steve Karg
     
  • Steve Karg

    Steve Karg - 2019-10-19

    What version of the bacnet-stack are you using? (see version.h or release or --version for demos)
    Are you testing a demo, or an application, or is this running in an embedded product?

     
    • Steve Karg

      Steve Karg - 2019-10-19

      See the solution in npdu_handler() function:

                      if ((dest.net == BACNET_BROADCAST_NETWORK) &&
                          ((pdu[apdu_offset] & 0xF0) ==
                              PDU_TYPE_CONFIRMED_SERVICE_REQUEST)) {
                          /* hack for 5.4.5.1 - IDLE */
                          /* ConfirmedBroadcastReceived */
                          /* then enter IDLE - ignore the PDU */
                      } else {
      
       
  • Shivani Rathi

    Shivani Rathi - 2019-10-22

    After this change also i can see the issue. I am using VTS tool to test the stack .

     
  • Steve Karg

    Steve Karg - 2022-03-17

    Hmm, thought that would a simple change on Linux/Windows for BACnet/IP, but not so much:
    https://stackoverflow.com/questions/5281409/get-destination-address-of-a-received-udp-packet

    sin.sin_addr is the source address, not the destination address.

    It might be easier if the broadcast socket listener was separate from the unicast socket bind - maybe we'll go that route.

     

Anonymous
Anonymous

Add attachments
Cancel





MongoDB Logo MongoDB