CHANGES
=======

1.8.16
------

* Set locale to keep python read() happy
* Verify ICMPv6 payload type
* Add missing dependencies
* ipaddress only required for python2 which we don't support
* Fix case
* Add unit test for testing packaging
* Don't check test\_packaging:
* Handle attempt to dump a binary log file
* Version bump
* Now python3, so need to force UTF-8 locale
* Don't need to check route manager active
* host route expiry/re-resolution can run much less often
* host\_fib()
* ofa\_match
* is\_host\_fib\_route()
* Move is\_host\_fib\_route() to vlan
* Don't lookup faucet\_vip when resolving until needed
* Disable ofa\_match for route test as not supported all hardware
* Alternate drop rule verifier
* Revert "Avoid even trying to apply mask to arp\_tpa."
* Avoid even trying to apply mask to arp\_tpa
* Remove match\_exact verifier, not used
* Fix hardware test selector
* Revert "Revert "Remove group\_table\_routing (which was incomplete - did not handle removal of nexthops in particular - and has no advantage of the existing exact-match eth\_dst).""
* Revert "Remove group\_table\_routing (which was incomplete - did not handle removal of nexthops in particular - and has no advantage of the existing exact-match eth\_dst)."
* Expand global router test to 64 VLANs
* pylint
* stateful gateway for V4
* \_stateful\_gw for IPv4
* More checks packet source/dest is a valid stateful gateyway
* Remove group\_table\_routing (which was incomplete - did not handle removal of nexthops in particular - and has no advantage of the existing exact-match eth\_dst)
* FaucetUntaggedNSLoopTest
* Migrate mininet-based integration tests to python 3
* pytype
* Add workaround to disable ofamatch for port mask matches
* Fix FaucetTaggedICMPv6ACLTest
* IP tuple test matches
* FaucetConfigReloadTest matches
* ACL tests need OFA required fields
* Now that we use OFA based matching, must specify proto
* pytype
* ofctl implements table/match pre-filtering
* Allow passing table\_id to ofctl
* Avoid more json conversion
* yaml safe\_load
* Avoid json dumps/loads
* Unnecessary reparse\_ip()
* Avoid unnecessary ARP field reparsing
* Move link\_and\_other\_vips to vlan
* More use of is\_link\_local
* Use ipaddress is\_link\_local
* Move global VLAN encoder/decoders to valve\_packet
* Reduce number of times packet complete needs to be checked
* pylint
* Add profiling helper
* Preversion 1.8.16

1.8.15
------

* Remove proactive\_learn which is now the default
* Update PyCharm docs to support newer versions
* Bump version
* Redundant call to parse VLAN header
* Avoid reparsing packet headers on packet in
* Increase GlobalRouter test to 32 VLANs
* Allow per-Valve GROUPS flag
* Allow configuration of minimum and maximum wildcard table sizes
* Better scale minimums for L2/L3 nexthops
* Better table scale tests
* Better estimation of table sizes for TFM
* Fix note
* TFM pipeline loader doesn't need to be a class
* Split faucet and gauge unit tests
* miss\_table\_name
* flowmod()
* miss\_goto
* Miss rules configured from pipeline definition
* Updated NoviFlow documentation to use GenericTFM starting from NW400.5.4
* A stack edge, receiving a non-broadcast packet from the root, can assume the root has learned it
* Log age of last LLDP received
* Don't run unit tests twice in sanity shard
* Remove out of data faucet\_bgp tests (already tested by test\_valve.py)
* Update unittests to be more robust on internal data type changes
* Remove config unittests
* Add main methods to all unittest files
* Refactor ACL validation so it is performed by ACL object
* pylint fixes to work on new test base image
* Make pip cache usage less confusing
* Update test instructions when using a cache
* missing import
* lint
* verify types before accessing values in ACL init
* Add test for configuring acls without 'rule' key
* tidy acl initialisation
* Fix acl configuration interference
* clean up acl actions resolution
* Preversion 1.8.15
* Fix doc header

1.8.14
------

* Fix rpi image tutorial
* Global routing test includes down nexthops
* Bidirectional checks in global router test
* Don't provision non-global VIP FIB entries, when global routing enabled
* Bump version
* Stricter checks in proactive learning
* Can only responded to RS from link local
* Support SOFTWARE\_ONLY tests
* Obsolete TFM comments
* Assume ARP packet first. Verify local VLAN switching performance
* TFM loader needs to know if switch can do DEC\_TTL
* Common PacketMeta log packet function
* Speed up globl routing test
* Skip routing handler entirely up front if routing not configured on VLAN
* Correct vip\_map result
* vip\_map tuple, faster global routing test setup
* Need to check faucet\_vip None
* Remove vip\_map tree from VLAN
* pylint
* pylint
* Don't iterate on VLANs if no route managers
* pylint
* PacketMeta should use slots. Stricter ARP header checking
* Make control plane handler more efficient
* Make vip\_maps IP version specific
* Make global router VLAN lookup less expensive
* Test basic prom vars
* Don't need to copy() tables
* verify LACP status
* Remove class attributes from tests
* attributes
* Don't use class attributes on Conf objects
* pylint
* Move RouteManager to slots
* Move NextHop to \_\_slots\_\_
* Move HostCacheEntry to slots
* correct \_\_slots\_\_ for Valve
* Move Valve to \_\_slots\_\_
* frozenset
* Fixing pylint error
* Fix mutable static class variables and port status
* When global routing, encode source VLAN in eth\_dst, so we don't need to look it up
* Log port when receiving ND advert
* Preversion 1.8.14

1.8.13
------

* Better GlobalRouting test
* Disable global routing optimzation by default
* Clarify ND advert log message
* Don't need in port match on table 7, static pipeline
* Dump table IDs, correct NF static pipeline
* pytype
