On 12/17/2014 01:23 PM, Ola Liljedahl wrote:
On 17 December 2014 at 00:34, Anders Roxell <[email protected]> wrote:
An earlier email described the a template for the short description:
(linux-generic|api|doc|validation|example): file/func: short desc.
This is the long description!
Signed-off-by: ...
"---"
say whatever you like down here that shouldn't be in the commit message.
I am still not clear on what should be in the long description as
opposed to under the "---" and thus not included in the commit log.
I can assume the information on the change that will always be
interesting (e.g. in ten years time to unrelated people) should be
part of the (long) commit message while information that is only
relevant at the moment (e.g. "updated after comments from Kalle" or
"rebased") should be under the "---".
-- Ola
Yes. Commit log goes to history (git). While everything after --- will
be only
in mailing list.
Maxim.
Cheers,
Anders
On 16 December 2014 at 23:50, Bill Fischofer <[email protected]> wrote:
Signed-off-by: Bill Fischofer <[email protected]>
---
v2 Ensures that parser metadata is copied if we're not reparsing
platform/linux-generic/include/odp_packet_internal.h | 20 ++++++++++++++++++++
platform/linux-generic/odp_packet.c | 12 ++++++++++--
2 files changed, 30 insertions(+), 2 deletions(-)
diff --git a/platform/linux-generic/include/odp_packet_internal.h
b/platform/linux-generic/include/odp_packet_internal.h
index 068f969..54a12b5 100644
--- a/platform/linux-generic/include/odp_packet_internal.h
+++ b/platform/linux-generic/include/odp_packet_internal.h
@@ -187,6 +187,26 @@ static inline void packet_init(pool_entry_t *pool,
(pool->s.headroom + size);
}
+static inline void copy_packet_parser_metadata(odp_packet_hdr_t *src_hdr,
+ odp_packet_hdr_t *dst_hdr)
+{
+ dst_hdr->input_flags = src_hdr->input_flags;
+ dst_hdr->error_flags = src_hdr->error_flags;
+ dst_hdr->output_flags = src_hdr->output_flags;
+
+ dst_hdr->l2_offset = src_hdr->l2_offset;
+ dst_hdr->l3_offset = src_hdr->l3_offset;
+ dst_hdr->l4_offset = src_hdr->l4_offset;
+ dst_hdr->payload_offset = src_hdr->payload_offset;
+
+ dst_hdr->vlan_s_tag = src_hdr->vlan_s_tag;
+ dst_hdr->vlan_c_tag = src_hdr->vlan_c_tag;
+ dst_hdr->l3_protocol = src_hdr->l3_protocol;
+ dst_hdr->l3_len = src_hdr->l3_len;
+ dst_hdr->l4_protocol = src_hdr->l4_protocol;
+ dst_hdr->l4_len = src_hdr->l4_len;
+}
+
static inline void *packet_map(odp_packet_hdr_t *pkt_hdr,
uint32_t offset, uint32_t *seglen)
{
diff --git a/platform/linux-generic/odp_packet.c
b/platform/linux-generic/odp_packet.c
index 65e6288..43a9419 100644
--- a/platform/linux-generic/odp_packet.c
+++ b/platform/linux-generic/odp_packet.c
@@ -396,12 +396,16 @@ odp_packet_t odp_packet_add_data(odp_packet_t pkt,
uint32_t offset,
newpkt = ODP_PACKET_INVALID;
} else {
odp_packet_hdr_t *new_hdr = odp_packet_hdr(newpkt);
+ new_hdr->input = pkt_hdr->input;
new_hdr->buf_hdr.buf_u64 = pkt_hdr->buf_hdr.buf_u64;
odp_atomic_store_u32(
&new_hdr->buf_hdr.ref_count,
odp_atomic_load_u32(
&pkt_hdr->buf_hdr.ref_count));
- _odp_packet_parse(newpkt);
+ if (offset < pkt_hdr->payload_offset)
+ _odp_packet_parse(newpkt);
+ else
+ copy_packet_parser_metadata(pkt_hdr, new_hdr);
odp_packet_free(pkt);
}
}
@@ -431,12 +435,16 @@ odp_packet_t odp_packet_rem_data(odp_packet_t pkt,
uint32_t offset,
newpkt = ODP_PACKET_INVALID;
} else {
odp_packet_hdr_t *new_hdr = odp_packet_hdr(newpkt);
+ new_hdr->input = pkt_hdr->input;
new_hdr->buf_hdr.buf_u64 = pkt_hdr->buf_hdr.buf_u64;
odp_atomic_store_u32(
&new_hdr->buf_hdr.ref_count,
odp_atomic_load_u32(
&pkt_hdr->buf_hdr.ref_count));
- _odp_packet_parse(newpkt);
+ if (offset < pkt_hdr->payload_offset)
+ _odp_packet_parse(newpkt);
+ else
+ copy_packet_parser_metadata(pkt_hdr, new_hdr);
odp_packet_free(pkt);
}
}
--
1.8.3.2
_______________________________________________
lng-odp mailing list
[email protected]
http://lists.linaro.org/mailman/listinfo/lng-odp
_______________________________________________
lng-odp mailing list
[email protected]
http://lists.linaro.org/mailman/listinfo/lng-odp
_______________________________________________
lng-odp mailing list
[email protected]
http://lists.linaro.org/mailman/listinfo/lng-odp
_______________________________________________
lng-odp mailing list
[email protected]
http://lists.linaro.org/mailman/listinfo/lng-odp