This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "".
The branch, api-next has been updated via 89159170e2e4fc90f6f2c8b0d7f017a3a650623d (commit) via 5329e5211c447b9b823149baf76112eedfeb07fb (commit) via ce058b8fdde37cc302bcf589f458dab7b8d3e365 (commit) via 5d6a9f036cdeeb79215328a63b2dc63962e292a0 (commit) via 4459e1bd35534dd1b6a313890c74086c0e86c617 (commit) via 163f57de92d66336433cf5638538828e10053655 (commit) via fe1f56c168423800534b85d61f319d1dc327b49b (commit) via 9163719bd4c04321592dad9da7f26539f49c8b7a (commit) via 7e9004e87bab2eacd82d449286a84ae7a8cb75ab (commit) via d593398b2d55faf1e07f124a4c807c006eb856ea (commit) via 4af5396e77ff170c80ec3720028493ed2c9f4826 (commit) via fc020907bee7ec2ba976bc02399f6fd47f110d65 (commit) via f4d6c91588b414fcb70abcc83941e8e4c1cd2f5e (commit) from d4b364849c4abb4c71e0c5260e1a793ebb8dc97d (commit)
Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below.
- Log ----------------------------------------------------------------- commit 89159170e2e4fc90f6f2c8b0d7f017a3a650623d Merge: d4b36484 5329e521 Author: Maxim Uvarov maxim.uvarov@linaro.org Date: Tue Nov 21 11:26:57 2017 +0300
Merge branch 'master' into api-next
Signed-off-by: Maxim Uvarov maxim.uvarov@linaro.org
diff --cc platform/linux-generic/odp_packet.c index 32c9f525,04f1f33b..bdcb482f --- a/platform/linux-generic/odp_packet.c +++ b/platform/linux-generic/odp_packet.c @@@ -1929,81 -1856,9 +1931,81 @@@ int _odp_packet_copy_md_to_packet(odp_p * user area was truncated in the process. Note this can only * happen when copying between different pools. */ - return dsthdr->buf_hdr.uarea_size < srchdr->buf_hdr.uarea_size; + return dst_uarea_size < src_uarea_size; }
+/** Parser helper function for Ethernet packets */ +static inline uint16_t parse_eth(packet_parser_t *prs, const uint8_t **parseptr, + uint32_t *offset, uint32_t frame_len) +{ + uint16_t ethtype; + const _odp_ethhdr_t *eth; + uint16_t macaddr0, macaddr2, macaddr4; + const _odp_vlanhdr_t *vlan; + + /* Detect jumbo frames */ + if (frame_len > _ODP_ETH_LEN_MAX) + prs->input_flags.jumbo = 1; + + eth = (const _odp_ethhdr_t *)*parseptr; + + /* Handle Ethernet broadcast/multicast addresses */ + macaddr0 = odp_be_to_cpu_16(*((const uint16_t *)(const void *)eth)); + prs->input_flags.eth_mcast = (macaddr0 & 0x0100) == 0x0100; + + if (macaddr0 == 0xffff) { + macaddr2 = + odp_be_to_cpu_16(*((const uint16_t *) + (const void *)eth + 1)); + macaddr4 = + odp_be_to_cpu_16(*((const uint16_t *) + (const void *)eth + 2)); + prs->input_flags.eth_bcast = + (macaddr2 == 0xffff) && (macaddr4 == 0xffff); + } else { + prs->input_flags.eth_bcast = 0; + } + + /* Get Ethertype */ + ethtype = odp_be_to_cpu_16(eth->type); + *offset += sizeof(*eth); + *parseptr += sizeof(*eth); + + /* Check for SNAP vs. DIX */ + if (ethtype < _ODP_ETH_LEN_MAX) { + prs->input_flags.snap = 1; + if (ethtype > frame_len - *offset) { + prs->error_flags.snap_len = 1; + return 0; + } + ethtype = odp_be_to_cpu_16(*((const uint16_t *)(uintptr_t) + (parseptr + 6))); + *offset += 8; + *parseptr += 8; + } + + /* Parse the VLAN header(s), if present */ + if (ethtype == _ODP_ETHTYPE_VLAN_OUTER) { + prs->input_flags.vlan_qinq = 1; + prs->input_flags.vlan = 1; + + vlan = (const _odp_vlanhdr_t *)*parseptr; + ethtype = odp_be_to_cpu_16(vlan->type); + *offset += sizeof(_odp_vlanhdr_t); + *parseptr += sizeof(_odp_vlanhdr_t); + } + + if (ethtype == _ODP_ETHTYPE_VLAN) { + prs->input_flags.vlan = 1; + vlan = (const _odp_vlanhdr_t *)*parseptr; + ethtype = odp_be_to_cpu_16(vlan->type); + *offset += sizeof(_odp_vlanhdr_t); + *parseptr += sizeof(_odp_vlanhdr_t); + } + + return ethtype; +} + /** * Parser helper function for IPv4 */ diff --cc platform/linux-generic/odp_pool.c index 40114093,c0dd41eb..7584aec0 --- a/platform/linux-generic/odp_pool.c +++ b/platform/linux-generic/odp_pool.c @@@ -285,19 -294,12 +294,13 @@@ static void init_buffers(pool_t *pool
memset(buf_hdr, 0, (uintptr_t)data - (uintptr_t)buf_hdr);
- seg_size = pool->headroom + pool->seg_len + pool->tailroom; - /* Initialize buffer metadata */ buf_hdr->index = i; - buf_hdr->size = seg_size; buf_hdr->type = type; buf_hdr->event_type = type; + buf_hdr->event_subtype = ODP_EVENT_NO_SUBTYPE; - buf_hdr->pool_hdl = pool->pool_hdl; buf_hdr->pool_ptr = pool; buf_hdr->uarea_addr = uarea; - /* Show user requested size through API */ - buf_hdr->uarea_size = pool->params.pkt.uarea_size; buf_hdr->segcount = 1; buf_hdr->num_seg = 1; buf_hdr->next_seg = NULL; diff --cc platform/linux-generic/pktio/dpdk.c index 99b79e32,07671e62..5032b8df --- a/platform/linux-generic/pktio/dpdk.c +++ b/platform/linux-generic/pktio/dpdk.c @@@ -603,8 -570,6 +607,8 @@@ static inline int pkt_to_mbuf(pktio_ent char *data; uint16_t pkt_len; odp_pktout_config_opt_t *pktout_cfg = &pktio_entry->s.config.pktout; + odp_pktout_config_opt_t *pktout_capa = - &pktio_entry->s.pkt_dpdk.capa.config.pktout; ++ &pktio_entry->s.capa.config.pktout;
if (odp_unlikely((rte_pktmbuf_alloc_bulk(pkt_dpdk->pkt_pool, mbuf_table, num)))) { @@@ -718,8 -683,6 +722,8 @@@ static inline int pkt_to_mbuf_zero(pkti { pkt_dpdk_t *pkt_dpdk = &pktio_entry->s.pkt_dpdk; odp_pktout_config_opt_t *pktout_cfg = &pktio_entry->s.config.pktout; + odp_pktout_config_opt_t *pktout_capa = - &pktio_entry->s.pkt_dpdk.capa.config.pktout; ++ &pktio_entry->s.capa.config.pktout; int i; *copy_count = 0;
-----------------------------------------------------------------------
Summary of changes: .travis.yml | 37 +++++++++++++++++- configure.ac | 4 +- .../include/odp/api/plat/packet_inlines.h | 11 +++++- .../include/odp/api/plat/packet_types.h | 2 - .../include/odp/api/plat/pool_types.h | 13 +++++++ .../linux-generic/include/odp_buffer_internal.h | 4 -- platform/linux-generic/include/odp_packet_dpdk.h | 21 +++++----- .../linux-generic/include/odp_packet_internal.h | 2 +- .../linux-generic/include/odp_packet_io_internal.h | 1 + platform/linux-generic/include/odp_packet_netmap.h | 1 - platform/linux-generic/include/odp_pool_internal.h | 1 + platform/linux-generic/odp_buffer.c | 5 ++- platform/linux-generic/odp_packet.c | 34 ++++++++-------- platform/linux-generic/odp_pool.c | 18 +++++---- platform/linux-generic/pktio/dpdk.c | 45 +++++++++++++++------- platform/linux-generic/pktio/netmap.c | 12 +++--- 16 files changed, 144 insertions(+), 67 deletions(-)
hooks/post-receive