Coding standards cleanup for vnet/vnet/ip, VPP-255
[vpp.git] / vnet / vnet / ip / ip6_input.c
index f6d56be..bbc2ceb 100644 (file)
 #include <vnet/ppp/ppp.h>
 #include <vnet/hdlc/hdlc.h>
 
-typedef struct {
+typedef struct
+{
   u8 packet_data[64];
 } ip6_input_trace_t;
 
-static u8 * format_ip6_input_trace (u8 * s, va_list * va)
+static u8 *
+format_ip6_input_trace (u8 * s, va_list * va)
 {
   CLIB_UNUSED (vlib_main_t * vm) = va_arg (*va, vlib_main_t *);
   CLIB_UNUSED (vlib_node_t * node) = va_arg (*va, vlib_node_t *);
-  ip6_input_trace_t * t = va_arg (*va, ip6_input_trace_t *);
+  ip6_input_trace_t *t = va_arg (*va, ip6_input_trace_t *);
 
   s = format (s, "%U",
-             format_ip6_header,
-             t->packet_data, sizeof (t->packet_data));
+             format_ip6_header, t->packet_data, sizeof (t->packet_data));
 
   return s;
 }
 
-typedef enum {
+typedef enum
+{
   IP6_INPUT_NEXT_DROP,
   IP6_INPUT_NEXT_LOOKUP,
   IP6_INPUT_NEXT_ICMP_ERROR,
@@ -69,18 +71,17 @@ typedef enum {
 /* Validate IP v6 packets and pass them either to forwarding code
    or drop exception packets. */
 static uword
-ip6_input (vlib_main_t * vm,
-          vlib_node_runtime_t * node,
-          vlib_frame_t * frame)
+ip6_input (vlib_main_t * vm, vlib_node_runtime_t * node, vlib_frame_t * frame)
 {
-  vnet_main_t * vnm = vnet_get_main();
-  ip6_main_t * im = &ip6_main;
-  ip_lookup_main_t * lm = &im->lookup_main;
-  u32 n_left_from, * from, * to_next;
+  vnet_main_t *vnm = vnet_get_main ();
+  ip6_main_t *im = &ip6_main;
+  ip_lookup_main_t *lm = &im->lookup_main;
+  u32 n_left_from, *from, *to_next;
   ip6_input_next_t next_index;
-  vlib_node_runtime_t * error_node = vlib_node_get_runtime (vm, ip6_input_node.index);
-  vlib_simple_counter_main_t * cm;
-  u32 cpu_index = os_get_cpu_number();
+  vlib_node_runtime_t *error_node =
+    vlib_node_get_runtime (vm, ip6_input_node.index);
+  vlib_simple_counter_main_t *cm;
+  u32 cpu_index = os_get_cpu_number ();
 
   from = vlib_frame_vector_args (frame);
   n_left_from = frame->n_vectors;
@@ -92,26 +93,25 @@ ip6_input (vlib_main_t * vm,
                                   sizeof (ip6_input_trace_t));
 
   cm = vec_elt_at_index (vnm->interface_main.sw_if_counters,
-                         VNET_INTERFACE_COUNTER_IP6);
+                        VNET_INTERFACE_COUNTER_IP6);
 
   while (n_left_from > 0)
     {
       u32 n_left_to_next;
 
-      vlib_get_next_frame (vm, node, next_index,
-                          to_next, n_left_to_next);
+      vlib_get_next_frame (vm, node, next_index, to_next, n_left_to_next);
 
       while (n_left_from >= 4 && n_left_to_next >= 2)
        {
-         vlib_buffer_t * p0, * p1;
-         ip6_header_t * ip0, * ip1;
+         vlib_buffer_t *p0, *p1;
+         ip6_header_t *ip0, *ip1;
          u32 pi0, sw_if_index0, next0 = 0;
          u32 pi1, sw_if_index1, next1 = 0;
          u8 error0, error1, arc0, arc1;
 
          /* Prefetch next iteration. */
          {
-           vlib_buffer_t * p2, * p3;
+           vlib_buffer_t *p2, *p3;
 
            p2 = vlib_get_buffer (vm, from[2]);
            p3 = vlib_get_buffer (vm, from[3]);
@@ -142,8 +142,12 @@ ip6_input (vlib_main_t * vm,
          sw_if_index0 = vnet_buffer (p0)->sw_if_index[VLIB_RX];
          sw_if_index1 = vnet_buffer (p1)->sw_if_index[VLIB_RX];
 
-         arc0 = ip6_address_is_multicast (&ip0->dst_address) ? lm->mcast_feature_arc_index : lm->ucast_feature_arc_index;
-         arc1 = ip6_address_is_multicast (&ip1->dst_address) ? lm->mcast_feature_arc_index : lm->ucast_feature_arc_index;
+         arc0 =
+           ip6_address_is_multicast (&ip0->dst_address) ?
+           lm->mcast_feature_arc_index : lm->ucast_feature_arc_index;
+         arc1 =
+           ip6_address_is_multicast (&ip1->dst_address) ?
+           lm->mcast_feature_arc_index : lm->ucast_feature_arc_index;
 
          vnet_buffer (p0)->ip.adj_index[VLIB_RX] = ~0;
          vnet_buffer (p1)->ip.adj_index[VLIB_RX] = ~0;
@@ -157,40 +161,58 @@ ip6_input (vlib_main_t * vm,
          error0 = error1 = IP6_ERROR_NONE;
 
          /* Version != 6?  Drop it. */
-         error0 = (clib_net_to_host_u32 (ip0->ip_version_traffic_class_and_flow_label) >> 28) != 6 ? IP6_ERROR_VERSION : error0;
-         error1 = (clib_net_to_host_u32 (ip1->ip_version_traffic_class_and_flow_label) >> 28) != 6 ? IP6_ERROR_VERSION : error1;
+         error0 =
+           (clib_net_to_host_u32
+            (ip0->ip_version_traffic_class_and_flow_label) >> 28) !=
+           6 ? IP6_ERROR_VERSION : error0;
+         error1 =
+           (clib_net_to_host_u32
+            (ip1->ip_version_traffic_class_and_flow_label) >> 28) !=
+           6 ? IP6_ERROR_VERSION : error1;
 
          /* hop limit < 1? Drop it.  for link-local broadcast packets,
-           * like dhcpv6 packets from client has hop-limit 1, which should not
-           * be dropped.
-           */
+          * like dhcpv6 packets from client has hop-limit 1, which should not
+          * be dropped.
+          */
          error0 = ip0->hop_limit < 1 ? IP6_ERROR_TIME_EXPIRED : error0;
          error1 = ip1->hop_limit < 1 ? IP6_ERROR_TIME_EXPIRED : error1;
 
          /* L2 length must be at least minimal IP header. */
-         error0 = p0->current_length < sizeof (ip0[0]) ? IP6_ERROR_TOO_SHORT : error0;
-         error1 = p1->current_length < sizeof (ip1[0]) ? IP6_ERROR_TOO_SHORT : error1;
-
-      if (PREDICT_FALSE(error0 != IP6_ERROR_NONE))
-        {
-         if (error0 == IP6_ERROR_TIME_EXPIRED) {
-           icmp6_error_set_vnet_buffer(p0, ICMP6_time_exceeded,
-                                         ICMP6_time_exceeded_ttl_exceeded_in_transit, 0);
-           next0 = IP6_INPUT_NEXT_ICMP_ERROR;
-         } else {
-           next0 = IP6_INPUT_NEXT_DROP;
-         }
-        }
-      if (PREDICT_FALSE(error1 != IP6_ERROR_NONE))
-        {
-         if (error1 == IP6_ERROR_TIME_EXPIRED) {
-           icmp6_error_set_vnet_buffer(p1, ICMP6_time_exceeded,
-                                         ICMP6_time_exceeded_ttl_exceeded_in_transit, 0);
-           next1 = IP6_INPUT_NEXT_ICMP_ERROR;
-         } else {
-           next1 = IP6_INPUT_NEXT_DROP;
-         }
-        }
+         error0 =
+           p0->current_length <
+           sizeof (ip0[0]) ? IP6_ERROR_TOO_SHORT : error0;
+         error1 =
+           p1->current_length <
+           sizeof (ip1[0]) ? IP6_ERROR_TOO_SHORT : error1;
+
+         if (PREDICT_FALSE (error0 != IP6_ERROR_NONE))
+           {
+             if (error0 == IP6_ERROR_TIME_EXPIRED)
+               {
+                 icmp6_error_set_vnet_buffer (p0, ICMP6_time_exceeded,
+                                              ICMP6_time_exceeded_ttl_exceeded_in_transit,
+                                              0);
+                 next0 = IP6_INPUT_NEXT_ICMP_ERROR;
+               }
+             else
+               {
+                 next0 = IP6_INPUT_NEXT_DROP;
+               }
+           }
+         if (PREDICT_FALSE (error1 != IP6_ERROR_NONE))
+           {
+             if (error1 == IP6_ERROR_TIME_EXPIRED)
+               {
+                 icmp6_error_set_vnet_buffer (p1, ICMP6_time_exceeded,
+                                              ICMP6_time_exceeded_ttl_exceeded_in_transit,
+                                              0);
+                 next1 = IP6_INPUT_NEXT_ICMP_ERROR;
+               }
+             else
+               {
+                 next1 = IP6_INPUT_NEXT_DROP;
+               }
+           }
 
          p0->error = error_node->errors[error0];
          p1->error = error_node->errors[error1];
@@ -199,11 +221,11 @@ ip6_input (vlib_main_t * vm,
                                           to_next, n_left_to_next,
                                           pi0, pi1, next0, next1);
        }
-    
+
       while (n_left_from > 0 && n_left_to_next > 0)
        {
-         vlib_buffer_t * p0;
-         ip6_header_t * ip0;
+         vlib_buffer_t *p0;
+         ip6_header_t *ip0;
          u32 pi0, sw_if_index0, next0 = 0;
          u8 error0, arc0;
 
@@ -218,7 +240,9 @@ ip6_input (vlib_main_t * vm,
          ip0 = vlib_buffer_get_current (p0);
 
          sw_if_index0 = vnet_buffer (p0)->sw_if_index[VLIB_RX];
-         arc0 = ip6_address_is_multicast (&ip0->dst_address) ? lm->mcast_feature_arc_index : lm->ucast_feature_arc_index;
+         arc0 =
+           ip6_address_is_multicast (&ip0->dst_address) ?
+           lm->mcast_feature_arc_index : lm->ucast_feature_arc_index;
          vnet_buffer (p0)->ip.adj_index[VLIB_RX] = ~0;
          vnet_feature_arc_start (arc0, sw_if_index0, &next0, p0);
 
@@ -226,27 +250,36 @@ ip6_input (vlib_main_t * vm,
          error0 = IP6_ERROR_NONE;
 
          /* Version != 6?  Drop it. */
-         error0 = (clib_net_to_host_u32 (ip0->ip_version_traffic_class_and_flow_label) >> 28) != 6 ? IP6_ERROR_VERSION : error0;
+         error0 =
+           (clib_net_to_host_u32
+            (ip0->ip_version_traffic_class_and_flow_label) >> 28) !=
+           6 ? IP6_ERROR_VERSION : error0;
 
          /* hop limit < 1? Drop it. for link-local broadcast packets,
-           * like dhcpv6 packets from client has hop-limit 1, which should not
-           * be dropped.
-           */
+          * like dhcpv6 packets from client has hop-limit 1, which should not
+          * be dropped.
+          */
          error0 = ip0->hop_limit < 1 ? IP6_ERROR_TIME_EXPIRED : error0;
 
          /* L2 length must be at least minimal IP header. */
-         error0 = p0->current_length < sizeof (ip0[0]) ? IP6_ERROR_TOO_SHORT : error0;
-
-      if (PREDICT_FALSE(error0 != IP6_ERROR_NONE))
-        {
-         if (error0 == IP6_ERROR_TIME_EXPIRED) {
-           icmp6_error_set_vnet_buffer(p0, ICMP6_time_exceeded,
-                                         ICMP6_time_exceeded_ttl_exceeded_in_transit, 0);
-           next0 = IP6_INPUT_NEXT_ICMP_ERROR;
-         } else {
-           next0 = IP6_INPUT_NEXT_DROP;
-         }
-        }
+         error0 =
+           p0->current_length <
+           sizeof (ip0[0]) ? IP6_ERROR_TOO_SHORT : error0;
+
+         if (PREDICT_FALSE (error0 != IP6_ERROR_NONE))
+           {
+             if (error0 == IP6_ERROR_TIME_EXPIRED)
+               {
+                 icmp6_error_set_vnet_buffer (p0, ICMP6_time_exceeded,
+                                              ICMP6_time_exceeded_ttl_exceeded_in_transit,
+                                              0);
+                 next0 = IP6_INPUT_NEXT_ICMP_ERROR;
+               }
+             else
+               {
+                 next0 = IP6_INPUT_NEXT_DROP;
+               }
+           }
          p0->error = error_node->errors[error0];
 
          vlib_validate_buffer_enqueue_x1 (vm, node, next_index,
@@ -260,12 +293,13 @@ ip6_input (vlib_main_t * vm,
   return frame->n_vectors;
 }
 
-static char * ip6_error_strings[] = {
+static char *ip6_error_strings[] = {
 #define _(sym,string) string,
   foreach_ip6_error
 #undef _
 };
 
+/* *INDENT-OFF* */
 VLIB_REGISTER_NODE (ip6_input_node) = {
   .function = ip6_input,
   .name = "ip6-input",
@@ -284,20 +318,17 @@ VLIB_REGISTER_NODE (ip6_input_node) = {
   .format_buffer = format_ip6_header,
   .format_trace = format_ip6_input_trace,
 };
+/* *INDENT-ON* */
 
 VLIB_NODE_FUNCTION_MULTIARCH (ip6_input_node, ip6_input)
-
-static clib_error_t * ip6_init (vlib_main_t * vm)
+     static clib_error_t *ip6_init (vlib_main_t * vm)
 {
-  ethernet_register_input_type (vm, ETHERNET_TYPE_IP6,
-                               ip6_input_node.index);
-  ppp_register_input_protocol (vm, PPP_PROTOCOL_ip6,
-                              ip6_input_node.index);
-  hdlc_register_input_protocol (vm, HDLC_PROTOCOL_ip6,
-                               ip6_input_node.index);
+  ethernet_register_input_type (vm, ETHERNET_TYPE_IP6, ip6_input_node.index);
+  ppp_register_input_protocol (vm, PPP_PROTOCOL_ip6, ip6_input_node.index);
+  hdlc_register_input_protocol (vm, HDLC_PROTOCOL_ip6, ip6_input_node.index);
 
   {
-    pg_node_t * pn;
+    pg_node_t *pn;
     pn = pg_get_node (ip6_input_node.index);
     pn->unformat_edit = unformat_pg_ip6_header;
   }
@@ -312,3 +343,11 @@ static clib_error_t * ip6_init (vlib_main_t * vm)
 }
 
 VLIB_INIT_FUNCTION (ip6_init);
+
+/*
+ * fd.io coding-style-patch-verification: ON
+ *
+ * Local Variables:
+ * eval: (c-set-style "gnu")
+ * End:
+ */