04 May, 2007

1 commit

  • Cleanup of dev_base list use, with the aim to simplify making device
    list per-namespace. In almost every occasion, use of dev_base variable
    and dev->next pointer could be easily replaced by for_each_netdev
    loop. A few most complicated places were converted to using
    first_netdev()/next_netdev().

    Signed-off-by: Pavel Emelianov
    Acked-by: Kirill Korotaev
    Signed-off-by: David S. Miller

    Pavel Emelianov
     

26 Apr, 2007

2 commits


08 Mar, 2007

1 commit

  • One change introduced by the workqueue removal patch is that adding an
    interface that is up to a bridge which is also up does not ever call
    br_stp_enable_port(), leaving the port in DISABLED state until we do
    ifconfig down and up or link events occur.

    The following patch to the br_add_if function fixes it.
    This is a regression introduced in 2.6.21.

    Submitted-by: Aji_Srinivas@emc.com
    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    Aji Srinivas
     

27 Feb, 2007

1 commit


14 Feb, 2007

1 commit


11 Feb, 2007

1 commit


08 Feb, 2007

1 commit


22 Nov, 2006

1 commit


16 Oct, 2006

1 commit


18 Aug, 2006

1 commit

  • When the bridge recomputes features, it does not maintain the
    constraint that SG/GSO must be off if TX checksum is off.
    This patch adds that constraint.

    On a completely unrelated note, I've also added TSO6 and TSO_ECN
    feature bits if GSO is enabled on the underlying device through
    the new NETIF_F_GSO_SOFTWARE macro.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     

30 Jun, 2006

1 commit

  • When GSO packets come from an untrusted source (e.g., a Xen guest domain),
    we need to verify the header integrity before passing it to the hardware.

    Since the first step in GSO is to verify the header, we can reuse that
    code by adding a new bit to gso_type: SKB_GSO_DODGY. Packets with this
    bit set can only be fed directly to devices with the corresponding bit
    NETIF_F_GSO_ROBUST. If the device doesn't have that bit, then the skb
    is fed to the GSO engine which will allow the packet to be sent to the
    hardware if it passes the header check.

    This patch changes the sg flag to a full features flag. The same method
    can be used to implement TSO ECN support. We simply have to mark packets
    with CWR set with SKB_GSO_ECN so that only hardware with a corresponding
    NETIF_F_TSO_ECN can accept them. The GSO engine can either fully segment
    the packet, or segment the first MTU and pass the rest to the hardware for
    further segmentation.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     

23 Jun, 2006

1 commit

  • This patch adds a generic segmentation offload toggle that can be turned
    on/off for each net device. For now it only supports in TCPv4.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     

18 Jun, 2006

2 commits

  • As it is the bridge will only ever declare NETIF_F_IP_CSUM even if all
    its constituent devices support NETIF_F_HW_CSUM. This patch fixes
    this by supporting the first one out of NETIF_F_NO_CSUM,
    NETIF_F_HW_CSUM, and NETIF_F_IP_CSUM that is supported by all
    constituent devices.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • The current stack treats NETIF_F_HW_CSUM and NETIF_F_NO_CSUM
    identically so we test for them in quite a few places. For the sake
    of brevity, I'm adding the macro NETIF_F_GEN_CSUM for these two. We
    also test the disjunct of NETIF_F_IP_CSUM and the other two in various
    places, for that purpose I've added NETIF_F_ALL_CSUM.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     

06 Jun, 2006

1 commit

  • There are several bugs in error handling in br_add_bridge:
    - when dev_alloc_name fails, allocated net_device is not freed
    - unregister_netdev is called when rtnl lock is held
    - free_netdev is called before netdev_run_todo has a chance to be run after
    unregistering net_device

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

    Jiri Benc
     

11 May, 2006

1 commit


21 Mar, 2006

2 commits


05 Mar, 2006

3 commits

  • The earlier round of kobject/sysfs changes to bridge caused
    it not to generate a uevent on removal. Don't think any application
    cares (not sure about Xen) but since it generates add uevent
    it should generate remove as well.

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

    Stephen Hemminger
     
  • Initialize the STP timers for a port when it is created,
    rather than when it is enabled. This will prevent future race conditions
    where timer gets started before port is enabled.

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

    Stephen Hemminger
     
  • Bridge would crash because of uninitailized timer if STP is used and
    device was inserted into a bridge before bridge was up. This got
    introduced when the delayed port checking was added. Fix is to not
    enable STP on port unless bridge is up.

    Bugzilla: http://bugzilla.kernel.org/show_bug.cgi?id=6140
    Dup: http://bugzilla.kernel.org/show_bug.cgi?id=6156

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

    Stephen Hemminger
     

10 Feb, 2006

2 commits


01 Feb, 2006

1 commit

  • This is a simpler fix for the two races in bridge device removal.
    The Xen race of delif and notify is managed now by a new deleted flag.
    No need for barriers or other locking because of rtnl mutex.

    The del_timer_sync()'s are unnecessary, because br_stp_disable_port
    delete's the timers, and they will finish running before RCU callback.

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

    Stephen Hemminger
     

06 Jan, 2006

1 commit


04 Jan, 2006

2 commits

  • Add limited ethtool support to bridge to allow disabling
    features.

    Note: if underlying device does not support a feature (like checksum
    offload), then the bridge device won't inherit it.

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

    Stephen Hemminger
     
  • Speed of a interface may not be available until carrier
    is detected in the case of autonegotiation. To get the correct value
    we need to recheck speed after carrier event. But the check needs to
    be done in a context that is similar to normal ethtool interface (can sleep).

    Also, delay check for 1ms to try avoid any carrier bounce transitions.

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

    Stephen Hemminger
     

24 Nov, 2005

1 commit

  • We must recompute bridge features everytime the list of underlying
    devices changes, or we might end up with features that are not
    supported by all devices (eg. NETIF_F_TSO)
    This patch adds the missing recompute when adding a device to the bridge.

    Signed-off-by: Olaf Rempel
    Signed-off-by: David S. Miller

    Olaf Rempel
     

13 Oct, 2005

1 commit

  • This fixes the RCU race on bridge delete interface. Basically,
    the network device has to be detached from the bridge in the first
    step (pre-RCU), rather than later. At that point, no more bridge traffic
    will come in, and the other code will not think that network device
    is part of a bridge.

    This should also fix the XEN test problems.

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

    Stephen Hemminger
     

30 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