06 Dec, 2012

2 commits

  • V2: make the toggle per-port

    Fast leave allows bridge to immediately stops the multicast
    traffic on the port receives IGMP Leave when IGMP snooping is enabled,
    no timeouts are observed.

    Cc: Herbert Xu
    Cc: Stephen Hemminger
    Cc: "David S. Miller"
    Signed-off-by: Cong Wang
    Signed-off-by: David S. Miller

    Amerigo Wang
     
  • The 3com driver for 3c59x requires ioport_map. Since not all
    architectures support IO port mapping make 3c59x dependent on HAS_IOPORT.

    Signed-off-by: Jan Glauber
    Signed-off-by: David S. Miller

    Jan Glauber
     

05 Dec, 2012

24 commits

  • Reported-by: Fengguang Wu
    Signed-off-by: David S. Miller

    David S. Miller
     
  • We talk about IPv6, hence the family is RTNL_FAMILY_IP6MR!
    rtnl_register() is already called with RTNL_FAMILY_IP6MR.

    The bug is here since the beginning of this function (commit 5b285cac3570).

    Signed-off-by: Nicolas Dichtel
    Signed-off-by: David S. Miller

    Nicolas Dichtel
     
  • When a new nic is created in namespace ns1, the kernel sends a KOBJ_ADD uevent
    to ns1. When the nic is moved to ns2, we only send a KOBJ_MOVE to ns2, and
    nothing to ns1.

    This patch changes that behavior so that when moving a nic from ns1 to ns2, we
    send a KOBJ_REMOVED to ns1 and KOBJ_ADD to ns2. (The KOBJ_MOVE is still
    sent to ns2).

    The effects of this can be seen when starting and stopping containers in
    an upstart based host. Lxc will create a pair of veth nics, the kernel
    sends KOBJ_ADD, and upstart starts network-instance jobs for each. When
    one nic is moved to the container, because no KOBJ_REMOVED event is
    received, the network-instance job for that veth never goes away. This
    was reported at https://bugs.launchpad.net/ubuntu/+source/lxc/+bug/1065589
    With this patch the networ-instance jobs properly go away.

    The other oddness solved here is that if a nic is passed into a running
    upstart-based container, without this patch no network-instance job is
    started in the container. But when the container creates a new nic
    itself (ip link add new type veth) then network-interface jobs are
    created. With this patch, behavior comes in line with a regular host.

    v2: also send KOBJ_ADD to new netns. There will then be a
    _MOVE event from the device_rename() call, but that should
    be innocuous.

    Signed-off-by: Serge Hallyn
    Acked-by: "Eric W. Biederman"
    Acked-by: Daniel Lezcano
    Signed-off-by: David S. Miller

    Serge Hallyn
     
  • Use for_each_pci_dev to simplify the code.

    Signed-off-by: Wei Yongjun
    Signed-off-by: David S. Miller

    Wei Yongjun
     
  • This patch allows to monitor mf6c activities via rtnetlink.
    To avoid parsing two times the mf6c oifs, we use maxvif to allocate the rtnl
    msg, thus we may allocate some superfluous space.

    Signed-off-by: Nicolas Dichtel
    Signed-off-by: David S. Miller

    Nicolas Dichtel
     
  • This patch allows to monitor mfc activities via rtnetlink.
    To avoid parsing two times the mfc oifs, we use maxvif to allocate the rtnl
    msg, thus we may allocate some superfluous space.

    Signed-off-by: Nicolas Dichtel
    Signed-off-by: David S. Miller

    Nicolas Dichtel
     
  • /proc/net/ip[6]_mr_cache allows to get all mfc entries, even if they are put in
    the unresolved list (mfc[6]_unres_queue). But only the table RT_TABLE_DEFAULT is
    displayed.
    This patch adds the parsing of the unresolved list when the dump is made via
    rtnetlink, hence each table can be checked.

    In IPv6, we set rtm_type in ip6mr_fill_mroute(), because in case of unresolved
    mfc __ip6mr_fill_mroute() will not set it. In IPv4, it is already done.

    Signed-off-by: Nicolas Dichtel
    Signed-off-by: David S. Miller

    Nicolas Dichtel
     
  • A mfc entry can be static or not (added via the mroute_sk socket). The patch
    reports MFC_STATIC flag into rtm_protocol by setting rtm_protocol to
    RTPROT_STATIC or RTPROT_MROUTED.

    Signed-off-by: Nicolas Dichtel
    Signed-off-by: David S. Miller

    Nicolas Dichtel
     
  • These statistics can be checked only via /proc/net/ip_mr_cache or
    SIOCGETSGCNT[_IN6] and thus only for the table RT_TABLE_DEFAULT.
    Advertising them via rtnetlink allows to get statistics for all cache entries,
    whatever the table is.

    Signed-off-by: Nicolas Dichtel
    Signed-off-by: David S. Miller

    Nicolas Dichtel
     
  • This patch removes the skb manipulations when nested attributes are added by
    using standard helpers.

    Signed-off-by: Nicolas Dichtel
    Signed-off-by: David S. Miller

    Nicolas Dichtel
     
  • This patch advertise the MC_FORWARDING status for IPv4 and IPv6.
    This field is readonly, only multicast engine in the kernel updates it.

    Signed-off-by: Nicolas Dichtel
    Signed-off-by: David S. Miller

    Nicolas Dichtel
     
  • Pablo Neira Ayuso says:

    ====================
    * Remove limitation in the maximum number of supported sets in ipset.
    Now ipset automagically increments the number of slots in the array
    of sets by 64 new spare slots, from Jozsef Kadlecsik.

    * Partially remove the generic queue infrastructure now that ip_queue
    is gone. Its only client is nfnetlink_queue now, from Florian
    Westphal.

    * Add missing attribute policy checkings in ctnetlink, from Florian
    Westphal.

    * Automagically kill conntrack entries that use the wrong output
    interface for the masquerading case in case of routing changes,
    from Jozsef Kadlecsik.

    * Two patches two improve ct object traceability. Now ct objects are
    always placed in any of the existing lists. This allows us to dump
    the content of unconfirmed and dying conntracks via ctnetlink as
    a way to provide more instrumentation in case you suspect leaks,
    from myself.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Add qlcnic prefix to qlcnic driver module parameters.

    Signed-off-by: Sony Chacko
    Signed-off-by: David S. Miller

    Sony Chacko
     
  • Signed-off-by: Sony Chacko
    Signed-off-by: David S. Miller

    Sony Chacko
     
  • Refactor 82xx driver to support new adapter
    Update routines to support variable number of NIC partitions

    Signed-off-by: Rajesh Borundia
    Signed-off-by: Sony Chacko
    Signed-off-by: David S. Miller

    Sony Chacko
     
  • Cleanup get board information API.

    Signed-off-by: Sony Chacko
    Signed-off-by: David S. Miller

    Sony Chacko
     
  • Refactor 82xx driver to support new adapter
    Update PCI and hardware access routines

    Signed-off-by: Anirban Chakraborty
    Signed-off-by: Sony Chacko
    Signed-off-by: David S. Miller

    Sony Chacko
     
  • Move HW specific data to a seperate structure as part of
    refactoring 82xx adapter driver.

    Signed-off-by: Anirban Chakraborty
    Signed-off-by: Sony Chacko
    Signed-off-by: David S. Miller

    Sony Chacko
     
  • Add 82xx adapter ID check before 82xx specific operations as part of
    refactoring the driver to enable support for new adapter.

    Signed-off-by: Sony Chacko
    Signed-off-by: David S. Miller

    Sony Chacko
     
  • This patch implements the hardware timestamping as described in
    Documentation/networking/timestamping.txt

    Update version to 3.128.

    Signed-off-by: Nithin Nayak Sujir
    Signed-off-by: Michael Chan
    Cc: Richard Cochran
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • This patch implements the SIOCSHWTSTAMP ioctl as described in
    Documentation/networking/timestamping.txt

    [Removed HWTSTAMP_FILTER_ALL handling by returning -ERANGE based on input
    from Richard Cochran.]

    Signed-off-by: Nithin Nayak Sujir
    Signed-off-by: Michael Chan
    Cc: Richard Cochran
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • This patch adds the ptp_caps structure, ptp api implementation,
    reference clock read and register/unregister functions. All the basic
    clock operations as described in Documentation/ptp/ptp.txt are
    supported.

    Frequency adjustment is performed using hardware with a 24 bit
    accumulator and a programmable correction value. On each clk, the
    correction value gets added to the accumulator and when it overflows,
    the time counter is incremented/decremented and the accumulator reset.

    So conversion from ppb to correction value is
    ppb * (1 << 24) / 1000000000

    [Re-organized to put the ptp_clock_info struct declaration in one patch,
    added ptp_clock_info.name, and added locking to tg3_ptp_adjtime() based
    on input from Richard Cochran.]

    Signed-off-by: Nithin Nayak Sujir
    Signed-off-by: Michael Chan
    Cc: Richard Cochran
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • This patch adds code to write the reference clock. If a chip reset is
    performed, the hwclock is reinitialized with the adjusted kernel time

    Signed-off-by: Nithin Nayak Sujir
    Signed-off-by: Michael Chan
    Cc: Richard Cochran
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • Every caller holds tp->lock when calling tg3_netif_start() except
    tg3_io_resume(). Fix it so that it is all consistent. The subsequent
    PTP patches add tg3_ptp_resume() to tg3_netif_start() and the tp->lock
    is required.

    Signed-off-by: Nithin Nayak Sujir
    Signed-off-by: Michael Chan
    Acked-by: Richard Cochran
    Signed-off-by: David S. Miller

    Nithin Nayak Sujir
     

04 Dec, 2012

14 commits

  • Networking: Remove __dev* markings from the networking drivers

    This is a series of patches that remove the dev* attributes for all
    networking drivers, with the exception of wireless drivers, those are in
    a different branch.

    Use of __devinit, __devexit_p, __devinitdata, __devinitconst, and
    __devexit are no longer needed since CONFIG_HOTPLUG is being removed as
    an option.

    Note, there are some devinit compiler section mismatch warnings due to
    this series, but they are fixed up when merged with my driver-next
    branch, which fixes the PCI device id warnings, and removes the modpost
    detection, as it's no longer needed.

    Signed-off-by: Greg Kroah-Hartman
    Signed-off-by: David S. Miller

    David S. Miller
     
  • I believe this commit from 2008 was incorrect:
    http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff;h=398bcbebb6f721ac308df1e3d658c0029bb74503

    When CONFIG_IPV6_ROUTER_PREF is disabled, the kernel should follow
    RFC4861 section 6.3.6: if no route is NUD_VALID, then traffic should be
    sprayed across all routers (indirectly triggering NUD) until one of them
    becomes NUD_VALID.

    However, the following experiment demonstrates that this does not work:

    1) Connect to an IPv6 network.
    2) Change the router's MAC (and link-local) address.

    The kernel will lock onto the first router and never try the new one, even
    if the first becomes unreachable. This patch fixes the problem by
    allowing rt6_check_neigh() to return 0; if all routers return 0, then
    rt6_select() will fall back to round-robin behavior.

    This patch should have no effect when CONFIG_IPV6_ROUTER_PREF=y.

    Note that rt6_check_neigh() is only used in a boolean context, so I've
    changed its return type accordingly.

    Signed-off-by: Paul Marks
    Signed-off-by: David S. Miller

    Paul Marks
     
  • Historically tun supported two modes of operation:
    - in default mode, a small number of packets would get queued
    at the device, the rest would be queued in qdisc
    - in one queue mode, all packets would get queued at the device

    This might have made sense up to a point where we made the
    queue depth for both modes the same and set it to
    a huge value (500) so unless the consumer
    is stuck the chance of losing packets is small.

    Thus in practice both modes behave the same, but the
    default mode has some problems:
    - if packets are never consumed, fragments are never orphaned
    which cases a DOS for sender using zero copy transmit
    - overrun errors are hard to diagnose: fifo error is incremented
    only once so you can not distinguish between
    userspace that is stuck and a transient failure,
    tcpdump on the device does not show any traffic

    Userspace solves this simply by enabling IFF_ONE_QUEUE
    but there seems to be little point in not doing the
    right thing for everyone, by default.

    Signed-off-by: Michael S. Tsirkin
    Signed-off-by: David S. Miller

    Michael S. Tsirkin
     
  • CONFIG_HOTPLUG is going away as an option. As result the __dev*
    markings will be going away.

    Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
    and __devexit.

    Signed-off-by: Bill Pemberton
    Cc: Jeff Kirsher
    Cc: Jesse Brandeburg
    Cc: Bruce Allan
    Cc: Carolyn Wyborny
    Cc: Don Skidmore
    Cc: Greg Rose
    Cc: Peter P Waskiewicz Jr
    Cc: Alex Duyck
    Cc: John Ronciak
    Cc: Tushar Dave
    Cc: e1000-devel@lists.sourceforge.net
    Signed-off-by: Greg Kroah-Hartman

    Bill Pemberton
     
  • CONFIG_HOTPLUG is going away as an option. As result the __dev*
    markings will be going away.

    Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
    and __devexit.

    Signed-off-by: Bill Pemberton
    Cc: Eilon Greenstein
    Signed-off-by: Greg Kroah-Hartman

    Bill Pemberton
     
  • CONFIG_HOTPLUG is going away as an option. As result the __dev*
    markings will be going away.

    Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
    and __devexit.

    Signed-off-by: Bill Pemberton
    Signed-off-by: Greg Kroah-Hartman

    Bill Pemberton
     
  • CONFIG_HOTPLUG is going away as an option. As result the __dev*
    markings will be going away.

    Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
    and __devexit.

    Signed-off-by: Bill Pemberton
    Cc: Konrad Rzeszutek Wilk
    Cc: Jeremy Fitzhardinge
    Cc: xen-devel@lists.xensource.com
    Cc: virtualization@lists.linux-foundation.org
    Signed-off-by: Greg Kroah-Hartman

    Bill Pemberton
     
  • CONFIG_HOTPLUG is going away as an option. As result the __dev*
    markings will be going away.

    Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
    and __devexit.

    Signed-off-by: Bill Pemberton
    Signed-off-by: Greg Kroah-Hartman

    Bill Pemberton
     
  • CONFIG_HOTPLUG is going away as an option. As result the __dev*
    markings will be going away.

    Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
    and __devexit.

    Signed-off-by: Bill Pemberton
    Cc: Krzysztof Halasa
    Signed-off-by: Greg Kroah-Hartman

    Bill Pemberton
     
  • CONFIG_HOTPLUG is going away as an option. As result the __dev*
    markings will be going away.

    Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
    and __devexit.

    Signed-off-by: Bill Pemberton
    Cc: Krzysztof Halasa
    Signed-off-by: Greg Kroah-Hartman

    Bill Pemberton
     
  • CONFIG_HOTPLUG is going away as an option. As result the __dev*
    markings will be going away.

    Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
    and __devexit.

    Signed-off-by: Bill Pemberton
    Cc: Kevin Curtis
    Signed-off-by: Greg Kroah-Hartman

    Bill Pemberton
     
  • CONFIG_HOTPLUG is going away as an option. As result the __dev*
    markings will be going away.

    Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
    and __devexit.

    Signed-off-by: Bill Pemberton
    Cc: Francois Romieu
    Signed-off-by: Greg Kroah-Hartman

    Bill Pemberton
     
  • CONFIG_HOTPLUG is going away as an option. As result the __dev*
    markings will be going away.

    Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
    and __devexit.

    Signed-off-by: Bill Pemberton
    Cc: Shreyas Bhatewara
    Cc: VMware, Inc.
    Signed-off-by: Greg Kroah-Hartman

    Bill Pemberton
     
  • CONFIG_HOTPLUG is going away as an option. As result the __dev*
    markings will be going away.

    Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
    and __devexit.

    Signed-off-by: Bill Pemberton
    Cc: Rusty Russell
    Cc: Michael S. Tsirkin
    Cc: virtualization@lists.linux-foundation.org
    Signed-off-by: Greg Kroah-Hartman

    Bill Pemberton