NAT64: Move IPv6-IPv4 virtual reassembly code from MAP-T to common library (VPP-708)
[vpp.git] / src / vnet / map / map.c
index 6a707df..8579cdf 100644 (file)
@@ -76,91 +76,6 @@ crc_u32 (u32 data, u32 value)
  */
 
 
-i32
-ip4_get_port (ip4_header_t * ip, map_dir_e dir, u16 buffer_len)
-{
-  //TODO: use buffer length
-  if (ip->ip_version_and_header_length != 0x45 ||
-      ip4_get_fragment_offset (ip))
-    return -1;
-
-  if (PREDICT_TRUE ((ip->protocol == IP_PROTOCOL_TCP) ||
-                   (ip->protocol == IP_PROTOCOL_UDP)))
-    {
-      udp_header_t *udp = (void *) (ip + 1);
-      return (dir == MAP_SENDER) ? udp->src_port : udp->dst_port;
-    }
-  else if (ip->protocol == IP_PROTOCOL_ICMP)
-    {
-      icmp46_header_t *icmp = (void *) (ip + 1);
-      if (icmp->type == ICMP4_echo_request || icmp->type == ICMP4_echo_reply)
-       {
-         return *((u16 *) (icmp + 1));
-       }
-      else if (clib_net_to_host_u16 (ip->length) >= 64)
-       {
-         ip = (ip4_header_t *) (icmp + 2);
-         if (PREDICT_TRUE ((ip->protocol == IP_PROTOCOL_TCP) ||
-                           (ip->protocol == IP_PROTOCOL_UDP)))
-           {
-             udp_header_t *udp = (void *) (ip + 1);
-             return (dir == MAP_SENDER) ? udp->dst_port : udp->src_port;
-           }
-         else if (ip->protocol == IP_PROTOCOL_ICMP)
-           {
-             icmp46_header_t *icmp = (void *) (ip + 1);
-             if (icmp->type == ICMP4_echo_request ||
-                 icmp->type == ICMP4_echo_reply)
-               {
-                 return *((u16 *) (icmp + 1));
-               }
-           }
-       }
-    }
-  return -1;
-}
-
-i32
-ip6_get_port (ip6_header_t * ip6, map_dir_e dir, u16 buffer_len)
-{
-  u8 l4_protocol;
-  u16 l4_offset;
-  u16 frag_offset;
-  u8 *l4;
-
-  if (ip6_parse (ip6, buffer_len, &l4_protocol, &l4_offset, &frag_offset))
-    return -1;
-
-  //TODO: Use buffer length
-
-  if (frag_offset &&
-      ip6_frag_hdr_offset (((ip6_frag_hdr_t *)
-                           u8_ptr_add (ip6, frag_offset))))
-    return -1;                 //Can't deal with non-first fragment for now
-
-  l4 = u8_ptr_add (ip6, l4_offset);
-  if (l4_protocol == IP_PROTOCOL_TCP || l4_protocol == IP_PROTOCOL_UDP)
-    {
-      return (dir ==
-             MAP_SENDER) ? ((udp_header_t *) (l4))->src_port : ((udp_header_t
-                                                                 *)
-                                                                (l4))->dst_port;
-    }
-  else if (l4_protocol == IP_PROTOCOL_ICMP6)
-    {
-      icmp46_header_t *icmp = (icmp46_header_t *) (l4);
-      if (icmp->type == ICMP6_echo_request)
-       {
-         return (dir == MAP_SENDER) ? ((u16 *) (icmp))[2] : -1;
-       }
-      else if (icmp->type == ICMP6_echo_reply)
-       {
-         return (dir == MAP_SENDER) ? -1 : ((u16 *) (icmp))[2];
-       }
-    }
-  return -1;
-}
-
 
 int
 map_create_domain (ip4_address_t * ip4_prefix,