Sonata Ethernet driver cleanups.

The log packet filtering was being wrapped in a conditional and then
using a template that used a different conditional, so never reported
anything.  Fix this to instantiate the template properly.

Also add two defines that tell FreeRTOS+TCP the offload features that
this network interface exposes.  This improves performance and reduces
code size.
diff --git a/sdk/boards/sonata-0.2.json b/sdk/boards/sonata-0.2.json
index 0700773..6faa442 100644
--- a/sdk/boards/sonata-0.2.json
+++ b/sdk/boards/sonata-0.2.json
@@ -70,7 +70,9 @@
         "IBEX",
         "SUNBURST",
         "SUNBURST_SHADOW_BASE=0x30000000",
-        "SUNBURST_SHADOW_SIZE=0x4000"
+        "SUNBURST_SHADOW_SIZE=0x4000",
+        "ipconfigDRIVER_INCLUDED_RX_IP_CHECKSUM=1",
+        "ipconfigDRIVER_INCLUDED_TX_IP_CHECKSUM=1"
     ],
     "driver_includes" : [
         "../include/platform/sunburst",
diff --git a/sdk/boards/sonata-prerelease.json b/sdk/boards/sonata-prerelease.json
index 1df5862..a733dfc 100644
--- a/sdk/boards/sonata-prerelease.json
+++ b/sdk/boards/sonata-prerelease.json
@@ -77,7 +77,9 @@
         "IBEX",
         "SUNBURST",
         "SUNBURST_SHADOW_BASE=0x30000000",
-        "SUNBURST_SHADOW_SIZE=0x4000"
+        "SUNBURST_SHADOW_SIZE=0x4000",
+        "ipconfigDRIVER_INCLUDED_RX_IP_CHECKSUM=1",
+        "ipconfigDRIVER_INCLUDED_TX_IP_CHECKSUM=1"
     ],
     "driver_includes" : [
         "../include/platform/sunburst",
diff --git a/sdk/include/platform/sunburst/platform-ethernet.hh b/sdk/include/platform/sunburst/platform-ethernet.hh
index 50378f8..418b1ef 100644
--- a/sdk/include/platform/sunburst/platform-ethernet.hh
+++ b/sdk/include/platform/sunburst/platform-ethernet.hh
@@ -32,7 +32,7 @@
 	/**
 	 * Flag set to log messages when frames are dropped.
 	 */
-	static constexpr bool DebugDroppedFrames = false;
+	static constexpr bool DebugDroppedFrames = true;
 
 	/**
 	 * Maxmium size of a single Ethernet frame.
@@ -45,6 +45,12 @@
 	using Debug = ConditionalDebug<DebugEthernet, "Ethernet driver">;
 
 	/**
+	 * Helper for conditional debug logs and assertions for dropped frames.
+	 */
+	using DebugFrameDrops =
+	  ConditionalDebug<DebugDroppedFrames, "Ethernet driver">;
+
+	/**
 	 * Import the Capability helper from the CHERI namespace.
 	 */
 	template<typename T>
@@ -649,10 +655,7 @@
 
 			if (!valid)
 			{
-				if (DebugDroppedFrames)
-				{
-					Debug::log("Dropping frame with status: {}", status);
-				}
+				DebugFrameDrops::log("Dropping frame with status: {}", status);
 
 				drop_error_frame();
 				continue;
@@ -660,10 +663,7 @@
 
 			if (length == 0)
 			{
-				if (DebugDroppedFrames)
-				{
-					Debug::log("Dropping frame with zero length");
-				}
+				DebugFrameDrops::log("Dropping frame with zero length");
 
 				drop_error_frame();
 				continue;
@@ -674,10 +674,8 @@
 			uint16_t paddedLength = (length + 3) & ~0x3;
 			if (paddedLength > MaxFrameSize)
 			{
-				if (DebugDroppedFrames)
-				{
-					Debug::log("Dropping frame that is too large: {}", length);
-				}
+				DebugFrameDrops::log("Dropping frame that is too large: {}",
+				                     length);
 
 				drop_error_frame();
 				continue;