16 Jun, 2010

2 commits


06 May, 2010

1 commit

  • This whole patchset is for adding netpoll support to bridge and bonding
    devices. I already tested it for bridge, bonding, bridge over bonding,
    and bonding over bridge. It looks fine now.

    To make bridge and bonding support netpoll, we need to adjust
    some netpoll generic code. This patch does the following things:

    1) introduce two new priv_flags for struct net_device:
    IFF_IN_NETPOLL which identifies we are processing a netpoll;
    IFF_DISABLE_NETPOLL is used to disable netpoll support for a device
    at run-time;

    2) introduce one new method for netdev_ops:
    ->ndo_netpoll_cleanup() is used to clean up netpoll when a device is
    removed.

    3) introduce netpoll_poll_dev() which takes a struct net_device * parameter;
    export netpoll_send_skb() and netpoll_poll_dev() which will be used later;

    4) hide a pointer to struct netpoll in struct netpoll_info, ditto.

    5) introduce ->real_dev for struct netpoll.

    6) introduce a new status NETDEV_BONDING_DESLAE, which is used to disable
    netconsole before releasing a slave, to avoid deadlocks.

    Cc: David Miller
    Cc: Neil Horman
    Signed-off-by: WANG Cong
    Signed-off-by: David S. Miller

    WANG Cong
     

20 Nov, 2009

1 commit

  • A number of people have tried to add a wireless interface
    (in managed mode) to a bridge and then complained that it
    doesn't work. It cannot work, however, because in 802.11
    networks all packets need to be acknowledged and as such
    need to be sent to the right address. Promiscuous doesn't
    help here. The wireless address format used for these
    links has only space for three addresses, the
    * transmitter, which must be equal to the sender (origin)
    * receiver (on the wireless medium), which is the AP in
    the case of managed mode
    * the recipient (destination), which is on the APs local
    network segment

    In an IBSS, it is similar, but the receiver and recipient
    must match and the third address is used as the BSSID.

    To avoid such mistakes in the future, disallow adding a
    wireless interface to a bridge.

    Felix has recently added a four-address mode to the AP
    and client side that can be used (after negotiating that
    it is possible, which must happen out-of-band by setting
    up both sides) for bridging, so allow that case.

    Signed-off-by: Johannes Berg
    Acked-by: Stephen Hemminger
    Signed-off-by: John W. Linville

    Johannes Berg
     

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
     

19 May, 2009

1 commit

  • One point of contention in high network loads is the dst_release() performed
    when a transmited skb is freed. This is because NIC tx completion calls
    dev_kree_skb() long after original call to dev_queue_xmit(skb).

    CPU cache is cold and the atomic op in dst_release() stalls. On SMP, this is
    quite visible if one CPU is 100% handling softirqs for a network device,
    since dst_clone() is done by other cpus, involving cache line ping pongs.

    It seems right place to release dst is in dev_hard_start_xmit(), for most
    devices but ones that are virtual, and some exceptions.

    David Miller suggested to define a new device flag, set in alloc_netdev_mq()
    (so that most devices set it at init time), and carefuly unset in devices
    which dont want a NULL skb->dst in their ndo_start_xmit().

    List of devices that must clear this flag is :

    - loopback device, because it calls netif_rx() and quoting Patrick :
    "ip_route_input() doesn't accept loopback addresses, so loopback packets
    already need to have a dst_entry attached."
    - appletalk/ipddp.c : needs skb->dst in its xmit function

    - And all devices that call again dev_queue_xmit() from their xmit function
    (as some classifiers need skb->dst) : bonding, vlan, macvlan, eql, ifb, hdlc_fr

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

    Eric Dumazet
     

22 Jan, 2009

1 commit


04 Nov, 2008

1 commit

  • The only user of the net_device->last_rx field is bonding.
    This patch adds a conditional update of last_rx to the bonding special
    logic in skb_bond_should_drop, causing last_rx to only be updated when
    the ARP monitor is running.

    This frees network device drivers from the necessity of
    updating last_rx, which can have cache line thrash issues.

    Signed-off-by: Jay Vosburgh
    Signed-off-by: David S. Miller

    Jay Vosburgh
     

23 Sep, 2008

1 commit

  • This patch add support for keeping an additional character alias
    associated with an network interface. This is useful for maintaining
    the SNMP ifAlias value which is a user defined value. Routers use this
    to hold information like which circuit or line it is connected to. It
    is just an arbitrary text label on the network device.

    There are two exposed interfaces with this patch, the value can be
    read/written either via netlink or sysfs.

    This could be maintained just by the snmp daemon, but it is more
    generally useful for other management tools, and the kernel is good
    place to act as an agreed upon interface to store it.

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

    Stephen Hemminger
     

29 Jan, 2008

2 commits

  • This patch includes support for the Intra-Site Automatic Tunnel
    Addressing Protocol (ISATAP) per RFC4214. It uses the SIT
    module, and is configured using extensions to the "iproute2"
    utility. The diffs are specific to the Linux 2.6.24-rc2 kernel
    distribution.

    This version includes the diff for ./include/linux/if.h which was
    missing in the v2.4 submission and is needed to make the
    patch compile. The patch has been installed, compiled and
    tested in a clean 2.6.24-rc2 kernel build area.

    Signed-off-by: Fred L. Templin
    Signed-off-by: YOSHIFUJI Hideaki
    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Fred L. Templin
     
  • This patch adds a protocol/address family number, ARP hardware type,
    ethernet packet type, and a line discipline number for the SocketCAN
    implementation.

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

    Oliver Hartkopp
     

29 Sep, 2006

1 commit


26 Sep, 2006

2 commits

  • Add logic to check ARP request / reply packets used for ARP
    monitor link integrity checking.

    The current method simply examines the slave device to see if it
    has sent and received traffic; this can be fooled by extraneous traffic.
    For example, if multiple hosts running bonding are behind a common
    switch, the probe traffic from the multiple instances of bonding will
    update the tx/rx times on each other's slave devices.

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

    Jay Vosburgh
     
  • Add priv_flag to specifically identify bonding-involved devices. Needed
    because IFF_MASTER is an unreliable identifier (vlan interfaces above bonding
    will inherit IFF_MASTER). Misidentification of devices would cause
    notifier events for other devices to be erroneously processed by bonding,
    causing various havoc.

    Bug discovered by Martin Papik ; this patch is
    modified from his original.

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

    Jay Vosburgh
     

23 Sep, 2006

1 commit


21 Mar, 2006

1 commit

  • this patch adds a dormant flag to network devices, RFC2863 operstate derived
    from these flags and possibility for userspace interaction. It allows drivers
    to signal that a device is unusable for user traffic without disabling
    queueing (and therefore the possibility for protocol establishment traffic to
    flow) and a userspace supplicant (WPA, 802.1X) to mark a device unusable
    without changes to the driver.

    It is the result of our long discussion. However I must admit that it
    represents what Jamal and I agreed on with compromises towards Krzysztof, but
    Thomas and Krzysztof still disagree with some parts. Anyway I think it should
    be applied.

    Signed-off-by: Stefan Rompf
    Signed-off-by: David S. Miller

    Stefan Rompf
     

04 Mar, 2006

1 commit

  • Originally submitted by Kenzo Iwami; his original description is:

    The current bonding driver receives duplicate packets when broadcast/
    multicast packets are sent by other devices or packets are flooded by the
    switch. In this patch, new flags are added in priv_flags of net_device
    structure to let the bonding driver discard duplicate packets in
    dev.c:skb_bond().

    Modified by Jay Vosburgh to change a define name, update some
    comments, rearrange the new skb_bond() for clarity, clear all bonding
    priv_flags on slave release, and update the driver version.

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

    Jay Vosburgh
     

13 May, 2005

1 commit


06 May, 2005

1 commit


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