tasklwIP - A Lightweight TCP/IP stack - Tasks: task #10495, Support for IP_MULTICAST_LOOP...

 
 

You are not allowed to post comments on this tracker with your current authentication level.

task #10495: Support for IP_MULTICAST_LOOP option

Submitter:  Stephane Lesage <slesage>
Submitted:  Sat 10 Jul 2010 12:19:22 AM UTC
   
 
Category:  UDP Should Start On:  Fri 09 Jul 2010 10:00:00 PM UTC
Should be Finished on:  Fri 09 Jul 2010 10:00:00 PM UTC Priority:  5 - Normal
Status:  Done Privacy:  Public
Assigned to:  goldsimon Percent Complete:  100%
Open/Closed:  Closed Planned Release:  1.4.0
Effort:  0.00

Mon 12 Jul 2010 02:11:13 PM UTC, comment #4: 

Okilydokily - checked in.

Simon Goldschmidt <goldsimon>
Group administrator
Mon 12 Jul 2010 12:25:19 PM UTC, comment #3: 

I agree with defaulting this to off - I don't think it will be widely used.

Kieran Mansley <kieranm>
Group Member
Mon 12 Jul 2010 09:47:15 AM UTC, comment #2: 

Hi Simon,
sorry, I forgot getsockopt.
thanks for applying the patch.

I agree to the unix semantics, but I think LwIP is for embedded applications with limited resources, and I really think this should be turned OFF.
(I'm pretty sure no one will be use this, I did it only to cover a very specific case on my application which should never happen anyway)

If you turned it ON by default, then what about broadcasting ?
It should also look back...

Stephane Lesage <slesage>
Mon 12 Jul 2010 09:37:41 AM UTC, comment #1: 

I've checked in the patch + added code for getsockopt, which the patch was missing.

Also, according to various documentation, the flag shall be turned on on every UDP pcb per default (which is what I did, too).

A bad thing here is that the MS semantics is different to what unixes do, but I'm OK with conforming to unixes (which is what the patch does) (for a description about the differences, see: http://msdn.microsoft.com/en-us/library/ms739161%28VS.85%29.aspx)

Simon Goldschmidt <goldsimon>
Group administrator
Sat 10 Jul 2010 12:19:22 AM UTC, original submission:  

Hi,

here's a patch to support IP_MULTICAST_LOOP option at socket level with equivalent flag in UDP pcb.

it's enabled only when LWIP_IGMP is defined.

How it works:
- in udp_sendto_if(), if destination is multicast and pcb has UDP_FLAGS_MULTICAST_LOOP set, then set a new flag PBUF_FLAG_MCASTLOOP in the pbuf

- in ip_output_if(), if the pbuf has PBUF_FLAG_MCASTLOOP set,
then call netif_loop_output() before continuing to ip_frag() or netif->output()



Stephane Lesage <slesage>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attached Files
file #20934:  lwip_multicast_loop.patch added by slesage (4KiB - application/octet-stream)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by goldsimon (Posted a comment)
  • -email is unavailable- added by kieranm (Updated the item)
  • -email is unavailable- added by slesage (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

     

    Follow 6 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2010-07-12 goldsimon StatusNone Done
        Percent Complete0% 100%
        Assigned toNone goldsimon
        Open/ClosedOpen Closed
    2010-07-12 kieranm Planned ReleaseNone 1.4.0
    2010-07-10 slesage Attached File- Added lwip_multicast_loop.patch, #20934

    Back to the top

    Powered by Savane 3.13-02a9.
    Corresponding source code