patchlwIP - A Lightweight TCP/IP stack - Patches: patch #9554, Multicast filter and IGMPv3...


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

patch #9554: Multicast filter and IGMPv3 support (MLDv2 for futrue) patch

Submitter:  hanhui <hanhui03>
Submitted:  Sat 27 Jan 2018 09:24:24 AM UTC
Category:  IPv4 Priority:  5 - Normal
Status:  None Privacy:  Public
Assigned to:  None Open/Closed:  Open
Planned Release:  None

Jump to the original submission

Wed 16 Jan 2019 07:19:06 PM UTC, comment #12: 

Well, in addition, you added lines in many more files, the biggest changes being in sockets.c, followed by igmp.c and api_msg.c.

For me it's easier to review this in single commits that build on each other. I tried that but sadly still haven't found the time, yet.

That's why I ask: what would be changed in your new patch compared to this original patch (or my rebased version in file #44457)?

Simon Goldschmidt <goldsimon>
Group administrator
Wed 16 Jan 2019 05:03:16 PM UTC, comment #11: 

In fact, I added a mcast.c, this file is a complete ipv4, ipv6 multicast filter, this file has a large amount of code, so the patch looks huge, I try to split into several small patches.

hanhui <hanhui03>
Wed 16 Jan 2019 04:55:30 PM UTC, comment #10: 

Uhm, I still have a todo to split this work here up into multiple smaller commits for review. So with the new work you mentioned, does it make that todo of mine redundant?

Simon Goldschmidt <goldsimon>
Group administrator
Wed 16 Jan 2019 04:32:41 PM UTC, comment #9: 

I will submit another patch in the near future. This patch is very big, because I have to implement a complete multicast filter, ipv4, ipv6, and then set up a more robust multicast socket interface (setsockopt, getsockopt). To achieve full IGMPv3 and MLDv2, I even support vif to support standard PIM multicast routing.

hanhui <hanhui03>
Mon 17 Dec 2018 06:58:58 PM UTC, comment #8: 

This is still on my list. Unfortunately, the attached patch was somehow not in a state to just apply it.

Simon Goldschmidt <goldsimon>
Group administrator
Mon 17 Dec 2018 02:31:42 PM UTC, comment #7: 

Do someone still work on this? Any chance to have IGMPv3 support soon in lwIP? Any help is required?

David GIRAULT <dgirault>
Fri 29 Jun 2018 08:57:26 PM UTC, comment #6: 

I just saw that the manually rebased patch doesn't compile:

- sockets.c got messed up in setsockopt
- seems I forgot to include mcast.h in udp.h
- that doesn't work as now sockets.h gets included in udp.h (via mcast.h) and LWIP_COMPAT_SOCKETS interferes in many files

I'm adding a new patch (v2) that compiles (at least with LWIP_POSIX_SOCKETS_IO_NAMES and LWIP_COMPAT_SOCKETS set to 0 - which needs to be cleaned up) - although netconn->flags now needs to be u16_t...

(file #44457)

Simon Goldschmidt <goldsimon>
Group administrator
Fri 29 Jun 2018 07:43:26 PM UTC, comment #5: 

I've took the hard way and rebased the patch manually against current git master. I'll upload it here so it doesn't get lost if I should lose track...

(file #44456)

Simon Goldschmidt <goldsimon>
Group administrator
Sun 25 Feb 2018 11:40:37 AM UTC, comment #4: 

Okay!I need some time.

hanhui <hanhui03>
Fri 23 Feb 2018 11:32:09 AM UTC, comment #3: 

I can't apply the patch. Possibly because this is a file-only patch and the sources have changed by now (don't know which version you used to create the patch). Could you create a patch from git to ensure this applies?

Simon Goldschmidt <goldsimon>
Group administrator
Mon 29 Jan 2018 03:26:55 PM UTC, comment #2: 

+++ lwip-mcast/src/include/lwip/sockets.h Sat Jan 27 17:16:08 2018
@@ -269,6 +269,17 @@
 #define IP_TOS             1
 #define IP_TTL             2
 #define IP_PKTINFO         8
+#define IP_MINTTL          99
+#define IP_HDRINCL         100
+#define IP_OPTIONS         101
+#if LWIP_IPV6
+#define IPV6_RECVPKTINFO    49  /* Recv IPV6_PKTINFO message */
+#define IPV6_PKTINFO        50
+#define IPV6_RECVHOPLIMIT   51  /* Recv IPV6_HOPLIMIT message */
+#define IPV6_HOPLIMIT       52
+#define IPV6_MINHOPCNT      99
+#endif /* LWIP_IPV6 */

Looks like a bunch of new socket options are in the patch as well, glad to see IPV6_PKTINFO making the list (which I've had as a TODO for a while) :)

Joel Cunningham <jcunningham>
Group Member
Sun 28 Jan 2018 09:09:22 PM UTC, comment #1: 

Wow, that's one big patch! Would it make sense to split this up into independent patches to make reviewing easier?

Simon Goldschmidt <goldsimon>
Group administrator
Sat 27 Jan 2018 09:24:24 AM UTC, original submission:  

This patch is for <task #14816: Multicast filter and IGMPv3 support>

1: RFC compliant source address multicast filters and IGMPv3 implementations.
2: raw support multicast.
3: Compatible with Linux socket multicast filter settings command.

hanhui <hanhui03>


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

Attached Files
file #43090:  mcast.patch added by hanhui03 (161KiB - 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 dgirault (Posted a comment)
  • -email is unavailable- added by jcunningham (Posted a comment)
  • -email is unavailable- added by goldsimon (Posted a comment)
  • -email is unavailable- added by hanhui03 (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 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2018-06-29 goldsimon Attached File- Added 0001-[v2]-add-multicast-filter-and-IGMPv3-support.patch, #44457
    2018-06-29 goldsimon Attached File- Added 0001-add-multicast-filter-and-IGMPv3-support.patch, #44456
    2018-01-27 hanhui03 Attached File- Added mcast.patch, #43090

    Back to the top

    Powered by Savane 3.13-3cd0.
    Corresponding source code