The new implementation for FreeBSD provides a SYN cache as the first approach for handling incoming connections, and has every connection pass through the cache. If an existing entry in the cache needs to be evicted, a sysctl tunable controls the optional behavior of sending back a SYN cookie instead of evicting the entry from the cache. In the following discussion, first the implementation of the syncache will be presented, independent of syncookies, with the next section explaining how syncookies modify the behavior of the syncache.