11 Mar, 2011

1 commit


05 Jan, 2011

1 commit

  • There are typos in comments in include/linux/igmp.h:

    83 #define IGMP_HOST_MEMBERSHIP_QUERY 0x11 /* From RFC1112 */
    84 #define IGMP_HOST_MEMBERSHIP_REPORT 0x12 /* Ditto */
    [snip]
    88 #define IGMPV2_HOST_MEMBERSHIP_REPORT 0x16 /* V2 version of 0x11 */
    89 #define IGMP_HOST_LEAVE_MESSAGE 0x17
    90 #define IGMPV3_HOST_MEMBERSHIP_REPORT 0x22 /* V3 version of 0x11 */

    The line 88 and 90 are about REPORT messages.
    The IGMP_HOST_MEMBERSHIP_REPORT (IGMP V1) value is 0x12.
    So the comment on line 88 must be /* V2 version of 0x12 */,
    and the comment on line 90 must be /* V3 version of 0x12 */.

    Signed-off-by: Francois-Xavier Le Bail
    Signed-off-by: David S. Miller

    Francois-Xavier Le Bail
     

19 Nov, 2010

1 commit

  • Instead of iterating in_dev->mc_list from bonding driver, its better
    to call a helper function provided by igmp.c
    Details of implementation (locking) are private to igmp code.

    ip_mc_rejoin_group(struct ip_mc_list *im) becomes
    ip_mc_rejoin_groups(struct in_device *in_dev);

    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     

13 Nov, 2010

1 commit

  • in_dev->mc_list is protected by one rwlock (in_dev->mc_list_lock).

    This can easily be converted to a RCU protection.

    Writers hold RTNL, so mc_list_lock is removed, not replaced by a
    spinlock.

    Signed-off-by: Eric Dumazet
    Cc: Cypher Wu
    Cc: Américo Wang
    Signed-off-by: David S. Miller

    Eric Dumazet
     

02 Feb, 2010

1 commit

  • Almost all igmp functions accessing inet->mc_list are protected by
    rtnl_lock(), but there is one exception which is ip_mc_sf_allow(),
    so there is a chance of either ip_mc_drop_socket or ip_mc_leave_group
    remove an entry while ip_mc_sf_allow is running causing a crash.

    Signed-off-by: Flavio Leitner
    Signed-off-by: David S. Miller

    Flavio Leitner
     

05 Nov, 2009

1 commit

  • This cleanup patch puts struct/union/enum opening braces,
    in first line to ease grep games.

    struct something
    {

    becomes :

    struct something {

    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     

15 Sep, 2009

1 commit

  • This patch fixes commit e36b9d16c6a6d0f59803b3ef04ff3c22c3844c10. The approach
    there is to call dev_close()/dev_open() whenever the device type is changed in
    order to remap the device IP multicast addresses to HW multicast addresses.
    This approach suffers from 2 drawbacks:

    *. It assumes tha the device is UP when calling dev_close(), or otherwise
    dev_close() has no affect. It is worth to mention that initscripts (Redhat)
    and sysconfig (Suse) doesn't act the same in this matter.
    *. dev_close() has other side affects, like deleting entries from the routing
    table, which might be unnecessary.

    The fix here is to directly remap the IP multicast addresses to HW multicast
    addresses for a bonding device that changes its type, and nothing else.

    Reported-by: Jason Gunthorpe
    Signed-off-by: Moni Shoua
    Signed-off-by: David S. Miller

    Moni Shoua
     

31 Jan, 2009

1 commit


14 Oct, 2008

1 commit

  • Clean up the various different email addresses of mine listed in the code
    to a single current and valid address. As Dave says his network merges
    for 2.6.28 are now done this seems a good point to send them in where
    they won't risk disrupting real changes.

    Signed-off-by: Alan Cox
    Signed-off-by: David S. Miller

    Alan Cox
     

03 Jul, 2008

1 commit


24 Mar, 2008

1 commit


26 Apr, 2007

2 commits


06 Mar, 2007

1 commit

  • In active-backup mode, the current bonding code duplicates IGMP
    traffic to all slaves, so that switches are up to date in case of a
    failover from an active to a backup interface. If bonding then fails
    back to the original active interface, it is likely that the "active
    slave" switch's IGMP forwarding for the port will be out of date until
    some event occurs to refresh the switch (e.g., a membership query).

    This patch alters the behavior of bonding to no longer flood
    IGMP to all ports, and to issue IGMP JOINs to the newly active port at
    the time of a failover. This insures that switches are kept up to date
    for all cases.

    "GOELLESCH Niels" originally
    reported this problem, and included a patch. His original patch was
    modified by Jay Vosburgh to additionally remove the existing IGMP flood
    behavior, use RCU, streamline code paths, fix trailing white space, and
    adjust for style.

    Signed-off-by: Jay Vosburgh
    Signed-off-by: Jeff Garzik

    Jay Vosburgh
     

04 Dec, 2006

1 commit


03 Dec, 2006

1 commit


22 Nov, 2006

1 commit


29 Sep, 2006

6 commits


18 Jun, 2006

1 commit


30 Aug, 2005

1 commit

  • Of this type, mostly:

    CHECK net/ipv6/netfilter.c
    net/ipv6/netfilter.c:96:12: warning: symbol 'ipv6_netfilter_init' was not declared. Should it be static?
    net/ipv6/netfilter.c:101:6: warning: symbol 'ipv6_netfilter_fini' was not declared. Should it be static?

    Signed-off-by: Arnaldo Carvalho de Melo
    Signed-off-by: David S. Miller

    Arnaldo Carvalho de Melo
     

09 Jul, 2005

1 commit

  • This patch corrects a few problems with the IP_ADD_MEMBERSHIP
    socket option:

    1) The existing code makes an attempt at reference counting joins when
    using the ip_mreqn/imr_ifindex interface. Joining the same group
    on the same socket is an error, whatever the API. This leads to
    unexpected results when mixing ip_mreqn by index with ip_mreqn by
    address, ip_mreq, or other API's. For example, ip_mreq followed by
    ip_mreqn of the same group will "work" while the same two reversed
    will not.
    Fixed to always return EADDRINUSE on a duplicate join and
    removed the (now unused) reference count in ip_mc_socklist.

    2) The group-search list in ip_mc_join_group() is comparing a full
    ip_mreqn structure and all of it must match for it to find the
    group. This doesn't correctly match a group that was joined with
    ip_mreq or ip_mreqn with an address (with or without an index). It
    also doesn't match groups that are joined by different addresses on
    the same interface. All of these are the same multicast group,
    which is identified by group address and interface index.
    Fixed the check to correctly match groups so we don't get
    duplicate group entries on the ip_mc_socklist.

    3) The old code allocates a multicast address before searching for
    duplicates requiring it to free in various error cases. This
    patch moves the allocate until after the search and
    igmp_max_memberships check, so never a need to allocate, then free
    an entry.

    Signed-off-by: David L Stevens
    Signed-off-by: David S. Miller

    David L Stevens
     

17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds