27 Jul, 2010

1 commit


19 Jul, 2010

1 commit

  • This patch adds a new networking option to allow hardware time stamps
    from PHY devices. When enabled, likely candidates among incoming and
    outgoing network packets are offered to the PHY driver for possible
    time stamping. When accepted by the PHY driver, incoming packets are
    deferred for later delivery by the driver.

    The patch also adds phylib driver methods for the SIOCSHWTSTAMP ioctl
    and callbacks for transmit and receive time stamping. Drivers may
    optionally implement these functions.

    Signed-off-by: Richard Cochran
    Signed-off-by: David S. Miller

    Richard Cochran
     

04 Apr, 2010

1 commit

  • This patch splits the pppol2tp driver into separate L2TP and PPP parts
    to prepare for L2TPv3 support. In L2TPv3, protocols other than PPP can
    be carried, so this split creates a common L2TP core that will handle
    the common L2TP bits which protocol support modules such as PPP will
    use.

    Note that the existing pppol2tp module is split into l2tp_core and
    l2tp_ppp by this change.

    There are no feature changes here. Internally, however, there are
    significant changes, mostly to handle the separation of PPP-specific
    data from the L2TP session and to provide hooks in the core for
    modules like PPP to access.

    Signed-off-by: James Chapman
    Reviewed-by: Randy Dunlap
    Signed-off-by: David S. Miller

    James Chapman
     

31 Mar, 2010

1 commit


26 Mar, 2010

1 commit

  • RPS currently depends on SMP and SYSFS

    Adding a CONFIG_RPS makes sense in case this requirement changes in the
    future. This patch saves about 1500 bytes of kernel text in case SMP is
    on but SYSFS is off.

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

    Eric Dumazet
     

15 Jul, 2009

1 commit

  • Wireless extensions have the unfortunate problem that events
    are multicast netlink messages, and are not independent of
    pointer size. Thus, currently 32-bit tasks on 64-bit platforms
    cannot properly receive events and fail with all kinds of
    strange problems, for instance wpa_supplicant never notices
    disassociations, due to the way the 64-bit event looks (to a
    32-bit process), the fact that the address is all zeroes is
    lost, it thinks instead it is 00:00:00:00:01:00.

    The same problem existed with the ioctls, until David Miller
    fixed those some time ago in an heroic effort.

    A different problem caused by this is that we cannot send the
    ASSOCREQIE/ASSOCRESPIE events because sending them causes a
    32-bit wpa_supplicant on a 64-bit system to overwrite its
    internal information, which is worse than it not getting the
    information at all -- so we currently resort to sending a
    custom string event that it then parses. This, however, has a
    severe size limitation we are frequently hitting with modern
    access points; this limitation would can be lifted after this
    patch by sending the correct binary, not custom, event.

    A similar problem apparently happens for some other netlink
    users on x86_64 with 32-bit tasks due to the alignment for
    64-bit quantities.

    In order to fix these problems, I have implemented a way to
    send compat messages to tasks. When sending an event, we send
    the non-compat event data together with a compat event data in
    skb_shinfo(main_skb)->frag_list. Then, when the event is read
    from the socket, the netlink code makes sure to pass out only
    the skb that is compatible with the task. This approach was
    suggested by David Miller, my original approach required
    always sending two skbs but that had various small problems.

    To determine whether compat is needed or not, I have used the
    MSG_CMSG_COMPAT flag, and adjusted the call path for recv and
    recvfrom to include it, even if those calls do not have a cmsg
    parameter.

    I have not solved one small part of the problem, and I don't
    think it is necessary to: if a 32-bit application uses read()
    rather than any form of recvmsg() it will still get the wrong
    (64-bit) event. However, neither do applications actually do
    this, nor would it be a regression.

    Signed-off-by: Johannes Berg
    Signed-off-by: David S. Miller

    Johannes Berg
     

09 Jun, 2009

1 commit

  • Add support for communication over IEEE 802.15.4 networks. This implementation
    is neither certified nor complete, but aims to that goal. This commit contains
    only the socket interface for communication over IEEE 802.15.4 networks.
    One can either send RAW datagrams or use SOCK_DGRAM to encapsulate data
    inside normal IEEE 802.15.4 packets.

    Configuration interface, drivers and software MAC 802.15.4 implementation will
    follow.

    Initial implementation was done by Maxim Gorbachyov, Maxim Osipov and Pavel
    Smolensky as a research project at Siemens AG. Later the stack was heavily
    reworked to better suit the linux networking model, and is now maitained
    as an open project partially sponsored by Siemens.

    Signed-off-by: Dmitry Eremin-Solenikov
    Signed-off-by: Sergey Lapin
    Signed-off-by: David S. Miller

    Sergey Lapin
     

08 May, 2009

1 commit


30 Mar, 2009

1 commit


27 Mar, 2009

1 commit


22 Mar, 2009

1 commit

  • Now that most network device drivers in (all but one in x86_64 allmodconfig)
    support net_device_ops. Expose it as a configuration parameter. Still
    need to address even older 32 bit drivers, and other arch before
    compatiablity can be scheduled for removal in some future release.

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

    Stephen Hemminger
     

14 Mar, 2009

1 commit


04 Mar, 2009

1 commit


27 Feb, 2009

1 commit


27 Jan, 2009

2 commits


08 Jan, 2009

1 commit


22 Nov, 2008

1 commit


21 Nov, 2008

1 commit

  • This adds support for Data Center Bridging (DCB) features in the ixgbe
    driver and adds an rtnetlink interface for configuring DCB to the
    kernel. The DCB feature support included are Priority Grouping (PG) -
    which allows bandwidth guarantees to be allocated to groups to traffic
    based on the 802.1q priority, and Priority Based Flow Control (PFC) -
    which introduces a new MAC control PAUSE frame which works at
    granularity of the 802.1p priority instead of the link (IEEE 802.3x).

    Signed-off-by: Alexander Duyck
    Signed-off-by: Jeff Kirsher
    Signed-off-by: Peter P Waskiewicz Jr
    Signed-off-by: David S. Miller

    Alexander Duyck
     

20 Nov, 2008

1 commit

  • This patch changes the network device internal API to move adminstrative
    operations out of the network device structure and into a separate structure.

    This patch involves some hackery to maintain compatablity between the
    new and old model, so all 300+ drivers don't have to be changed at once.
    For drivers that aren't converted yet, the netdevice_ops virt function list
    still resides in the net_device structure. For old protocols, the new
    net_device_ops are copied out to the old net_device pointers.

    After the transistion is completed the nag message can be changed to
    an WARN_ON, and the compatiablity code can be made configurable.

    Some function pointers aren't moved:
    * destructor can't be in net_device_ops because
    it may need to be referenced after the module is unloaded.
    * neighbor setup is manipulated in a couple of places that need special
    consideration
    * hard_start_xmit is in the fast path for transmit.

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

    Stephen Hemminger
     

28 Oct, 2008

1 commit

  • To make testing of the network namespace simpler allow
    the network namespace code and the sysfs code to be
    compiled and run at the same time. To do this only
    virtual devices are allowed in the additional network
    namespaces and those virtual devices are not placed
    in the kobject tree.

    Since virtual devices don't actually do anything interesting
    hardware wise that needs device management there should
    be no loss in keeping them out of the kobject tree and
    by implication sysfs. The gain in ease of testing
    and code coverage should be significant.

    Changelog:

    v2: As pointed out by Benjamin Thery it only makes sense to call
    device_rename in the initial network namespace for now.

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

    Eric W. Biederman
     

09 Oct, 2008

1 commit

  • Distributed Switch Architecture is a protocol for managing hardware
    switch chips. It consists of a set of MII management registers and
    commands to configure the switch, and an ethernet header format to
    signal which of the ports of the switch a packet was received from
    or is intended to be sent to.

    The switches that this driver supports are typically embedded in
    access points and routers, and a typical setup with a DSA switch
    looks something like this:

    +-----------+ +-----------+
    | | RGMII | |
    | +-------+ +------ 1000baseT MDI ("WAN")
    | | | 6-port +------ 1000baseT MDI ("LAN1")
    | CPU | | ethernet +------ 1000baseT MDI ("LAN2")
    | |MIImgmt| switch +------ 1000baseT MDI ("LAN3")
    | +-------+ w/5 PHYs +------ 1000baseT MDI ("LAN4")
    | | | |
    +-----------+ +-----------+

    The switch driver presents each port on the switch as a separate
    network interface to Linux, polls the switch to maintain software
    link state of those ports, forwards MII management interface
    accesses to those network interfaces (e.g. as done by ethtool) to
    the switch, and exposes the switch's hardware statistics counters
    via the appropriate Linux kernel interfaces.

    This initial patch supports the MII management interface register
    layout of the Marvell 88E6123, 88E6161 and 88E6165 switch chips, and
    supports the "Ethertype DSA" packet tagging format.

    (There is no officially registered ethertype for the Ethertype DSA
    packet format, so we just grab a random one. The ethertype to use
    is programmed into the switch, and the switch driver uses the value
    of ETH_P_EDSA for this, so this define can be changed at any time in
    the future if the one we chose is allocated to another protocol or
    if Ethertype DSA gets its own officially registered ethertype, and
    everything will continue to work.)

    Signed-off-by: Lennert Buytenhek
    Tested-by: Nicolas Pitre
    Tested-by: Byron Bradley
    Tested-by: Tim Ellis
    Tested-by: Peter van Valderen
    Tested-by: Dirk Teurlings
    Signed-off-by: David S. Miller

    Lennert Buytenhek
     

23 Sep, 2008

1 commit


23 Aug, 2008

1 commit


30 Jul, 2008

1 commit


06 Jul, 2008

1 commit

  • Add small STP demux layer for demuxing STP PDUs based on MAC address.
    This is needed to run both GARP and STP in parallel (or even load the
    modules) since both use LLC_SAP_BSPAN.

    Signed-off-by: Patrick McHardy
    Signed-off-by: David S. Miller

    Patrick McHardy
     

04 Mar, 2008

1 commit


09 Feb, 2008

1 commit

  • There's already an option controlling the net namespaces cloning code, so make
    it work the same way as all the other namespaces' options.

    Signed-off-by: Pavel Emelyanov
    Cc: "David S. Miller"
    Acked-by: Serge Hallyn
    Cc: Cedric Le Goater
    Cc: "Eric W. Biederman"
    Cc: Herbert Poetzl
    Cc: Kirill Korotaev
    Cc: Sukadev Bhattiprolu
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pavel Emelyanov
     

29 Jan, 2008

2 commits

  • The NETFILTER_ADVANCED option hides lots of the rather obscure netfilter
    options when disabled and provides defaults (M) that should allow to
    run a distribution firewall without further thinking.

    Defaults to 'y' to avoid breaking current configurations.

    Signed-off-by: Patrick McHardy
    Signed-off-by: David S. Miller

    Patrick McHardy
     
  • This patch adds the CAN core functionality but no protocols or drivers.
    No protocol implementations are included here. They come as separate
    patches. Protocol numbers are already in include/linux/can.h.

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

    Oliver Hartkopp
     

11 Oct, 2007

1 commit

  • This patch allows you to create a new network namespace
    using sys_clone, or sys_unshare.

    As the network namespace is still experimental and under development
    clone and unshare support is only made available when CONFIG_NET_NS is
    selected at compile time.

    As this patch introduces network namespace support into code paths
    that exist when the CONFIG_NET is not selected there are a few
    additions made to net_namespace.h to allow a few more functions
    to be used when the networking stack is not compiled in.

    Signed-off-by: Eric W. Biederman
    Signed-off-by: David S. Miller

    Eric W. Biederman
     

15 Jul, 2007

1 commit

  • This patchset moves non-filesystem interfaces of v9fs from fs/9p to net/9p.
    It moves the transport, packet marshalling and connection layers to net/9p
    leaving only the VFS related files in fs/9p. This work is being done in
    preparation for in-kernel 9p servers as well as alternate 9p clients (other
    than VFS).

    Signed-off-by: Latchesar Ionkov
    Signed-off-by: Eric Van Hensbergen

    Latchesar Ionkov
     

10 May, 2007

1 commit


07 May, 2007

1 commit


06 May, 2007

1 commit


27 Apr, 2007

1 commit

  • Provide AF_RXRPC sockets that can be used to talk to AFS servers, or serve
    answers to AFS clients. KerberosIV security is fully supported. The patches
    and some example test programs can be found in:

    http://people.redhat.com/~dhowells/rxrpc/

    This will eventually replace the old implementation of kernel-only RxRPC
    currently resident in net/rxrpc/.

    Signed-off-by: David Howells
    Signed-off-by: David S. Miller

    David Howells
     

26 Apr, 2007

2 commits


09 Feb, 2007

1 commit


03 Dec, 2006

1 commit