+/*
+ * Capabilities that interfaces can advertise.
+ *
+ * struct ifnet.if_capabilities
+ * contains the optional features & capabilities a particular interface
+ * supports (not only the driver but also the detected hw revision).
+ * Capabilities are defined by IFCAP_* below.
+ * struct ifnet.if_capenable
+ * contains the enabled (either by default or through ifconfig) optional
+ * features & capabilities on this interface.
+ * Capabilities are defined by IFCAP_* below.
+ * struct if_data.ifi_hwassist in IFNET_* form, defined in net/kpi_interface.h,
+ * contains the enabled optional features & capabilites that can be used
+ * individually per packet and are specified in the mbuf pkthdr.csum_flags
+ * field. IFCAP_* and IFNET_* do not match one to one and IFNET_* may be
+ * more detailed or differenciated than IFCAP_*.
+ * IFNET_* hwassist flags have corresponding CSUM_* in sys/mbuf.h
+ */
+#define IFCAP_RXCSUM 0x00001 /* can offload checksum on RX */
+#define IFCAP_TXCSUM 0x00002 /* can offload checksum on TX */
+#define IFCAP_VLAN_MTU 0x00004 /* VLAN-compatible MTU */
+#define IFCAP_VLAN_HWTAGGING 0x00008 /* hardware VLAN tag support */
+#define IFCAP_JUMBO_MTU 0x00010 /* 9000 byte MTU supported */
+#define IFCAP_TSO4 0x00020 /* can do TCP Segmentation Offload */
+#define IFCAP_TSO6 0x00040 /* can do TCP6 Segmentation Offload */
+#define IFCAP_LRO 0x00080 /* can do Large Receive Offload */
+#define IFCAP_AV 0x00100 /* can do 802.1 AV Bridging */
+
+#define IFCAP_HWCSUM (IFCAP_RXCSUM | IFCAP_TXCSUM)
+#define IFCAP_TSO (IFCAP_TSO4 | IFCAP_TSO6)
+
+#define IFCAP_VALID (IFCAP_HWCSUM | IFCAP_TSO | IFCAP_LRO | IFCAP_VLAN_MTU | \
+ IFCAP_VLAN_HWTAGGING | IFCAP_JUMBO_MTU | IFCAP_AV)
+