udp: support close with data
[vpp.git] / src / vnet / udp / udp.h
index f5efbbc..88a46db 100644 (file)
@@ -34,14 +34,20 @@ typedef enum
   UDP_N_ERROR,
 } udp_error_t;
 
+typedef enum
+{
+  UDP_CONN_F_CONNECTED,                /**< connected mode */
+  UDP_CONN_F_OWNS_PORT,                /**< port belong to conn (UDPC) */
+  UDP_CONN_F_CLOSING,          /**< conn closed with data */
+} udp_conn_flags_t;
+
 typedef struct
 {
   /** Required for pool_get_aligned */
   CLIB_CACHE_LINE_ALIGN_MARK (cacheline0);
   transport_connection_t connection;   /**< must be first */
   clib_spinlock_t rx_lock;             /**< rx fifo lock */
-  u8 is_connected;                     /**< connected mode */
-  u8 owns_port;                                /**< does port belong to conn (UDPC) */
+  u8 flags;                            /**< connection flags */
 } udp_connection_t;
 
 #define foreach_udp4_dst_port                  \
@@ -235,7 +241,6 @@ udp_connection_clone_safe (u32 connection_index, u32 thread_index)
   udp_pool_remove_peeker (thread_index);
   new_c->c_thread_index = current_thread_index;
   new_c->c_c_index = udp_connection_index (new_c);
-  new_c->is_connected = old_c->is_connected;
   new_c->c_fib_index = old_c->c_fib_index;
   return new_c;
 }