On Tue, 2014-11-25 at 08:42 +0100, Martin Kletzander wrote:
On Mon, Nov 24, 2014 at 09:54:44PM +0100, Cédric Bosdonnat wrote:
>Due to a change (or bug?) in ip link implementation, the command
> 'ip link add vnet0...'
>is forced into
> 'ip link add name vnet0...'
>The changed command also works on older versions of iproute2, just the
>'name' parameter has been made mandatory.
>---
> src/util/virnetdevveth.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
>diff --git a/src/util/virnetdevveth.c b/src/util/virnetdevveth.c
>index e9d6f9c..ad30e1d 100644
>--- a/src/util/virnetdevveth.c
>+++ b/src/util/virnetdevveth.c
>@@ -89,7 +89,7 @@ static int virNetDevVethGetFreeNum(int startDev)
> * @veth2: pointer to return name for container end of veth pair
> *
> * Creates a veth device pair using the ip command:
>- * ip link add veth1 type veth peer name veth2
>+ * ip link add name veth1 type veth peer name veth2
> * If veth1 points to NULL on entry, it will be a valid interface on
> * return. veth2 should point to NULL on entry.
> *
>@@ -146,7 +146,7 @@ int virNetDevVethCreate(char** veth1, char** veth2)
> }
>
> cmd = virCommandNew("ip");
>- virCommandAddArgList(cmd, "link", "add",
>+ virCommandAddArgList(cmd, "link", "add",
"name",
> *veth1 ? *veth1 : veth1auto,
> "type", "veth", "peer",
"name",
> *veth2 ? *veth2 : veth2auto,
>--
>2.1.2
>
I agree, the 'name' was always there, just optional. But what version
of iproute2 do you have that requires it? I checked the current HEAD
and it's still optional. This must be a bug in that particular
implementation.
ACK if you can argue with the version or platform this is required
on.
At least the 3.16 shipped on openSUSE 13.2 has that problem... though I
think it's just a side effect of another change in iproute2. It worked
fine with version 3.12.
--
Cedric