<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 02/24/2015 04:17 AM, Antoni Segura
      Puimedon wrote:<br>
    </div>
    <blockquote
cite="mid:CAP8JW8BG6ct-tSf_NB_rhnB9MNTx1SbBVUhbhiULF_GOzA4NoA@mail.gmail.com"
      type="cite">
      <div dir="ltr"><br>
        <div class="gmail_extra"><br>
          <div class="gmail_quote">On Tue, Feb 24, 2015 at 3:30 AM,
            Laine Stump <span dir="ltr"><<a moz-do-not-send="true"
                href="mailto:laine@redhat.com" target="_blank">laine@redhat.com</a>></span>
            wrote:<br>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div class="HOEnZb">
                <div class="h5">On 02/23/2015 08:48 PM, YAMAMOTO Takashi
                  wrote:<br>
                  >> On Tue, Feb 24, 2015 at 2:20 AM, YAMAMOTO
                  Takashi <<a moz-do-not-send="true"
                    href="mailto:yamamoto@valinux.co.jp">yamamoto@valinux.co.jp</a>><br>
                  >> wrote:<br>
                  >><br>
                  >>>> Adds the port type definitions and
                  methods that will be used to bind<br>
                  >>>> interfaces to the Midonet virtual
                  ports.<br>
                  >>>><br>
                  >>>> virtnetdevmidonet.c adds the way to
                  bind and unbind the ports by<br>
                  >>>> calling into the Midonet Host Agent
                  control command line (installed<br>
                  >>>> with the midolman package).<br>
                  >>>><br>
                  >>>> Signed-off-by: Antoni Segura Puimedon
                  <<a moz-do-not-send="true"
                    href="mailto:toni%2Blibvirt@midokura.com">toni+libvirt@midokura.com</a>><br>
                  >>><br>
                  >>> have you considered a script-based
                  solution which would be able<br>
                  >>> to cover openvswitch case as well?<br>
                  >>><br>
                  >><br>
                  >> Can you elaborate? For script I can only
                  think about having an xml node<br>
                  >> that can be specified for the port type that
                  says what should be run for<br>
                  >> attachment (like with the ethernet mode). But
                  I'm not sure how it would fit<br>
                  >> right now.<br>
                  ><br>
                  > i meant to have a "run a script" port type.<br>
                  > the script runs ovs-vsctl, mm-ctl, or whatever
                  internally.<br>
                  <br>
                </div>
              </div>
              We actively avoid calling free-form scripts as much as
              possible. It is<br>
              too difficult to support, and opens the possibility of
              security problems.<br>
              <br>
              For that matter, we even prefer to not call external
              binaries if we can<br>
              avoid it, and eliminate existing executions of external
              binaries<br>
              whenever we get the change. The only reason we agreed to
              executing<br>
              ovs-vsctl is because there is no defined public API for
              Open vSwitch<br>
              that uses a library, netlink message, ioctl, etc. (at
              least there wasn't<br>
              at the time that code was added).<br>
            </blockquote>
            <div><br>
              I was wondering for some time if it would make it better
              for ovs and<br>
               midonet, in terms of interoperability with the rest of
              the linux stack <br>
              (in this case libvirt) if they exposed their methods to
              dbus. What do<br>
               you think about that? (obviously that would take a few
              releases of<br>
              both.<br>
            </div>
          </div>
          <br>
        </div>
      </div>
    </blockquote>
    <br>
    Just now saw this message. It would be really nice if they exposed
    their methods *somehow* (I'm curious why you suggest dbus; what
    about netlink? I have no love for netlink (or dbus), but other
    network things (aside from NetworkManager) seem to use netlink.<br>
    <br>
    The really important thing, though, is that whatever API is
    provided, that it be *set in stone* and never change in a way that
    isn't backward compatible. libvirt's API is an example of doing this
    successfully - years have gone by and we haven't had to increment
    the .so major version.<br>
  </body>
</html>