<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On 11 June 2015 at 02:37, Andreas Scheuring <span dir="ltr"><<a href="mailto:scheuran@linux.vnet.ibm.com" target="_blank">scheuran@linux.vnet.ibm.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">> Do you happen to know how data gets routed _to_ a VM, in the<br>
> type='network' case?<br>
<br>
</span>Neil, sorry no. Haven't played around with that, yet. But from reading<br>
the libvirt man, it looks good. It's saying "Guest network traffic will<br>
be forwarded to the physical network via the host's IP routing stack" -<br>
so I would assume this is L3. Maybe you should give it a quick try to<br>
figure out...<br></blockquote><div><br></div>You would at the least require a namespace to preserve network separation, I think.  And in fact if you go this way the answer may be to set up a namespace in the same way that LB sets a bridge up.  Nova or Neutron can create the NS whichever happens to need it first, and ignore the failure if it happens to get caught in the race.  Some slight risk that a true failure is not spotted, though.  Or you could have the Neutron agent wait for the appearance of the interface, which it could do with either polling or use of rt_netlink, offhand.  <br><br>And none of this appears to require a libvirt network, but I don't think a simple TAP plug exists either (something along the lines that Neil (?) proposed where Nova is simply told that if it creates a TAP with the right name then all will be well).<br><br></div><div class="gmail_quote">(And I begin to remember why VIF plugging is horrible.)<br></div><div class="gmail_quote">-- <br></div><div class="gmail_quote">Ian.<br></div></div></div>