29 Nov, 2010

1 commit

  • tcp_win_from_space() does the following:

    if (sysctl_tcp_adv_win_scale > (-sysctl_tcp_adv_win_scale);
    else
    return space - (space >> sysctl_tcp_adv_win_scale);

    "space" is int.

    As per C99 6.5.7 (3) shifting int for 32 or more bits is
    undefined behaviour.

    Indeed, if sysctl_tcp_adv_win_scale is exactly 32,
    space >> 32 equals space and function returns 0.

    Which means we busyloop in tcp_fixup_rcvbuf().

    Restrict net.ipv4.tcp_adv_win_scale to [-31, 31].

    Fix https://bugzilla.kernel.org/show_bug.cgi?id=20312

    Steps to reproduce:

    echo 32 >/proc/sys/net/ipv4/tcp_adv_win_scale
    wget www.kernel.org
    [softlockup]

    Signed-off-by: Alexey Dobriyan
    Signed-off-by: David S. Miller

    Alexey Dobriyan
     

13 Nov, 2010

1 commit


25 Oct, 2010

1 commit

  • The following functions are not used directly by any drivers:
    phy_attach_direct
    phy_device_create
    phy_prepare_link
    genphy_config_advert
    genphy_setup_forced
    phy_config_interrupt
    phy_clear_interrypt
    phy_sanitize_settings
    phy_enable_interrupts
    phy_disable_interrupts

    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    stephen hemminger
     

21 Oct, 2010

1 commit

  • CAN has no addressing scheme. It is currently impossible for userspace
    to tell is a received CAN frame comes from another process on the local
    host, or from a remote CAN device.

    This patch add support for userspace applications to distinguish between
    'own', 'local' and 'remote' CAN traffic. The distinction is made by returning
    flags in msg->msg_flags in the call to recvmsg().

    The added documentation explains the introduced flags.

    Signed-off-by: Kurt Van Dijck
    Signed-off-by: Oliver Hartkopp
    Signed-off-by: David S. Miller

    Oliver Hartkopp
     

14 Oct, 2010

1 commit


09 Oct, 2010

1 commit

  • The current code works like this:

    int garbage, status;
    socklen_t len = sizeof(status);

    /* enable pipe */
    setsockopt(fd, SOL_PNPIPE, PNPIPE_ENABLE, &garbage, sizeof(garbage));
    /* disable pipe */
    setsockopt(fd, SOL_PNPIPE, PNPIPE_DISABLE, &garbage, sizeof(garbage));
    /* get status */
    getsockopt(fd, SOL_PNPIPE, PNPIPE_INQ, &status, &len);

    ...which does not follow the usual socket option pattern. This patch
    merges all three "options" into a single gettable&settable option,
    before Linux 2.6.37 gets out:

    int status;
    socklen_t len = sizeof(status);

    /* enable pipe */
    status = 1;
    setsockopt(fd, SOL_PNPIPE, PNPIPE_ENABLE, &status, sizeof(status));
    /* disable pipe */
    status = 0;
    setsockopt(fd, SOL_PNPIPE, PNPIPE_ENABLE, &status, sizeof(status));
    /* get status */
    getsockopt(fd, SOL_PNPIPE, PNPIPE_ENABLE, &status, &len);

    This also fixes the error code from EFAULT to ENOTCONN.

    Signed-off-by: Rémi Denis-Courmont
    Cc: Kumar Sanghvi
    Signed-off-by: David S. Miller

    Rémi Denis-Courmont
     

07 Oct, 2010

1 commit


06 Oct, 2010

4 commits


28 Sep, 2010

1 commit


16 Sep, 2010

1 commit


04 Sep, 2010

1 commit


31 Aug, 2010

2 commits

  • This makes RTAX_RTO_MIN also available to CCID-3, replacing the compile-time
    RTO lower bound with a per-route tunable value.

    The original Kconfig option solved the problem that a very low RTT (in the
    order of HZ) can trigger too frequent and unnecessary reductions of the
    sending rate.

    This tunable does not affect the initial RTO value of 2 seconds specified in
    RFC 5348, section 4.2 and Appendix B. But like the hardcoded Kconfig value,
    it allows to adapt to network conditions.

    The same effect as the original Kconfig option of 100ms is now achieved by

    > ip route replace to unicast 192.168.0.0/24 rto_min 100j dev eth0

    (assuming HZ=1000).

    Signed-off-by: Gerrit Renker
    Signed-off-by: David S. Miller

    Gerrit Renker
     
  • Using a fixed RTO_MIN of 0.2 seconds was found to cause problems for CCID-2
    over 802.11g: at least once per session there was a spurious timeout. It
    helped to then increase the the value of RTO_MIN over this link.

    Since the problem is the same as in TCP, this patch makes the solution from
    commit "05bb1fad1cde025a864a90cfeb98dcbefe78a44a"
    "[TCP]: Allow minimum RTO to be configurable via routing metrics."
    available to DCCP.

    This avoids reinventing the wheel, so that e.g. the following works in the
    expected way now also for CCID-2:

    > ip route change 10.0.0.2 rto_min 800 dev ath0

    Luckily this useful rto_min function was recently moved to net/tcp.h,
    which simplifies sharing code originating from TCP.

    Documentation also updated (plus minor whitespace fixes).

    Signed-off-by: Gerrit Renker
    Signed-off-by: David S. Miller

    Gerrit Renker
     

19 Aug, 2010

1 commit

  • This patch removes the abstraction introduced by the union skb_shared_tx in
    the shared skb data.

    The access of the different union elements at several places led to some
    confusion about accessing the shared tx_flags e.g. in skb_orphan_try().

    http://marc.info/?l=linux-netdev&m=128084897415886&w=2

    Signed-off-by: Oliver Hartkopp
    Signed-off-by: David S. Miller

    Oliver Hartkopp
     

11 Aug, 2010

1 commit


10 Aug, 2010

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (59 commits)
    igbvf.txt: Add igbvf Documentation
    igb.txt: Add igb documentation
    e100/e1000*/igb*/ixgb*: Add missing read memory barrier
    ixgbe: fix build error with FCOE_CONFIG without DCB_CONFIG
    netxen: protect tx timeout recovery by rtnl lock
    isdn: gigaset: use after free
    isdn: gigaset: add missing unlock
    solos-pci: Fix race condition in tasklet RX handling
    pkt_sched: Fix sch_sfq vs tcf_bind_filter oops
    net: disable preemption before call smp_processor_id()
    tcp: no md5sig option size check bug
    iwlwifi: fix locking assertions
    iwlwifi: fix TX tracer
    isdn: fix information leak
    net: Fix napi_gro_frags vs netpoll path
    usbnet: remove noisy and hardly useful printk
    rtl8180: avoid potential NULL deref in rtl8180_beacon_work
    ath9k: Remove myself from the MAINTAINERS list
    libertas: scan before assocation if no BSSID was given
    libertas: fix association with some APs by using extended rates
    ...

    Linus Torvalds
     

09 Aug, 2010

2 commits

  • Adds documentation for the igbvf (igb virtual function driver).

    v2:
    - Removed trailing white space
    - Removed Ethtool version info

    Signed-off-by: Jeff Kirsher
    Tested-by: Jeff Pieper
    Signed-off-by: David S. Miller

    Jeff Kirsher
     
  • Add documentation for the igb networking driver.

    v2:
    - Removed trailing white space
    - Removed Ethtool version info
    - Removed LRO kernel version info

    Signed-off-by: Jeff Kirsher
    Tested-by: Jeff Pieper
    Signed-off-by: David S. Miller

    Jeff Kirsher
     

06 Aug, 2010

2 commits

  • Fixes for the DNS query module, including:

    (1) Use 'negative' instead of '-ve' in the documentation.

    (2) Mark the kdoc comment with '/**' on dns_query().

    Reported-by: Randy Dunlap
    Signed-off-by: David Howells
    Signed-off-by: Steve French

    David Howells
     
  • Separate out the DNS resolver key type from the CIFS filesystem into its own
    module so that it can be made available for general use, including the AFS
    filesystem module.

    This facility makes it possible for the kernel to upcall to userspace to have
    it issue DNS requests, package up the replies and present them to the kernel
    in a useful form. The kernel is then able to cache the DNS replies as keys
    can be retained in keyrings.

    Resolver keys are of type "dns_resolver" and have a case-insensitive
    description that is of the form "[:]". The optional
    indicates the particular DNS lookup and packaging that's required. The
    is the query to be made.

    If isn't given, a basic hostname to IP address lookup is made, and the
    result is stored in the key in the form of a printable string consisting of a
    comma-separated list of IPv4 and IPv6 addresses.

    This key type is supported by userspace helpers driven from /sbin/request-key
    and configured through /etc/request-key.conf. The cifs.upcall utility is
    invoked for UNC path server name to IP address resolution.

    The CIFS functionality is encapsulated by the dns_resolve_unc_to_ip() function,
    which is used to resolve a UNC path to an IP address for CIFS filesystem. This
    part remains in the CIFS module for now.

    See the added Documentation/networking/dns_resolver.txt for more information.

    Signed-off-by: Wang Lei
    Signed-off-by: David Howells
    Acked-by: Jeff Layton
    Signed-off-by: Steve French

    Wang Lei
     

05 Aug, 2010

1 commit

  • * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (48 commits)
    Documentation: update broken web addresses.
    fix comment typo "choosed" -> "chosen"
    hostap:hostap_hw.c Fix typo in comment
    Fix spelling contorller -> controller in comments
    Kconfig.debug: FAIL_IO_TIMEOUT: typo Faul -> Fault
    fs/Kconfig: Fix typo Userpace -> Userspace
    Removing dead MACH_U300_BS26
    drivers/infiniband: Remove unnecessary casts of private_data
    fs/ocfs2: Remove unnecessary casts of private_data
    libfc: use ARRAY_SIZE
    scsi: bfa: use ARRAY_SIZE
    drm: i915: use ARRAY_SIZE
    drm: drm_edid: use ARRAY_SIZE
    synclink: use ARRAY_SIZE
    block: cciss: use ARRAY_SIZE
    comment typo fixes: charater => character
    fix comment typos concerning "challenge"
    arm: plat-spear: fix typo in kerneldoc
    reiserfs: typo comment fix
    update email address
    ...

    Linus Torvalds
     

04 Aug, 2010

1 commit

  • Below you will find an updated version from the original series bunching all patches into one big patch
    updating broken web addresses that are located in Documentation/*
    Some of the addresses date as far far back as 1995 etc... so searching became a bit difficult,
    the best way to deal with these is to use web.archive.org to locate these addresses that are outdated.
    Now there are also some addresses pointing to .spec files some are located, but some(after searching
    on the companies site)where still no where to be found. In this case I just changed the address
    to the company site this way the users can contact the company and they can locate them for the users.

    Signed-off-by: Justin P. Mattock
    Signed-off-by: Thomas Weber
    Signed-off-by: Mike Frysinger
    Cc: Paulo Marques
    Cc: Randy Dunlap
    Cc: Michael Neuling
    Signed-off-by: Jiri Kosina

    Justin P. Mattock
     

29 Jun, 2010

1 commit

  • This patch introduces the CAIF SPI Protocol Driver for
    CAIF Link Layer.

    This driver implements a platform driver to accommodate for a
    platform specific SPI device. A general platform driver is not
    possible as there are no SPI Slave side Kernel API defined.
    A sample CAIF SPI Platform device can be found in
    .../Documentation/networking/caif/spi_porting.txt

    Signed-off-by: Sjur Braendeland
    Signed-off-by: David S. Miller

    Sjur Braendeland
     

18 Jun, 2010

1 commit


17 Jun, 2010

1 commit

  • BugLink: http://bugs.launchpad.net/bugs/21367

    Enable LED by default and update the MODULE_PARM_DESC. The original
    reason for defaulting to disabled was documented in 2005 and noted, "The
    LED code has been reported to hang some systems when running ifconfig
    and is therefore disabled by default." This no longer appears
    applicable and users have been requesting this be enabled for several
    years.

    Signed-off-by: TJ
    Signed-off-by: Tim Gardner
    Signed-off-by: Andy Whitcroft
    Acked-by: Stefan Bader
    Signed-off-by: Leann Ogasawara
    Signed-off-by: John W. Linville

    ubuntu@tjworld.net
     

12 Jun, 2010

1 commit

  • This patch increases the granularity of the rate generated by pktgen.
    The previous version of pktgen uses micro seconds (udelay) resolution when it
    was delayed causing gaps in the rates. It is changed to nanosecond (ndelay).
    Now any rate is possible.

    Also it allows to set, the desired rate in Mb/s or packets per second.

    The documentation has been updated.

    Signed-off-by: Daniel Turull
    Signed-off-by: Robert Olsson
    Signed-off-by: David S. Miller

    Daniel Turull
     

05 Jun, 2010

1 commit

  • v2: changed bonding module version, modified to apply on top of changes
    from previous patch in series, and updated documentation to elaborate on
    multiqueue awareness that now exists in bonding driver.

    This patch give the user the ability to control the output slave for
    round-robin and active-backup bonding. Similar functionality was
    discussed in the past, but Jay Vosburgh indicated he would rather see a
    feature like this added to existing modes rather than creating a
    completely new mode. Jay's thoughts as well as Neil's input surrounding
    some of the issues with the first implementation pushed us toward a
    design that relied on the queue_mapping rather than skb marks.
    Round-robin and active-backup modes were chosen as the first users of
    this slave selection as they seemed like the most logical choices when
    considering a multi-switch environment.

    Round-robin mode works without any modification, but active-backup does
    require inclusion of the first patch in this series and setting
    the 'all_slaves_active' flag. This will allow reception of unicast traffic on
    any of the backup interfaces.

    This was tested with IPv4-based filters as well as VLAN-based filters
    with good results.

    More information as well as a configuration example is available in the
    patch to Documentation/networking/bonding.txt.

    Signed-off-by: Andy Gospodarek
    Signed-off-by: Neil Horman
    Signed-off-by: David S. Miller

    Andy Gospodarek
     

02 Jun, 2010

1 commit

  • This patch adds a setting, PACKET_TIMESTAMP, to specify the packet
    timestamp source that is exported to capture utilities like tcpdump by
    packet_mmap.

    PACKET_TIMESTAMP accepts the same integer bit field as
    SO_TIMESTAMPING. However, only the SOF_TIMESTAMPING_SYS_HARDWARE and
    SOF_TIMESTAMPING_RAW_HARDWARE values are currently recognized by
    PACKET_TIMESTAMP. SOF_TIMESTAMPING_SYS_HARDWARE takes precedence over
    SOF_TIMESTAMPING_RAW_HARDWARE if both bits are set.

    If PACKET_TIMESTAMP is not set, a software timestamp generated inside
    the networking stack is used (the behavior before this setting was
    added).

    Signed-off-by: Scott McMillan
    Signed-off-by: David S. Miller

    Scott McMillan
     

31 May, 2010

1 commit


21 May, 2010

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1674 commits)
    qlcnic: adding co maintainer
    ixgbe: add support for active DA cables
    ixgbe: dcb, do not tag tc_prio_control frames
    ixgbe: fix ixgbe_tx_is_paused logic
    ixgbe: always enable vlan strip/insert when DCB is enabled
    ixgbe: remove some redundant code in setting FCoE FIP filter
    ixgbe: fix wrong offset to fc_frame_header in ixgbe_fcoe_ddp
    ixgbe: fix header len when unsplit packet overflows to data buffer
    ipv6: Never schedule DAD timer on dead address
    ipv6: Use POSTDAD state
    ipv6: Use state_lock to protect ifa state
    ipv6: Replace inet6_ifaddr->dead with state
    cxgb4: notify upper drivers if the device is already up when they load
    cxgb4: keep interrupts available when the ports are brought down
    cxgb4: fix initial addition of MAC address
    cnic: Return SPQ credit to bnx2x after ring setup and shutdown.
    cnic: Convert cnic_local_flags to atomic ops.
    can: Fix SJA1000 command register writes on SMP systems
    bridge: fix build for CONFIG_SYSFS disabled
    ARCNET: Limit com20020 PCI ID matches for SOHARD cards
    ...

    Fix up various conflicts with pcmcia tree drivers/net/
    {pcmcia/3c589_cs.c, wireless/orinoco/orinoco_cs.c and
    wireless/orinoco/spectrum_cs.c} and feature removal
    (Documentation/feature-removal-schedule.txt).

    Also fix a non-content conflict due to pm_qos_requirement getting
    renamed in the PM tree (now pm_qos_request) in net/mac80211/scan.c

    Linus Torvalds
     

16 May, 2010

1 commit

  • (Dropped the infiniband part, because Tetsuo modified the related code,
    I will send a separate patch for it once this is accepted.)

    This patch introduces /proc/sys/net/ipv4/ip_local_reserved_ports which
    allows users to reserve ports for third-party applications.

    The reserved ports will not be used by automatic port assignments
    (e.g. when calling connect() or bind() with port number 0). Explicit
    port allocation behavior is unchanged.

    Signed-off-by: Octavian Purdila
    Signed-off-by: WANG Cong
    Cc: Neil Horman
    Cc: Eric Dumazet
    Cc: Eric W. Biederman
    Signed-off-by: David S. Miller

    Amerigo Wang
     

23 Apr, 2010

2 commits


12 Apr, 2010

1 commit


08 Apr, 2010

1 commit


07 Apr, 2010

1 commit


04 Apr, 2010

1 commit