<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>Hello,
<br>
Thank you for your reply!
<br>
We have spent some time looking into the Skydive project to become
more familiar with its functionalities and architecture and
believe that there is a great opportunity for integrating with
Symnet.
<br>
<br>
Symnet performs static analysis based on data plane configuration
of network boxes and doesn't rely on packet injection to perform
verification.
<br>
<br>
As you mentioned, the two tools are complementary and may validate
the "real" packet behavior through the network - i.e. Skydive's
inject/capture mechanism - vs that of the "symbolic" one - i.e.
Symnet outputs -.
<br>
<br>
However, in order to run symbolic analysis against a network
topology, we also require some extra information:
<br>
1) OpenFlow tables per each OVS switch
<br>
2) Iptables rules per each namespace
<br>
3) Routing tables per each namespace
<br>
<br>
We are thinking to either add these functionalities as agent
probes directly in Skydive and then have Symnet consume Skydive's
graph events (from Scala via the WebSocket or REST interfaces) or
to directly integrate them in our Scala project.
<br>
<br>
Which approach do you think is better suited?
<br>
Would you consider integrating the aforementioned configuration
parameters in the official Skydive project?
<br>
<br>
Regards,
<br>
Dragos
<br>
<br>
</p>
<blockquote type="cite" style="color: #000000;">Date: Mon, 17 Jul
2017 09:46:16 +0200
<br>
From: Sylvain Afchain <a class="moz-txt-link-rfc2396E"
href="mailto:safchain@redhat.com"><safchain@redhat.com></a>
<br>
To: Costin Raiciu <a class="moz-txt-link-rfc2396E"
href="mailto:costin.raiciu@cs.pub.ro"><costin.raiciu@cs.pub.ro></a>
<br>
Cc: Radu Stoenescu <a class="moz-txt-link-rfc2396E"
href="mailto:radu.stoe@gmail.com"><radu.stoe@gmail.com></a>,
Matei Popovici
<br>
<a class="moz-txt-link-rfc2396E"
href="mailto:pdmatei@gmail.com"><pdmatei@gmail.com></a>,
<a class="moz-txt-link-abbreviated"
href="mailto:skydive-dev@redhat.com">skydive-dev@redhat.com</a>
<br>
Subject: Re: [Skydive-dev] Integrating formal verification with
Symnet
<br>
into Skydive
<br>
Content-Type: text/plain; charset="utf-8"
<br>
<br>
Hi,
<br>
<br>
Thanks for reaching out us.
<br>
<br>
I'm going to define what skydive does in the context of your
project.
<br>
Skydive collects all the events of the monitored topology. It
listens for
<br>
event from netlink, ovsdb, namespaces, docker and uses connectors
to
<br>
external SDN controllers (Neutron, Opencontrail) to enhance the
captured
<br>
topology. As Skydive is listening the events we keep all the
modification
<br>
of the topology in a data store which allows us to see any
previous
<br>
version. On top of that we can start packet capture and packet
<br>
generation/injection. Since there is a mapping between the flows
and the
<br>
topology we can track a packet along its path and see where a
packet was
<br>
dropped. We do support multi-level of encapsulation useful for
nested
<br>
deployment like container over OpenStack meaning that we do
support packet
<br>
tracking between two containers hosted within two VMs.
<br>
<br>
That where I think your project could be useful as we are
currently working
<br>
on a way to write validation rules leveraging topology/packet
<br>
capture/packet injection, it seems to me that Symnet provides such
<br>
mechanism.
<br>
<br>
Depending on the language used by Symnet (Scala ?) it could be
integrated
<br>
within Skydive or just consuming information gathered. Internally
the
<br>
topology is kept as a graph and external tools can subscribe to it
or just
<br>
use the API (Gremlin language).
<br>
<br>
Regards,
<br>
Sylvain
<br>
<br>
_______________________________________________
<br>
Skydive-dev mailing list
<br>
<a class="moz-txt-link-abbreviated"
href="mailto:Skydive-dev@redhat.com">Skydive-dev@redhat.com</a>
<br>
<a class="moz-txt-link-freetext"
href="https://www.redhat.com/mailman/listinfo/skydive-dev">https://www.redhat.com/mailman/listinfo/skydive-dev</a>
<br>
</blockquote>
</body>
</html>