vnet: af_packet_set_l4_cksum_offload device class check
[vpp.git] / src / vnet / devices / af_packet / af_packet.c
index e7bbdfd..eec3e4b 100644 (file)
@@ -32,6 +32,8 @@
 
 #include <vnet/devices/af_packet/af_packet.h>
 
+af_packet_main_t af_packet_main;
+
 #define AF_PACKET_DEBUG_SOCKET         0
 
 #define AF_PACKET_TX_FRAMES_PER_BLOCK  1024
@@ -414,6 +416,9 @@ af_packet_set_l4_cksum_offload (vlib_main_t * vm, u32 sw_if_index, u8 set)
 
   hw = vnet_get_sup_hw_interface (vnm, sw_if_index);
 
+  if (hw->dev_class_index != af_packet_device_class.index)
+    return VNET_API_ERROR_INVALID_INTERFACE;
+
   if (set)
     hw->flags &= ~VNET_HW_INTERFACE_FLAG_SUPPORTS_TX_L4_CKSUM_OFFLOAD;
   else