tcp: register with ip for header parsing by default 64/9464/1
authorFlorin Coras <fcoras@cisco.com>
Thu, 16 Nov 2017 17:57:50 +0000 (09:57 -0800)
committerFlorin Coras <fcoras@cisco.com>
Thu, 16 Nov 2017 18:09:34 +0000 (10:09 -0800)
Change-Id: I4e420bcc9241b03e179a939911059c0cc3704a51
Signed-off-by: Florin Coras <fcoras@cisco.com>
src/vnet/tcp/tcp.c

index 1c44ef0..a0a5f19 100644 (file)
@@ -1151,8 +1151,6 @@ clib_error_t *
 tcp_main_enable (vlib_main_t * vm)
 {
   tcp_main_t *tm = vnet_get_tcp_main ();
-  ip_protocol_info_t *pi;
-  ip_main_t *im = &ip_main;
   vlib_thread_main_t *vtm = vlib_get_thread_main ();
   clib_error_t *error = 0;
   u32 num_threads;
@@ -1171,13 +1169,6 @@ tcp_main_enable (vlib_main_t * vm)
    * Registrations
    */
 
-  /* Register with IP */
-  pi = ip_get_protocol_info (im, IP_PROTOCOL_TCP);
-  if (pi == 0)
-    return clib_error_return (0, "TCP protocol info AWOL");
-  pi->format_header = format_tcp_header;
-  pi->unformat_pg_edit = unformat_pg_tcp_header;
-
   ip4_register_protocol (IP_PROTOCOL_TCP, tcp4_input_node.index);
   ip6_register_protocol (IP_PROTOCOL_TCP, tcp6_input_node.index);
 
@@ -1282,7 +1273,19 @@ clib_error_t *
 tcp_init (vlib_main_t * vm)
 {
   tcp_main_t *tm = vnet_get_tcp_main ();
+  ip_main_t *im = &ip_main;
+  ip_protocol_info_t *pi;
+
+  /* Session layer, and by implication tcp, are disabled by default */
   tm->is_enabled = 0;
+
+  /* Register with IP for header parsing */
+  pi = ip_get_protocol_info (im, IP_PROTOCOL_TCP);
+  if (pi == 0)
+    return clib_error_return (0, "TCP protocol info AWOL");
+  pi->format_header = format_tcp_header;
+  pi->unformat_pg_edit = unformat_pg_tcp_header;
+
   tcp_api_reference ();
   return 0;
 }