lkml.org 
[lkml]   [2005]   [Aug]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[12/13] [VLAN]: Fix early vlan adding leads to not functional device
    -stable review patch.  If anyone has any objections, please let us know.

    ------------------

    [VLAN]: Fix early vlan adding leads to not functional device

    OK, I can see what's happening here. eth0 doesn't detect link-up until
    after a few seconds, so when the vlan interface is opened immediately
    after eth0 has been opened, it inherits the link-down state. Subsequently
    the vlan interface is never properly activated and are thus unable to
    transmit any packets.

    dev->state bits are not supposed to be manipulated directly. Something
    similar is probably needed for the netif_device_present() bit, although
    I don't know how this is meant to work for a virtual device.

    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Chris Wright <chrisw@osdl.org>
    ---

    --- a/net/8021q/vlan.c
    +++ b/net/8021q/vlan.c
    @@ -578,6 +578,14 @@ static int vlan_device_event(struct noti
    if (!vlandev)
    continue;

    + if (netif_carrier_ok(dev)) {
    + if (!netif_carrier_ok(vlandev))
    + netif_carrier_on(vlandev);
    + } else {
    + if (netif_carrier_ok(vlandev))
    + netif_carrier_off(vlandev);
    + }
    +
    if ((vlandev->state & VLAN_LINK_STATE_MASK) != flgs) {
    vlandev->state = (vlandev->state &~ VLAN_LINK_STATE_MASK)
    | flgs;
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-08-03 09:14    [W:0.027 / U:300.316 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site