Sure, I'll send rebased v2.

-Matias


> On 3 Apr 2017, at 22:38, Maxim Uvarov <[email protected]> wrote:
> 
> Matias can you please update patches and check them?
> 
> Maxim.
> 
> On 04/03/17 02:36, Bill Fischofer wrote:
>> 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