|WARNING| pw127947 [PATCH v3] gro : ipv6 changes to support GRO for TCP/ipv6
qemudev at loongson.cn
qemudev at loongson.cn
Fri Jun 2 08:21:52 CEST 2023
Test-Label: loongarch-compilation
Test-Status: WARNING
http://dpdk.org/patch/127947
_apply patch failure_
Submitter: Kumara Parameshwaran <kumaraparamesh92 at gmail.com>
Date: Fri, 2 Jun 2023 12:04:23 +0530
DPDK git baseline: Repo:dpdk
Branch: main
CommitID: abaa473297cf21cb81e5348185a7694ae2f221e7
Apply patch set 127947 failed:
/home/zhoumin/dpdk-ci/tools/../series/28317/127947.patch:196: trailing whitespace.
int32_t
/home/zhoumin/dpdk-ci/tools/../series/28317/127947.patch:197: trailing whitespace.
gro_tcp_reassemble(struct rte_mbuf *pkt,
/home/zhoumin/dpdk-ci/tools/../series/28317/127947.patch:198: trailing whitespace.
void *tbl,
/home/zhoumin/dpdk-ci/tools/../series/28317/127947.patch:199: trailing whitespace.
void *key,
/home/zhoumin/dpdk-ci/tools/../series/28317/127947.patch:223: trailing whitespace.
sent_seq = rte_be_to_cpu_32(tcp_hdr->sent_seq);
Checking patch lib/gro/gro_tcp.c...
Checking patch lib/gro/gro_tcp.h...
error: lib/gro/gro_tcp.h: No such file or directory
Checking patch lib/gro/gro_tcp4.c...
Hunk #1 succeeded at 71 (offset -1 lines).
error: while searching for:
}
static inline uint32_t
insert_new_item(struct gro_tcp4_tbl *tbl,
struct rte_mbuf *pkt,
uint64_t start_time,
uint32_t prev_idx,
uint32_t sent_seq,
uint16_t ip_id,
uint8_t is_atomic)
{
uint32_t item_idx;
item_idx = find_an_empty_item(tbl);
if (item_idx == INVALID_ARRAY_INDEX)
return INVALID_ARRAY_INDEX;
tbl->items[item_idx].firstseg = pkt;
tbl->items[item_idx].lastseg = rte_pktmbuf_lastseg(pkt);
tbl->items[item_idx].start_time = start_time;
tbl->items[item_idx].next_pkt_idx = INVALID_ARRAY_INDEX;
tbl->items[item_idx].sent_seq = sent_seq;
tbl->items[item_idx].ip_id = ip_id;
tbl->items[item_idx].nb_merged = 1;
tbl->items[item_idx].is_atomic = is_atomic;
tbl->item_num++;
/* if the previous packet exists, chain them together. */
if (prev_idx != INVALID_ARRAY_INDEX) {
tbl->items[item_idx].next_pkt_idx =
tbl->items[prev_idx].next_pkt_idx;
tbl->items[prev_idx].next_pkt_idx = item_idx;
}
return item_idx;
}
static inline uint32_t
delete_item(struct gro_tcp4_tbl *tbl, uint32_t item_idx,
uint32_t prev_item_idx)
{
uint32_t next_idx = tbl->items[item_idx].next_pkt_idx;
/* NULL indicates an empty item */
tbl->items[item_idx].firstseg = NULL;
tbl->item_num--;
if (prev_item_idx != INVALID_ARRAY_INDEX)
tbl->items[prev_item_idx].next_pkt_idx = next_idx;
return next_idx;
}
static inline uint32_t
insert_new_flow(struct gro_tcp4_tbl *tbl,
struct tcp4_flow_key *src,
uint32_t item_idx)
{
struct tcp4_flow_key *dst;
uint32_t flow_idx;
flow_idx = find_an_empty_flow(tbl);
if (unlikely(flow_idx == INVALID_ARRAY_INDEX))
return INVALID_ARRAY_INDEX;
dst = &(tbl->flows[flow_idx].key);
rte_ether_addr_copy(&(src->eth_saddr), &(dst->eth_saddr));
rte_ether_addr_copy(&(src->eth_daddr), &(dst->eth_daddr));
dst->ip_src_addr = src->ip_src_addr;
dst->ip_dst_addr = src->ip_dst_addr;
dst->recv_ack = src->recv_ack;
dst->src_port = src->src_port;
dst->dst_port = src->dst_port;
tbl->flows[flow_idx].start_index = item_idx;
tbl->flow_num++;
return flow_idx;
}
/*
* update the packet length for the flushed packet.
*/
static inline void
update_header(struct gro_tcp_item *item)
{
struct rte_ipv4_hdr *ipv4_hdr;
struct rte_mbuf *pkt = item->firstseg;
ipv4_hdr = (struct rte_ipv4_hdr *)(rte_pktmbuf_mtod(pkt, char *) +
pkt->l2_len);
ipv4_hdr->total_length = rte_cpu_to_be_16(pkt->pkt_len -
pkt->l2_len);
}
int32_t
gro_tcp4_reassemble(struct rte_mbuf *pkt,
struct gro_tcp4_tbl *tbl,
error: patch failed: lib/gro/gro_tcp4.c:97
error: lib/gro/gro_tcp4.c: patch does not apply
Checking patch lib/gro/gro_tcp4.h...
error: while searching for:
#ifndef _GRO_TCP4_H_
#define _GRO_TCP4_H_
#define INVALID_ARRAY_INDEX 0xffffffffUL
#define GRO_TCP4_TBL_MAX_ITEM_NUM (1024UL * 1024UL)
/* Header fields representing a TCP/IPv4 flow */
struct tcp4_flow_key {
struct rte_ether_addr eth_saddr;
struct rte_ether_addr eth_daddr;
uint32_t ip_src_addr;
uint32_t ip_dst_addr;
uint32_t recv_ack;
uint16_t src_port;
uint16_t dst_port;
};
struct gro_tcp4_flow {
error: patch failed: lib/gro/gro_tcp4.h:5
error: lib/gro/gro_tcp4.h: patch does not apply
Checking patch lib/gro/gro_tcp6.c...
error: lib/gro/gro_tcp6.c: No such file or directory
Checking patch lib/gro/gro_tcp6.h...
error: lib/gro/gro_tcp6.h: No such file or directory
Checking patch lib/gro/gro_vxlan_tcp4.c...
Hunk #1 succeeded at 163 (offset -1 lines).
Hunk #2 succeeded at 351 (offset -1 lines).
Checking patch lib/gro/meson.build...
error: while searching for:
sources = files(
'rte_gro.c',
'gro_tcp4.c',
'gro_tcp6.c',
'gro_udp4.c',
error: patch failed: lib/gro/meson.build:3
error: lib/gro/meson.build: patch does not apply
More information about the test-report
mailing list