I just added the first pieces of very simple LACP support (this is intended
to help make redundancy interoperability with non-SDN devices a little
I'll have some more detail around the implementation for next week. In the
meantime there are unit tests now in "master" to ensure that LACP between
Linux and FAUCET comes up.
It seems to work fine with hardware switches also, but since LACP is pretty
low level I can imagine it will expose some bugs and/or undesired
hybrid/local switching behavior that will have to be addressed.
Just a quick update that we are now building and supplying our own docker
images compatible for use on raspberry pis. These images are ~70MB in size
and require ~40MB of memory when running with a standard config.
You can get these here:
Or with the docker CLI:
$ docker pull faucet/faucet-pi:latest
We had to spin up our own raspberry pi build farm to build these images,
and of course this is hosted on our production FAUCET infrastructure at
Let us know if you find these useful!
If you're testing hardware, please do try the latest code in master.
I've pushed a lot of changes to make the tests drastically quieter (and
less confusing to read the output of).
I have also fixed some file descriptor leaks which was causing some tests
to incorrectly fail occasionally (and for tshark to occasionally crash).
I've also updated the test suite to always use OVS 2.8.0 by default (the
tests used to allocate an unnecessary port to each OVS instance which is no
Hi faucet developers,
Is there a way in fuacet to specify a time frame in the acl, say I would like
a host A to access a specific service S in the Internet during a specific time
of a day.
What's the proper way to do that?
Just an update on this, we now build official images on docker hub for our
These are available here: https://hub.docker.com/r/faucet/gnmi/
Instead of building your own images with docker you can now do:
$ docker pull faucet/gnmi:latest
To grab the latest docker image, or use a version (e.g 1.6.4) to grab a
stable release of the docker.
On Thu, Aug 24, 2017 at 9:41 PM, Sam Ribeiro ☯ <ribeiro(a)google.com> wrote:
> With PR#852 <https://github.com/REANNZ/faucet/pull/852>, FAUCET now
> facilitates gNMI testing.
> Please use the docker image
> <https://github.com/REANNZ/faucet/tree/master/gnmi> for an easy way to
> set the environment. It generates certificates and brings up a mock gNMI
> Target to test against.
> The gNMI tools are sourced from this repository
> <https://github.com/samribeiro/gnmi>. During our next FAUCET PlugFest we
> will use them to interact with existing gNMI Target implementations. As it
> stands now only gNMI Gets are supported. But they will be augmented over
> time with new features and capabilities.
> Feel free to reach out to me directly if you have any questions.
We have a Custom Board with OpenWRT 3.10.87 and openvswitch 2.7.0 with 5 ports connected. the first port (eth0) shown in the diagram attached is connected to a Machine running Faucet ver 1.5.4 on a Ubuntu VM.
All the systems are able to ping each other after configuring the openvswitch with the commands given in the file "run_ovs.txt" and we have also configured the controller IP with is the IP of the faucet system
We are trying to run the HW tests using the docker build specified in the Git repository at https://github.com/REANNZ/faucet/blob/master/docs/README_hw_testing.rst . However the tests fail with the error "sanity tests failed - test environment not correct". I am attaching the log file dump_tests.txt, which shows the following errors
ERROR: test_untagged (faucet_mininet_test_unit.FaucetSanityTest)
All hosts on the same untagged VLAN should have connectivity.
Traceback (most recent call last):
File "/faucet-src/tests/faucet_mininet_test_unit.py", line 108, in setUp
File "/faucet-src/tests/faucet_mininet_test_base.py", line 252, in start_net
File "/faucet-src/tests/faucet_mininet_test_base.py", line 296, in _start_faucet
self.fail('could not start FAUCET: %s' % log_txt)
AssertionError: could not start FAUCET: Registered VCS backend: git
I have checked that the DP IDs, control plane interfaces specified in the hw_switch_config.yaml are correct, but have still not been able to figure out the reason why the tests have failed. Has anyone experienced this sort of issue before. Secondly how can we get more verbose debug outputs so that we can pinpoint where is the problem in our configurations.
Thanks and Regards
I've just posted an updated docker image for zof-faucet, based on
Faucet 1.6.4. ZOF supports all of the OpenFlow functionality of
Faucet. BGP is not supported.
This version of zof-faucet sends OF messages a little differently.
Normally, both zof and ryu issue each OF message into its own TCP
packet resulting in many small packets. This is implemented using the
TCP_NODELAY socket option. This version of zof-faucet buffers a
sequence of logically related OF messages before flushing the
sequence. This results in a many fewer TCP packets on the CPN, and
fewer syscalls for my code.
Let me know if anyone has any comments. Thanks!
If I have an ACL
and I have multiple DPs with multiple ports. These ports may across
switches may be in the same VLAN too. What is the correct way to identify
the mirror port?
Another question is can I apply multiple ACLs on a port? For example
acl_in: [ipv6_only_drop, mirror_traffic]