From: Michal Obrembski <michalx.obremb...@intel.com> It looks like in dp_packet_clone_with_headroom() was used a DPDK functions when DPDK was not enabled.
Signed-off-by: Michal Obrembski <michalx.obremb...@intel.com> --- lib/dp-packet.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/lib/dp-packet.c b/lib/dp-packet.c index ce78b0a..d6a4175 100644 --- a/lib/dp-packet.c +++ b/lib/dp-packet.c @@ -240,22 +240,25 @@ dp_packet_clone_with_headroom(const struct dp_packet *buffer, size_t headroom) { struct dp_packet *new_buffer; uint32_t mark; - uint32_t pkt_len = dp_packet_size(buffer); new_buffer = dp_packet_clone_data_with_headroom(dp_packet_data(buffer), - pkt_len, headroom); - - dp_packet_copy_comon_members(new_buffer, buffer); - - new_buffer->rss_hash_valid = buffer->rss_hash_valid; - if (dp_packet_rss_valid(new_buffer)) { - new_buffer->rss_hash = buffer->rss_hash; + dp_packet_size(buffer), + headroom); + /* Copy the following fields into the returned buffer: l2_pad_size, + * l2_5_ofs, l3_ofs, l4_ofs, cutlen, packet_type and md. */ + memcpy(&new_buffer->l2_pad_size, &buffer->l2_pad_size, + sizeof(struct dp_packet) - + offsetof(struct dp_packet, l2_pad_size)); + + if (dp_packet_rss_valid(buffer)) { + dp_packet_set_rss_hash(new_buffer, dp_packet_get_rss_hash(buffer)); } if (dp_packet_has_flow_mark(buffer, &mark)) { dp_packet_set_flow_mark(new_buffer, mark); } return new_buffer; + } #endif -- 2.7.4 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev