Hi Bill,

As you have noted above, when all the 5 patches are applied together
they will compile fine but patch 2 depends on patch 3 and it does not
compile in parts as of now.

I would like to get review on the patches in this setup and before
upstreaming I will merge these patches to make sure they compile
individually.
Pls let me know your opinion on this

Regards,
Bala

On 24 November 2015 at 15:08, Bill Fischofer <[email protected]> wrote:
> I ran the ./apply-and-build.sh script in check_odp, which, among other
> things, tests whether the patch series is properly organized such that the
> result is buildable and the validation tests pass after each part is applied
> sequentially (necessary for biscectabilty of a patch series).  It reports
> that Part 1 is OK, but the build fails after Part 2, implying that Part 2 is
> incomplete and requires items only found in subsequent parts.
>
> On Mon, Nov 23, 2015 at 11:23 PM, Bala Manoharan <[email protected]>
> wrote:
>>
>> Hi Bill,
>>
>> I just tried the build and it seems to work fine on the latest API-NEXT
>> branch.
>>
>> Did you mean it is not working after applying only part 2 of the patch
>> ignoring the rest? All the 5 patches are dependent on each other since
>> the changes are across two modules classification and pktio.
>>
>> I can redo the patches to make them individually compilable if it is a
>> must requirement but I would prefer review comments on this series so
>> that I can update them together in the next version.
>>
>> Regards,
>> Bala
>>
>> On 24 November 2015 at 06:03, Bill Fischofer <[email protected]>
>> wrote:
>> > apply-and-build fails for Part 2:
>> >
>> > Making all in platform/linux-generic
>> > make[1]: Entering directory
>> > '/home/bill/linaro/check-odp/build/odp-apply/platform/linux-generic'
>> >   CC       odp_barrier.lo
>> >   CC       odp_buffer.lo
>> >   CC       odp_classification.lo
>> >   CC       odp_cpu.lo
>> >   CC       odp_cpumask.lo
>> >   CC       odp_cpumask_task.lo
>> >   CC       odp_crypto.lo
>> >   CC       odp_errno.lo
>> >   CC       odp_event.lo
>> >   CC       odp_hash.lo
>> >   CC       odp_init.lo
>> >   CC       odp_impl.lo
>> >   CC       odp_packet.lo
>> >   CC       odp_packet_flags.lo
>> >   CC       odp_packet_io.lo
>> > odp_packet.c:35:6: error: conflicting types for 'packet_parse_reset'
>> >  void packet_parse_reset(odp_packet_t pkt)
>> >       ^
>> > In file included from odp_packet.c:8:0:
>> > ./include/odp_packet_internal.h:248:6: note: previous declaration of
>> > 'packet_parse_reset' was here
>> >  void packet_parse_reset(odp_packet_hdr_t *pkt_hdr);
>> >       ^
>> > Makefile:735: recipe for target 'odp_packet.lo' failed
>> > make[1]: *** [odp_packet.lo] Error 1
>> >
>> > On Mon, Nov 23, 2015 at 4:12 AM, Balasubramanian Manoharan
>> > <[email protected]> wrote:
>> >>
>> >> Adds linux-generic internal api's and modify internal structs to
>> >> support
>> >> configuring packet pool to CoS.
>> >>
>> >> Signed-off-by: Balasubramanian Manoharan <[email protected]>
>> >> ---
>> >>  platform/linux-generic/include/odp_classification_datamodel.h | 1 +
>> >>  platform/linux-generic/include/odp_classification_internal.h  | 3 +++
>> >>  platform/linux-generic/include/odp_packet_internal.h          | 8
>> >> +++++++-
>> >>  platform/linux-generic/include/odp_packet_io_internal.h       | 4 ++++
>> >>  platform/linux-generic/include/odp_packet_socket.h            | 2 ++
>> >>  5 files changed, 17 insertions(+), 1 deletion(-)
>> >>
>> >> diff --git
>> >> a/platform/linux-generic/include/odp_classification_datamodel.h
>> >> b/platform/linux-generic/include/odp_classification_datamodel.h
>> >> index 4358fca..3569e9c 100644
>> >> --- a/platform/linux-generic/include/odp_classification_datamodel.h
>> >> +++ b/platform/linux-generic/include/odp_classification_datamodel.h
>> >> @@ -67,6 +67,7 @@ Class Of Service
>> >>  struct cos_s {
>> >>         queue_entry_t *queue;           /* Associated Queue */
>> >>         pool_entry_t *pool;             /* Associated Buffer pool */
>> >> +       odp_pool_t pool_id;             /* Associated pool handle */
>> >>         union pmr_u *pmr;               /* Chained PMR */
>> >>         union cos_u *linked_cos;        /* CoS linked with the PMR */
>> >>         uint32_t valid;                 /* validity Flag */
>> >> diff --git
>> >> a/platform/linux-generic/include/odp_classification_internal.h
>> >> b/platform/linux-generic/include/odp_classification_internal.h
>> >> index 5593280..7e46986 100644
>> >> --- a/platform/linux-generic/include/odp_classification_internal.h
>> >> +++ b/platform/linux-generic/include/odp_classification_internal.h
>> >> @@ -61,6 +61,9 @@ This function calls Classifier module internal
>> >> functions
>> >> for a given packet and
>> >>  enqueues the packet to specific Queue based on PMR and CoS selected.
>> >>  **/
>> >>  int packet_classifier(odp_pktio_t pktio, odp_packet_t pkt);
>> >> +
>> >> +int _odp_packet_classifier(pktio_entry_t *entry, odp_packet_t pkt);
>> >> +
>> >>  /**
>> >>  Packet IO classifier init
>> >>
>> >> diff --git a/platform/linux-generic/include/odp_packet_internal.h
>> >> b/platform/linux-generic/include/odp_packet_internal.h
>> >> index 6f1521c..12e9cca 100644
>> >> --- a/platform/linux-generic/include/odp_packet_internal.h
>> >> +++ b/platform/linux-generic/include/odp_packet_internal.h
>> >> @@ -28,6 +28,8 @@ extern "C" {
>> >>  #include <odp/crypto.h>
>> >>  #include <odp_crypto_internal.h>
>> >>
>> >> +#define PACKET_JUMBO_LEN       (9 * 1024)
>> >> +
>> >>  /**
>> >>   * Packet input & protocol flags
>> >>   */
>> >> @@ -243,7 +245,7 @@ void packet_parse_l2(odp_packet_hdr_t *pkt_hdr);
>> >>  int packet_parse_full(odp_packet_hdr_t *pkt_hdr);
>> >>
>> >>  /* Reset parser metadata for a new parse */
>> >> -void packet_parse_reset(odp_packet_t pkt);
>> >> +void packet_parse_reset(odp_packet_hdr_t *pkt_hdr);
>> >>
>> >>  /* Convert a packet handle to a buffer handle */
>> >>  odp_buffer_t _odp_packet_to_buffer(odp_packet_t pkt);
>> >> @@ -251,6 +253,10 @@ odp_buffer_t _odp_packet_to_buffer(odp_packet_t
>> >> pkt);
>> >>  /* Convert a buffer handle to a packet handle */
>> >>  odp_packet_t _odp_packet_from_buffer(odp_buffer_t buf);
>> >>
>> >> +int _odp_parse_common(odp_packet_hdr_t *pkt_hdr, const uint8_t
>> >> *parseptr);
>> >> +
>> >> +int _odp_cls_parse(odp_packet_hdr_t *pkt_hdr, const uint8_t
>> >> *parseptr);
>> >> +
>> >>  #ifdef __cplusplus
>> >>  }
>> >>  #endif
>> >> diff --git a/platform/linux-generic/include/odp_packet_io_internal.h
>> >> b/platform/linux-generic/include/odp_packet_io_internal.h
>> >> index a46c6fe..1f79f9c 100644
>> >> --- a/platform/linux-generic/include/odp_packet_io_internal.h
>> >> +++ b/platform/linux-generic/include/odp_packet_io_internal.h
>> >> @@ -86,6 +86,7 @@ struct pktio_entry {
>> >>         classifier_t cls;               /**< classifier linked with
>> >> this
>> >> pktio*/
>> >>         char name[PKTIO_NAME_LEN];      /**< name of pktio provided to
>> >>                                            pktio_open() */
>> >> +       odp_pktio_t id;
>> >>         odp_pktio_param_t param;
>> >>  };
>> >>
>> >> @@ -118,6 +119,9 @@ typedef struct pktio_if_ops {
>> >>         int (*mac_get)(pktio_entry_t *pktio_entry, void *mac_addr);
>> >>  } pktio_if_ops_t;
>> >>
>> >> +int _odp_packet_cls_enq(pktio_entry_t *pktio_entry, uint8_t *base,
>> >> +                       uint16_t buf_len, odp_packet_t *pkt_ret);
>> >> +
>> >>  extern void *pktio_entry_ptr[];
>> >>
>> >>  static inline int pktio_to_id(odp_pktio_t pktio)
>> >> diff --git a/platform/linux-generic/include/odp_packet_socket.h
>> >> b/platform/linux-generic/include/odp_packet_socket.h
>> >> index a5e0eb3..1eaafb7 100644
>> >> --- a/platform/linux-generic/include/odp_packet_socket.h
>> >> +++ b/platform/linux-generic/include/odp_packet_socket.h
>> >> @@ -44,6 +44,8 @@ typedef struct {
>> >>         int sockfd; /**< socket descriptor */
>> >>         odp_pool_t pool; /**< pool to alloc packets from */
>> >>         unsigned char if_mac[ETH_ALEN]; /**< IF eth mac addr */
>> >> +       uint8_t *cache_ptr[ODP_PACKET_SOCKET_MAX_BURST_RX];
>> >> +       odp_shm_t shm;
>> >>  } pkt_sock_t;
>> >>
>> >>  /** packet mmap ring */
>> >> --
>> >> 1.9.1
>> >>
>> >> _______________________________________________
>> >> lng-odp mailing list
>> >> [email protected]
>> >> https://lists.linaro.org/mailman/listinfo/lng-odp
>> >
>> >
>
>
_______________________________________________
lng-odp mailing list
[email protected]
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to