Re: Multicast

"Steve Trigero seecwriter-/[email protected] [rabbit-semi]" <[email protected]> Thu, 21 Jul 2016 21:55:05 +0000 (UTC)
Newsgroups gmane.comp.hardware.rabbit-semiconductor
Message-ID <[email protected]>
UDP_VERBOSE doesn't do anything. There is no output when it's defined. I'm using your updated network library, so maybesomething happened there.
In any case, after I ran my code in the debugger, it started working. So I recompiled without debug code enabled and reloadedthe program, and now it works every time. Scary.
Slight change of subject. 
First, what's the relationship between the number of UDP sockets and number of UDP buffers? Since UDP is connectionless, a socket for each potential device that may send a datagram is unnecessary. But does that mean I could have one socket with a bunch of buffers? A further explanation is, in a system we typically have 5 sub-systems, with each sub-system sending a broadcast UDP datagram of its status twice a second. The datagrams are around 150 bytes each. Each sub-system reads the datagrams and collects whatever information it needs from the datagrams. So if there is only one UDP socket and the Rabbit is processing one datagram when another one arrives, or even two datagrams arrive, do the new datagrams get put into unused buffers or are they lost because there is not an unused socket available? 
Steve

 
      From: "Tom Collins tom-lnEA/wrDJtNWk0Htik3J/[email protected] [rabbit-semi]" <[email protected]>
 To: [email protected] 
 Sent: Thursday, July 21, 2016 11:28 AM
 Subject: Re: [rabbit-semi] Multicast
   
    Do you see the packet come in if you define UDP_VERBOSE in your program?
I've seen instances where the first response to a UDP datagram doesn't go out due to needing to ARP the IP address, but there are some ways around that (telling the stack to use the MAC from the received frame).
I'm on vacation through the end of the month, so don't have access to code I can share, but I'm curious as to whether the datagram moves through the TCP/IP stack at all.
-Tom

On Jul 21, 2016, at 12:23 PM, seecwriter-/[email protected] [rabbit-semi] wrote:
   
I added a Multicast socket to my RCM3900 application, using IP 239.255.255.255.  I have a total of 4 UDP sockets open, 3 are opened with an REMIP and Port of -1, and one is opened with the Multicast IP and port 2100. And Max UDP Buffers is set to 5.
After boot-up, the first UDP datagram to the module is not responded to. It doesn't matter if the datagram was a broadcast or a multicast. The first one is not responded to. After the first one, then it starts responding to both broadcasts and multicasts.  
Is there something else I need to do to get that first datagram to work?
I'm using DC 9.62.. 
 
  #yiv2014001201 #yiv2014001201 -- #yiv2014001201ygrp-mkp {border:1px solid #d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv2014001201 #yiv2014001201ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv2014001201 #yiv2014001201ygrp-mkp #yiv2014001201hd {color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 0;}#yiv2014001201 #yiv2014001201ygrp-mkp #yiv2014001201ads {margin-bottom:10px;}#yiv2014001201 #yiv2014001201ygrp-mkp .yiv2014001201ad {padding:0 0;}#yiv2014001201 #yiv2014001201ygrp-mkp .yiv2014001201ad p {margin:0;}#yiv2014001201 #yiv2014001201ygrp-mkp .yiv2014001201ad a {color:#0000ff;text-decoration:none;}#yiv2014001201 #yiv2014001201ygrp-sponsor #yiv2014001201ygrp-lc {font-family:Arial;}#yiv2014001201 #yiv2014001201ygrp-sponsor #yiv2014001201ygrp-lc #yiv2014001201hd {margin:10px 0px;font-weight:700;font-size:78%;line-height:122%;}#yiv2014001201 #yiv2014001201ygrp-sponsor #yiv2014001201ygrp-lc .yiv2014001201ad {margin-bottom:10px;padding:0 0;}#yiv2014001201 #yiv2014001201actions {font-family:Verdana;font-size:11px;padding:10px 0;}#yiv2014001201 #yiv2014001201activity {background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv2014001201 #yiv2014001201activity span {font-weight:700;}#yiv2014001201 #yiv2014001201activity span:first-child {text-transform:uppercase;}#yiv2014001201 #yiv2014001201activity span a {color:#5085b6;text-decoration:none;}#yiv2014001201 #yiv2014001201activity span span {color:#ff7900;}#yiv2014001201 #yiv2014001201activity span .yiv2014001201underline {text-decoration:underline;}#yiv2014001201 .yiv2014001201attach {clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 0;width:400px;}#yiv2014001201 .yiv2014001201attach div a {text-decoration:none;}#yiv2014001201 .yiv2014001201attach img {border:none;padding-right:5px;}#yiv2014001201 .yiv2014001201attach label {display:block;margin-bottom:5px;}#yiv2014001201 .yiv2014001201attach label a {text-decoration:none;}#yiv2014001201 blockquote {margin:0 0 0 4px;}#yiv2014001201 .yiv2014001201bold {font-family:Arial;font-size:13px;font-weight:700;}#yiv2014001201 .yiv2014001201bold a {text-decoration:none;}#yiv2014001201 dd.yiv2014001201last p a {font-family:Verdana;font-weight:700;}#yiv2014001201 dd.yiv2014001201last p span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv2014001201 dd.yiv2014001201last p span.yiv2014001201yshortcuts {margin-right:0;}#yiv2014001201 div.yiv2014001201attach-table div div a {text-decoration:none;}#yiv2014001201 div.yiv2014001201attach-table {width:400px;}#yiv2014001201 div.yiv2014001201file-title a, #yiv2014001201 div.yiv2014001201file-title a:active, #yiv2014001201 div.yiv2014001201file-title a:hover, #yiv2014001201 div.yiv2014001201file-title a:visited {text-decoration:none;}#yiv2014001201 div.yiv2014001201photo-title a, #yiv2014001201 div.yiv2014001201photo-title a:active, #yiv2014001201 div.yiv2014001201photo-title a:hover, #yiv2014001201 div.yiv2014001201photo-title a:visited {text-decoration:none;}#yiv2014001201 div#yiv2014001201ygrp-mlmsg #yiv2014001201ygrp-msg p a span.yiv2014001201yshortcuts {font-family:Verdana;font-size:10px;font-weight:normal;}#yiv2014001201 .yiv2014001201green {color:#628c2a;}#yiv2014001201 .yiv2014001201MsoNormal {margin:0 0 0 0;}#yiv2014001201 o {font-size:0;}#yiv2014001201 #yiv2014001201photos div {float:left;width:72px;}#yiv2014001201 #yiv2014001201photos div div {border:1px solid #666666;min-height:62px;overflow:hidden;width:62px;}#yiv2014001201 #yiv2014001201photos div label {color:#666666;font-size:10px;overflow:hidden;text-align:center;white-space:nowrap;width:64px;}#yiv2014001201 #yiv2014001201reco-category {font-size:77%;}#yiv2014001201 #yiv2014001201reco-desc {font-size:77%;}#yiv2014001201 .yiv2014001201replbq {margin:4px;}#yiv2014001201 #yiv2014001201ygrp-actbar div a:first-child {margin-right:2px;padding-right:5px;}#yiv2014001201 #yiv2014001201ygrp-mlmsg {font-size:13px;font-family:Arial, helvetica, clean, sans-serif;}#yiv2014001201 #yiv2014001201ygrp-mlmsg table {font-size:inherit;font:100%;}#yiv2014001201 #yiv2014001201ygrp-mlmsg select, #yiv2014001201 input, #yiv2014001201 textarea {font:99% Arial, Helvetica, clean, sans-serif;}#yiv2014001201 #yiv2014001201ygrp-mlmsg pre, #yiv2014001201 code {font:115% monospace;}#yiv2014001201 #yiv2014001201ygrp-mlmsg * {line-height:1.22em;}#yiv2014001201 #yiv2014001201ygrp-mlmsg #yiv2014001201logo {padding-bottom:10px;}#yiv2014001201 #yiv2014001201ygrp-msg p a {font-family:Verdana;}#yiv2014001201 #yiv2014001201ygrp-msg p#yiv2014001201attach-count span {color:#1E66AE;font-weight:700;}#yiv2014001201 #yiv2014001201ygrp-reco #yiv2014001201reco-head {color:#ff7900;font-weight:700;}#yiv2014001201 #yiv2014001201ygrp-reco {margin-bottom:20px;padding:0px;}#yiv2014001201 #yiv2014001201ygrp-sponsor #yiv2014001201ov li a {font-size:130%;text-decoration:none;}#yiv2014001201 #yiv2014001201ygrp-sponsor #yiv2014001201ov li {font-size:77%;list-style-type:square;padding:6px 0;}#yiv2014001201 #yiv2014001201ygrp-sponsor #yiv2014001201ov ul {margin:0;padding:0 0 0 8px;}#yiv2014001201 #yiv2014001201ygrp-text {font-family:Georgia;}#yiv2014001201 #yiv2014001201ygrp-text p {margin:0 0 1em 0;}#yiv2014001201 #yiv2014001201ygrp-text tt {font-size:120%;}#yiv2014001201 #yiv2014001201ygrp-vital ul li:last-child {border-right:none !important;}#yiv2014001201