All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rusty Russell <rusty@rustcorp.com.au>
To: David Miller <davem@davemloft.net>
Cc: pktoss@gmail.com, dcbw@redhat.com, netdev@vger.kernel.org
Subject: Re: [PATCH] Make virtio_net support carrier detection
Date: Fri, 13 Mar 2009 10:17:11 +1030	[thread overview]
Message-ID: <200903131017.11572.rusty@rustcorp.com.au> (raw)
In-Reply-To: <200903130809.49523.rusty@rustcorp.com.au>

On Friday 13 March 2009 08:09:49 Rusty Russell wrote:
> On Thursday 12 March 2009 23:22:35 David Miller wrote:
> > If the link is always on, you should make that explicit by providing
> > a link state handler, and making sure it always returns true.
> 
> "If".  We've discussed adding a virtio_net feature to indicate link status,
> which implies that it's *not* always on.

Actually, I've changed my mind.

Unlike a device which *has* a carrier which we can't detect, there's no
virtio_net "device" which can turn off link (not kvm/qemu, not lguest) without
the pending VIRTIO_NET_S_LINK feature.

Here's the patch for Dave's tree; the q. is do we want to put Pantelis' patch
in 2.6.29 and stable?

Rusty.

Subject: virtio_net: set carrier on by default.

Impact: fix carrier detection, older NetworkManager

This is actually two fixes:
1) If the virtio_net device doesn't support carrier, the answer is
   "yes".  This is because before the status feature there was no way
   of turning the link off in any host implementation, and it also helps
   (older) NetworkManager versions to see the device.

2) We should start with carrier on: virtnet_update_status() does nothing
   if the status hasn't changed (ie. doesn't call netif_carrier_on()).

Reported-by: Pantelis Koukousoulas <pktoss@gmail.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
---
 drivers/net/virtio_net.c |    3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
--- a/drivers/net/virtio_net.c
+++ b/drivers/net/virtio_net.c
@@ -795,7 +795,10 @@ static int virtnet_probe(struct virtio_d
 		goto unregister;
 	}
 
+	/* If we have no carrier info, the answer is "always on". */
 	vi->status = VIRTIO_NET_S_LINK_UP;
+	netif_carrier_on(vi->dev);
+
 	virtnet_update_status(vi);
 
 	pr_debug("virtnet: registered device %s\n", dev->name);


  reply	other threads:[~2009-03-12 23:47 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1236772642-12705-1-git-send-email-pktoss@gmail.com>
2009-03-12  7:29 ` [PATCH] Make virtio_net support carrier detection Rusty Russell
2009-03-12  7:44   ` Pantelis Koukousoulas
2009-03-12  9:16     ` Rusty Russell
2009-03-12 10:23       ` Pantelis Koukousoulas
2009-03-12 11:05         ` Pantelis Koukousoulas
2009-03-12 11:43       ` Dan Williams
2009-03-12 12:47         ` Pantelis Koukousoulas
2009-03-12 12:52           ` David Miller
2009-03-12 12:58             ` Pantelis Koukousoulas
2009-03-12 13:03               ` David Miller
2009-03-12 13:10                 ` Pantelis Koukousoulas
2009-03-12 13:41             ` Dan Williams
2009-03-12 13:55               ` Dan Williams
2009-03-12 21:39             ` Rusty Russell
2009-03-12 23:47               ` Rusty Russell [this message]
2009-03-12 23:55                 ` Stephen Hemminger
2009-03-13  5:04                 ` Pantelis Koukousoulas
2009-03-13 19:01                 ` David Miller
2009-03-14  0:19                   ` Rusty Russell
2009-03-14 10:40                     ` Pantelis Koukousoulas
2009-03-14 11:33                       ` Pantelis Koukousoulas
2009-03-15 22:39                       ` Rusty Russell
2009-03-16  2:05                         ` Pantelis Koukousoulas
2009-03-16  2:58                     ` David Miller
2009-03-16  3:13                       ` Rusty Russell
2009-03-16  3:15                         ` David Miller
2009-03-14  0:23 Rusty Russell
2009-03-19  1:40 ` David Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200903131017.11572.rusty@rustcorp.com.au \
    --to=rusty@rustcorp.com.au \
    --cc=davem@davemloft.net \
    --cc=dcbw@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=pktoss@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.