only current devices, but not device names already planned for the other half of a container's device pair. Thus, the search can result in attempting to create a pair of devices such as veth1 and veth1, which obviously does not work. This patch augments the logic to be a little smarter in this regard, and should fix one case where attempting to start a container results in an error message of "unable to create device pair". diff -r 8c5e6387e449 -r 8545f7ac1f0f src/veth.c --- a/src/veth.c Tue Aug 05 16:45:07 2008 +0000 +++ b/src/veth.c Wed Aug 06 08:14:16 2008 -0700 @@ -92,17 +92,18 @@ DEBUG("veth1: %s veth2: %s", veth1, veth2); - if (1 > strlen(veth1)) { + while ((1 > strlen(veth1)) || STREQ(veth1, veth2)) { vethDev = getFreeVethName(veth1, veth1MaxLen, 0); ++vethDev; DEBUG("assigned veth1: %s", veth1); } - if (1 > strlen(veth2)) { + while ((1 > strlen(veth2)) || STREQ(veth1, veth2)) { vethDev = getFreeVethName(veth2, veth2MaxLen, vethDev); DEBUG("assigned veth2: %s", veth2); } + DEBUG("veth1: %s veth2: %s", veth1, veth2); rc = virRun(NULL, (char**)argv, &cmdResult); if (0 == rc) { -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list