|WARNING| pw168880-168881 [PATCH 1/2] ethdev: remove deprecated flow copy API

qemudev at loongson.cn qemudev at loongson.cn
Wed Sep 2 01:35:50 CEST 2026


Test-Label: loongson-compile-loongarch-abi2
Test-Status: WARNING
http://dpdk.org/patch/168880

_apply patch failure_

Submitter: Stephen Hemminger <stephen at networkplumber.org>
Date: Tue,  1 Sep 2026 16:10:32 -0700
DPDK git baseline: Repo:dpdk-next-net
  Branch: next-net-for-main
  CommitID: 68c18e9dd963efa645deb308183928948c002720

Apply patch set 168880-168881 failed:

Checking patch doc/guides/rel_notes/release_26_11.rst...
Hunk #1 succeeded at 115 (offset 44 lines).
Checking patch lib/ethdev/ethdev_trace.h...
Hunk #1 succeeded at 1382 (offset -20 lines).
Checking patch lib/ethdev/ethdev_trace_points.c...
Hunk #1 succeeded at 497 (offset -6 lines).
Checking patch lib/ethdev/rte_flow.c...
error: while searching for:
	return ret;
}

/** Store a full rte_flow description. */
RTE_EXPORT_SYMBOL(rte_flow_copy)
size_t
rte_flow_copy(struct rte_flow_desc *desc, size_t len,
	      const struct rte_flow_attr *attr,
	      const struct rte_flow_item *items,
	      const struct rte_flow_action *actions)
{
	/*
	 * Overlap struct rte_flow_conv with struct rte_flow_desc in order
	 * to convert the former to the latter without wasting space.
	 */
	struct rte_flow_conv_rule *dst =
		len ?
		(void *)((uintptr_t)desc +
			 (offsetof(struct rte_flow_desc, actions) -
			  offsetof(struct rte_flow_conv_rule, actions))) :
		NULL;
	size_t dst_size =
		len > sizeof(*desc) - sizeof(*dst) ?
		len - (sizeof(*desc) - sizeof(*dst)) :
		0;
	struct rte_flow_conv_rule src = {
		.attr_ro = NULL,
		.pattern_ro = items,
		.actions_ro = actions,
	};
	int ret;

	RTE_BUILD_BUG_ON(sizeof(struct rte_flow_desc) <
			 sizeof(struct rte_flow_conv_rule));
	if (dst_size &&
	    (&dst->pattern != &desc->items ||
	     &dst->actions != &desc->actions ||
	     (uintptr_t)(dst + 1) != (uintptr_t)(desc + 1))) {
		rte_errno = EINVAL;
		return 0;
	}
	ret = rte_flow_conv(RTE_FLOW_CONV_OP_RULE, dst, dst_size, &src, NULL);
	if (ret < 0)
		return 0;
	ret += sizeof(*desc) - sizeof(*dst);
	rte_memcpy(desc,
		   (&(struct rte_flow_desc){
			.size = ret,
			.attr = *attr,
			.items = dst_size ? dst->pattern : NULL,
			.actions = dst_size ? dst->actions : NULL,
		   }),
		   len > sizeof(*desc) ? sizeof(*desc) : len);

	rte_flow_trace_copy(desc, len, attr, items, actions, ret);

	return ret;
}

RTE_EXPORT_SYMBOL(rte_flow_dev_dump)
int
rte_flow_dev_dump(uint16_t port_id, struct rte_flow *flow,

error: patch failed: lib/ethdev/rte_flow.c:1190
error: lib/ethdev/rte_flow.c: patch does not apply
Checking patch lib/ethdev/rte_flow.h...
Hunk #1 succeeded at 4864 (offset 150 lines).


More information about the test-report mailing list