diff --git a/doc/experimental/header_split.md b/doc/experimental/header_split.md index 3e7ac8ec2..27d2b84b9 100644 --- a/doc/experimental/header_split.md +++ b/doc/experimental/header_split.md @@ -6,8 +6,22 @@ Header split is a hardware-based feature for RX memory copy offload. It can leve ## 2. Build DPDK with header split patch +Note: please checkout DPDK to v23.03 as it is verified. It has known raw flow issues with DPDK v23.08 and v23.11. + ```bash -git am patches/dpdk/23.07/hdr_split/0001-net-ice-support-hdr-split-mbuf-callback.patch +cd dpdk +# checkout v23.03 version +git checkout v23.03 +git switch -c v23.03 +git am $imtl_source_code/patches/dpdk/23.03/*.patch +git am $imtl_source_code/patches/dpdk/23.03/hdr_split/0001-net-ice-support-hdr-split-mbuf-callback.patch + +# build dpdk +rm build -rf +meson setup build +ninja -C build +sudo ninja install -C build +cd .. ``` ## 3. Update DDP package version with header split feature diff --git a/lib/src/st2110/st_rx_video_session.c b/lib/src/st2110/st_rx_video_session.c index aa3457c19..7e8f95e0f 100644 --- a/lib/src/st2110/st_rx_video_session.c +++ b/lib/src/st2110/st_rx_video_session.c @@ -2341,7 +2341,7 @@ static int rv_handle_hdr_split_pkt(struct st_rx_video_session_impl* s, /* find the target slot by tmstamp */ bool exist_ts = false; - struct st_rx_video_slot_impl* slot = rv_slot_by_tmstamp(s, tmstamp, NULL, &exist_ts); + struct st_rx_video_slot_impl* slot = rv_slot_by_tmstamp(s, tmstamp, payload, &exist_ts); if (!slot || !slot->frame) { if (exist_ts) { s->stat_pkts_redundant_dropped++;