CHANGES
=======

1.8.32
------

* README 1.8.32
* Test that flows for newly added port are sent
* Need to track op status for all ports the DP reports, even if they are not configured currently. The user might configure them later and we need their opstatus to decide whether to program flows for new ports
* ping -> macvlan\_ping
* Wrap net.ping() and net.pingAll() so they have reasonable timeouts (decrease test run time)
* sphinx==1.8.3
* Control dot1x acls using acl manager
* Use acl\_manager to add and remove authed\_mac addresses
* Include acl\_manager in valve members
* use manager to install port acls
* Use acl manager to install vlan acls
* Create acl manager and use it to install dp acls
* pytype upgrade to 2018.12.21
* Explicitly explain that running hardware tests under virtualization is not supported
* Use pipeline for accept instructions in acls

1.8.31
------

* Missed .orig
* Implement external switch loop protection (standalone and stacking). Also fixes non hardware ports 1-4 tests and decline in test coverage due to dot1x
* Add LACP to mismatch message
* Better regexp for LACP mismatch
* Detect and log remote LACP actor system ID mismatch
* Preversion 1.8.32
* Bump README
* Flood table needs more flows after bug fix for double-mirroring of flooded packets
* Guard against missing config file
* Remove references to eth\_src table from flood manager
* include priority offsets for filter and select
* Unit test that overlapping entries are never added to flow table
* dbuilder image is now based on debian stretch
* Run unittests on debian package build
* Explicitly test config content\_changed()
* Do not pass target table when filtering packets
* Use priority values from valve\_manager\_base
* Include unit test to catch faulty instructions
* change formatter for ports < 65535
* Generate prometheus metric tables better
* Need sphinx 1.8
* Import new apidoc main()
* Fix table overflow/wrapping issue in rtd theme with CSS
* Use more appropriate table column sizes

1.8.30
------

* Upgrade to chewie 0.0.12
* Preversion 1.8.31
* README 1.8.30
* allow dot1x to run on < 65535 ports per dp
* pylint
* Remove unnecessary 2to3 list() syntax
* Update interface mirroring documentation interaction with ACL mirroring
* handle removal of permanent learn flows with ValveHostManager
* Add method for the removal of filters from classification table
* Re-enable groups for stacking. Don't send group with same actions but different ID for unicast flooding (may cause hash collision). Add more port flap tests to stacking
* remove no-op deletes
* make valve\_pipeline responsible for deleting flows from egress\_table
* Add del\_port and del\_vlan commands to ValveManagers

1.8.29
------

* fix indentation
* groups silently disabled when stacking until better tested
* remove no longer needed references to tables
* Preversion 1.8.30
* README 1.8.29
* Upgrade to chewie 0.0.11
* use pipeline for building goto instructions
* add accept\_to\_classification function to ValvePipeline
* Test VLAN PCP match and set
* Upgrade docker images
* Remove more Zodiac references
* Prometheus metrics of type counter now end with \_total
* Update packaging metadata
* Enable group support for stacking
* Remove ZodiacFX tests, which were never really used (and Zodiac switches now not commercially supported)
* Mark groups and stacking together not yet supported
* Flood manager should only send port specific rules, if those roles differ from broadcast rules
* update supported EAP Types in docs
* user port\_no# instead of hardcoded number
* initialise egress\_table in ValvePipeline
* move override output port initialising to ValveHostManager
* include add\_port in ValveManagerBase
* Tweak codecov settings
* use self.port\_labels() instead of constructing dict by hand
* debugging, reorder order of success checks
* rename prometheus variable to match the best practice for counters
* retry the prometheus poll 5 times
* Notify Chewie of port status events
* BUGFIX - Deny Port on 802.1x Failure
* Hash config files for changes if stat didn't change
* Preversion 1.8.29

1.8.28
------

* README 1.8.28
* Update Vendor page for AT products
* Remove more hardcoded port maps in 8021X tests
* Remove hard coded port assignments in 802.1x
* Mount /var/lib/docker on host to avoid docker-in-docker fs problems
* Upgrade travis VM to xenial
* port\_labels() needs to be smart enough to remap ports for hardware
* Always use latest version of docker-ce
* Move run-travis-test.sh to travis directory
* pytype issue #133 is now fixed
* Refresh grafana dashboards
* pylint
* Disable mirror port in group test which implicitly disables group mode
* When flooding to a port that is being mirrored, the mirrored packet must not have a tag if the mirrored port is untagged
* Require combinatorial flood rules when mirroring VLAN
* pylint
* Set flood flow priority consistently for bridge local/bcast
* Specify flood priorities based on mask
* Sent flowsadds/mods with priority in priority order
* pylint
* Reduce rules sent by stacking/flooding
* Incremental refactor to condense flooding rule calculation
* Common VLAN flood actions
* Sent flowsadds/mods with priority in priority order
* pylint
* Reduce rules sent by stacking/flooding
* Incremental refactor to condense flooding rule calculation
* Common VLAN flood actions
* stack ports must use "b" convention
* Ports always begin with b
* Use boilerplate config where possible
* dp.port\_labels()
* dp.base\_prom\_labels()
* Missed base\_prom\_labels() in faucet\_dot1x
* base\_prom\_labels needed in BGP
* Mock port\_labels()
* Gauge port\_name references
* port\_labels()
* Missed ref to self.\_stat\_port\_name
* Use common code for Prometheus port labels
* Revert "Influx diag."
* Influx diag
* Use common code for Prometheus port labels
* Update prometheus rules
* Upgrade Prometheus client
* debian/control
* debian/control
* Update Prometheus rules for OF counters
* debian/control
* Debian control for Prometheus client
* Var rename
* Remove diags
* Var rename
* Var rename
* Sample object
* fctl diags
* Specify 0.4.2
* Specify Prometheus version 0.0.42
* Upgrade Prometheus client
* Send CONFIG\_CHANGE success message
* Decode OFERROR type/codes
* pylint
* Update installation documentation
* Add prometheus metric documentation
* Support pi-gen 2018-11-13-raspbian-stretch
* Update port stats dashboard for faucet 1.8.27
* Preversion 1.8.28

1.8.27
------

* Type check DB parameters for Watchers and check file path is writable
* Bump README version
* Remove unnecessary unit test for chewie
* pytype 2018.11.6
* Replace netils.build\_byte\_string() with bytes.fromhex()
* Update ryu from 4.29 to 4.30
* Require chewie 0.0.10
* pylint
* Restrict testing of metadata to OVS (only platform currently supporting it)
* Don't allow all\_dps and dps to be set together
* Update sphinx from 1.8.1 to 1.8.2
* Detect requirement-only changes and ensure docker tests are run
* FaucetMaxHostsPortTest assert args
* Fall back to unmapped port if necessary
* Test docs if anything changed
* remap port numbers for port labels consistently
* Use port\_labels()
* FaucetUntaggedMultiMirrorTest test warm starts
* Updating pystyle URL
* Need to handle remapped ports
* Preversion 1.8.27

1.8.26
------

* Bump version for release
* start\_watchers() test
* Build the 8021X ACL
* undo unneeded changes
* undo unneeded changes
* undoing debugging logs
* pylint & fix display\_packet\_crash
* revert the default port acl pipeline
* attempting to get 802.1X tests to run on hardware
* Add test cases for config parsing errors #2606 & #2607
* Fix #2609, Get correct attribute when displaying error
* Fix #2608, Force router \_\_str\_\_ method to return a string
* afl restarts properly ontop of the old data if >25mins of fuzzing data is present
* Fix error with packet fuzzer crashing on startup #2591
* Handle YAML ambiguity in "rule" style ACL with no actions
* Run all tests on Travis on new branch
* Handle YAML ambiguity in "rule" style ACL with no actions
* add pydoc. trying to trigger travis-ci.org/bairdo build
* fix syntax error
* Revert "Only do travis builds on master and tags."
* replace assertion catching with throwing on ping success
* Fix raspbian builds

1.8.25
------

* Bump version for release
* Own repo TravisCI recommendation not requirement
* fix ping fail check
* actually block unauthenticated traffic
* Update images in docker-compose.yaml files
* ValveTableConfig for \*\_acl tables should use sorted tuples
* Don't reply to bogon ARP/ND
* Catch exceptions from BGP events. Check for an unresolved VLAN at runtime (e.g. when we get a route from BGP that we can't find a VLAN for)
* Extraneous BGP check for connected network
