Notable features:
* IPv6: RS/RA support
* IPv6: hosts with privacy addresses support (when routing)
* IPV6: expensive ipv6_nd_target match no longer used (instead use multicast encoded eth_dst)
* Inter VLAN routing
* Prometheus support
* Export of MAC/port/VLAN association (via Prometheus)
* Can configure max hosts per port
* More robust config parsing (cannot configure unknown items anymore)
* ACLs can push/pop VLANs and rewrite eth addresses
* ARP/ND/learning scheduling jittered to reduce controller load spikes
* Reduced usage of barrier message (only when necessary for delete serialization)
* Reduce packet in maximum (to 128 bytes)
Notable bugs fixed:
* Default route not handled correctly
* Exceptions not caught in background threads
* IPv6 multicast MAC address correctly set for Neighbor Discovery packets
* Gauge could crash if InfluxDB back end returns an error
Packaging changes:
* Rename package from ‘ryu-faucet’ to ‘faucet’
* Use PBR to simplify python packaging
* Add python console script for validating faucet configuration
* Split faucet apps into their own repo https://github.com/faucetsdn/faucetapps
Documentation
* Per vendor quickstart documentation added
* Lagopus and OVS DPDK tested working
Testing:
* Entire test suite runs in TravisCI
* Dockerized hardware testing
* iperf/counter testing
* Enforcement of minimum pylint score, and 2to3 style (to make python3 migration easier)
* Gauge test coverage improved (reloading, InfluxDB back end)
v1_4_0
* Initial group table support
* Switch/learning performance improvements (reduced number of messages necessary)
* Nexthop learning performance improvements (backoff, jitter, rate limiting)
* Travis CI config added
* External config checker script (check_faucet_config.py)
* Rename controller_ip -> faucet_vip config
v1_3_2
Synchronize with pip package.
v1_3_1
- Documentation (YAML graph), including for HPe.
- Fix stack ports not initialized if ports are down.
- Default policy drop rules configurable.
- Experimental TLS for OF channel support.
v1_3
- Config V1 format support removed.
- Pipeline change - ACL table now comes before VLAN.
- Fix FIB entries for hosts.
- Multiple BGP peers per VLAN.
- Many test/docker reliability fixes.
- Require Ryu >= 4.9.
v1_2_2
- Configurable LLDP unblocking for NFV.
- IP routing fixes (host FIB entries).
- Lagopus and Netronome vendors added.
- Parallel test reliability fixes.
- Optimize config reload (only reload affected ports/VLANs)
- Increase Gauge testing.
v1_2_1
docker/pip install and mirror default behavior fixes
v1_2
- Fix for v2 config ACLs
- Fix port level unicast_flood parameter has opposite effect.
- All tests use v2 config
- Basic stacking/distributed switching support.
v1_1
- Version 2 config (both FAUCET and Gauge)
- Can control multiple DPs
- Policy based forwarding/mirroring (ACLs can rewrite/output or mirror, supports NFV including 802.1x)
- Can run unit tests against hardware
- BGP routing
- Can send OF table features to provision switch pipeline