For this series:

Reviewed-and-tested-by: Bill Fischofer <[email protected]>

On Wed, Mar 22, 2017 at 10:29 AM, Matias Elo <[email protected]> wrote:
> Signed-off-by: Matias Elo <[email protected]>
> ---
>  example/generator/odp_generator.c             | 4 ++--
>  example/ipsec/odp_ipsec_stream.c              | 6 +++---
>  helper/include/odp/helper/ip.h                | 3 ++-
>  platform/linux-generic/include/protocols/ip.h | 3 ++-
>  platform/linux-generic/odp_packet.c           | 5 ++++-
>  5 files changed, 13 insertions(+), 8 deletions(-)
>
> diff --git a/example/generator/odp_generator.c 
> b/example/generator/odp_generator.c
> index 8062d87..1fd4899 100644
> --- a/example/generator/odp_generator.c
> +++ b/example/generator/odp_generator.c
> @@ -267,7 +267,7 @@ static odp_packet_t pack_icmp_pkt(odp_pool_t pool)
>         ip->ver_ihl = ODPH_IPV4 << 4 | ODPH_IPV4HDR_IHL_MIN;
>         ip->tot_len = odp_cpu_to_be_16(args->appl.payload + ODPH_ICMPHDR_LEN +
>                                        ODPH_IPV4HDR_LEN);
> -       ip->proto = ODPH_IPPROTO_ICMP;
> +       ip->proto = ODPH_IPPROTO_ICMPv4;
>         seq = odp_atomic_fetch_add_u64(&counters.seq, 1) % 0xffff;
>         ip->id = odp_cpu_to_be_16(seq);
>         ip->chksum = 0;
> @@ -483,7 +483,7 @@ static void print_pkts(int thr, odp_packet_t pkt_tbl[], 
> unsigned len)
>                 }
>
>                 /* icmp */
> -               if (ip->proto == ODPH_IPPROTO_ICMP) {
> +               if (ip->proto == ODPH_IPPROTO_ICMPv4) {
>                         icmp = (odph_icmphdr_t *)(buf + offset);
>                         /* echo reply */
>                         if (icmp->type == ICMP_ECHOREPLY) {
> diff --git a/example/ipsec/odp_ipsec_stream.c 
> b/example/ipsec/odp_ipsec_stream.c
> index 428ec04..b9576ae 100644
> --- a/example/ipsec/odp_ipsec_stream.c
> +++ b/example/ipsec/odp_ipsec_stream.c
> @@ -219,7 +219,7 @@ odp_packet_t create_ipv4_packet(stream_db_entry_t *stream,
>                 ip->src_addr = odp_cpu_to_be_32(entry->tun_src_ip);
>                 ip->dst_addr = odp_cpu_to_be_32(entry->tun_dst_ip);
>         } else {
> -               ip->proto = ODPH_IPPROTO_ICMP;
> +               ip->proto = ODPH_IPPROTO_ICMPv4;
>                 ip->src_addr = odp_cpu_to_be_32(stream->src_ip);
>                 ip->dst_addr = odp_cpu_to_be_32(stream->dst_ip);
>         }
> @@ -262,7 +262,7 @@ odp_packet_t create_ipv4_packet(stream_db_entry_t *stream,
>                 inner_ip = (odph_ipv4hdr_t *)data;
>                 memset((char *)inner_ip, 0, sizeof(*inner_ip));
>                 inner_ip->ver_ihl = 0x45;
> -               inner_ip->proto = ODPH_IPPROTO_ICMP;
> +               inner_ip->proto = ODPH_IPPROTO_ICMPv4;
>                 inner_ip->id = odp_cpu_to_be_16(stream->id);
>                 inner_ip->ttl = 64;
>                 inner_ip->tos = 0;
> @@ -519,7 +519,7 @@ clear_packet:
>                 icmp = (odph_icmphdr_t *)(inner_ip + 1);
>                 data = (uint8_t *)icmp;
>         } else {
> -               if (ODPH_IPPROTO_ICMP != ip->proto)
> +               if (ODPH_IPPROTO_ICMPv4 != ip->proto)
>                         return FALSE;
>                 icmp = (odph_icmphdr_t *)data;
>         }
> diff --git a/helper/include/odp/helper/ip.h b/helper/include/odp/helper/ip.h
> index ba6e675..91776fa 100644
> --- a/helper/include/odp/helper/ip.h
> +++ b/helper/include/odp/helper/ip.h
> @@ -205,13 +205,14 @@ typedef struct ODP_PACKED {
>   * IP protocol values (IPv4:'proto' or IPv6:'next_hdr')
>   * @{*/
>  #define ODPH_IPPROTO_HOPOPTS 0x00 /**< IPv6 hop-by-hop options */
> -#define ODPH_IPPROTO_ICMP    0x01 /**< Internet Control Message Protocol (1) 
> */
> +#define ODPH_IPPROTO_ICMPv4  0x01 /**< Internet Control Message Protocol (1) 
> */
>  #define ODPH_IPPROTO_TCP     0x06 /**< Transmission Control Protocol (6) */
>  #define ODPH_IPPROTO_UDP     0x11 /**< User Datagram Protocol (17) */
>  #define ODPH_IPPROTO_ROUTE   0x2B /**< IPv6 Routing header (43) */
>  #define ODPH_IPPROTO_FRAG    0x2C /**< IPv6 Fragment (44) */
>  #define ODPH_IPPROTO_AH      0x33 /**< Authentication Header (51) */
>  #define ODPH_IPPROTO_ESP     0x32 /**< Encapsulating Security Payload (50) */
> +#define ODPH_IPPROTO_ICMPv6  0x3A /**< Internet Control Message Protocol 
> (58) */
>  #define ODPH_IPPROTO_INVALID 0xFF /**< Reserved invalid by IANA */
>
>  /**@}*/
> diff --git a/platform/linux-generic/include/protocols/ip.h 
> b/platform/linux-generic/include/protocols/ip.h
> index 20041f1..2b34a75 100644
> --- a/platform/linux-generic/include/protocols/ip.h
> +++ b/platform/linux-generic/include/protocols/ip.h
> @@ -157,13 +157,14 @@ typedef struct ODP_PACKED {
>   * IP protocol values (IPv4:'proto' or IPv6:'next_hdr')
>   * @{*/
>  #define _ODP_IPPROTO_HOPOPTS 0x00 /**< IPv6 hop-by-hop options */
> -#define _ODP_IPPROTO_ICMP    0x01 /**< Internet Control Message Protocol (1) 
> */
> +#define _ODP_IPPROTO_ICMPv4  0x01 /**< Internet Control Message Protocol (1) 
> */
>  #define _ODP_IPPROTO_TCP     0x06 /**< Transmission Control Protocol (6) */
>  #define _ODP_IPPROTO_UDP     0x11 /**< User Datagram Protocol (17) */
>  #define _ODP_IPPROTO_ROUTE   0x2B /**< IPv6 Routing header (43) */
>  #define _ODP_IPPROTO_FRAG    0x2C /**< IPv6 Fragment (44) */
>  #define _ODP_IPPROTO_AH      0x33 /**< Authentication Header (51) */
>  #define _ODP_IPPROTO_ESP     0x32 /**< Encapsulating Security Payload (50) */
> +#define _ODP_IPPROTO_ICMPv6  0x3A /**< Internet Control Message Protocol 
> (58) */
>  #define _ODP_IPPROTO_SCTP    0x84 /**< Stream Control Transmission protocol
>                                        (132) */
>  #define _ODP_IPPROTO_INVALID 0xFF /**< Reserved invalid by IANA */
> diff --git a/platform/linux-generic/odp_packet.c 
> b/platform/linux-generic/odp_packet.c
> index 60eef3a..bfe89cb 100644
> --- a/platform/linux-generic/odp_packet.c
> +++ b/platform/linux-generic/odp_packet.c
> @@ -2066,7 +2066,10 @@ int packet_parse_common(packet_parser_t *prs, const 
> uint8_t *ptr,
>
>                 /* Parse Layer 4 headers */
>                 switch (prs->ip_proto) {
> -               case _ODP_IPPROTO_ICMP:
> +               case _ODP_IPPROTO_ICMPv4:
> +               /* Fall through */
> +
> +               case _ODP_IPPROTO_ICMPv6:
>                         prs->input_flags.icmp = 1;
>                         break;
>
> --
> 2.7.4
>

Reply via email to