hs-test: more debug output in http3 test
[vpp.git] / src / vnet / interface.h
index 2eb50ae..f0cb540 100644 (file)
@@ -71,7 +71,7 @@ typedef clib_error_t *(vnet_subif_add_del_function_t)
    struct vnet_sw_interface_t * template, int is_add);
 
 /* Interface set mtu callback. */
-typedef clib_error_t *(vnet_interface_set_mtu_function_t) (
+typedef clib_error_t *(vnet_interface_set_max_frame_size_function_t) (
   struct vnet_main_t *vnm, struct vnet_hw_interface_t *hi, u32 mtu);
 
 /* Interface set mac address callback. */
@@ -292,6 +292,8 @@ typedef struct _vnet_device_class
 
 } vnet_device_class_t;
 
+u32 vnet_register_device_class (vlib_main_t *, vnet_device_class_t *);
+
 #ifndef CLIB_MARCH_VARIANT
 #define VNET_DEVICE_CLASS(x,...)                                        \
   __VA_ARGS__ vnet_device_class_t x;                                    \
@@ -320,7 +322,8 @@ static __clib_unused vnet_device_class_t __clib_unused_##x
 #endif
 
 #define VNET_DEVICE_CLASS_TX_FN(devclass)                                     \
-  uword CLIB_MARCH_SFX (devclass##_tx_fn) ();                                 \
+  uword CLIB_MARCH_SFX (devclass##_tx_fn) (                                   \
+    vlib_main_t *, vlib_node_runtime_t *, vlib_frame_t *);                    \
   static vlib_node_fn_registration_t CLIB_MARCH_SFX (                         \
     devclass##_tx_fn_registration) = {                                        \
     .function = &CLIB_MARCH_SFX (devclass##_tx_fn),                           \
@@ -432,8 +435,9 @@ typedef struct _vnet_hw_interface_class
 
   /* Function to add/delete additional MAC addresses */
   vnet_interface_add_del_mac_address_function_t *mac_addr_add_del_function;
-  /* Function to set mtu. */
-  vnet_interface_set_mtu_function_t *set_mtu;
+
+  /* Function to set max frame size. */
+  vnet_interface_set_max_frame_size_function_t *set_max_frame_size;
 
   /* Format function to display interface name. */
   format_function_t *format_interface_name;
@@ -701,17 +705,14 @@ typedef struct vnet_hw_interface_t
   /* Maximum transmit rate for this interface in bits/sec. */
   f64 max_rate_bits_per_sec;
 
-  /* Smallest packet size supported by this interface. */
-  u32 min_supported_packet_bytes;
-
-  /* Largest packet size supported by this interface. */
-  u32 max_supported_packet_bytes;
-
   /* Smallest packet size for this interface. */
-  u32 min_packet_bytes;
+  u32 min_frame_size;
+
+  /* Largest frame size for this interface. */
+  u32 max_frame_size;
 
-  /* Largest packet size for this interface. */
-  u32 max_packet_bytes;
+  /* Layer 2 overhead */
+  u16 frame_overhead;
 
   /* Hash table mapping sub interface id to sw_if_index. */
   uword *sub_interface_sw_if_index_by_id;