CHANGES
=======

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
* 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
* More port\_descriptions
* More port\_descriptions for stacking
* Faucet8021XFailureTest needs port\_description
* Loop test needs port\_description
* Need to handle port variables with new labels
* Need port\_description on more tests
* Gauge should use port not port\_name for consistency with FAUCET
* Preversion 1.8.27

1.8.26
------

* Bump version for release
* start\_watchers() test
* Test of\_port\_curr\_speed is present for all ports
* Bootstrap port state, state on DP connection
* Build the 8021X ACL
* Test should backup config file when it changes for later diagnostics
* VLAN representation requires ports be sorted consistently and distinguish tagged/untagged
* 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
* Fix #2607, Check ACL rules form dicts
* Fix #2606, stack priority value check
* afl restarts properly ontop of the old data if >25mins of fuzzing data is present
* Fix error with packet fuzzer crashing on startup #2591
* Test interfaces could be assigned incorrectly out of order when hardware testing
* Handle YAML ambiguity in "rule" style ACL with no actions
* check\_faucet\_config should print all DPs
* 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
* Correct handling when 802.1X nfv port changes state
* Revert "Only do travis builds on master and tags."
* Preversion 1.8.26
* replace assertion catching with throwing on ping success
* Only do travis builds on master and tags
* Fix raspbian builds

1.8.25
------

* Bump version for release
* add 8021x diagram
* Own repo TravisCI recommendation not requirement
* fix ping fail check
* actually block unauthenticated traffic
* added 802.1x documentation
* Update images in docker-compose.yaml files
* ValveTableConfig for \*\_acl tables should use sorted tuples
* Clarify when pre-change issue log is recommended
* Don't reply to bogon ARP/ND
* Initial proposal for PR process handling
* 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
* Add explicit test for global routing and BGP together. BGP routing should be smart enough to find nexthops in other VLANs in the same router
* change import path
* Upgrade to ryu 4.29
* src\_files.sh should be more helpful expanding pathnames if supplied
* bash syntax
* Only run pylint/pytype on changed files
* diff check sense
* git diff
* Log commit range
* Pre-version 1.8.25

1.8.24
------

* Revert back to ryu 4.27
* Revert Ryu from 4.29 to 4.27
* Update debian/control for ryu 4.29
* update chewie library to v0.0.9
* <0.4.0 style
* pylint
* pylint
* pylint
