From 97dc36b408dd805d9336c1ef328e48e3763aad38 Mon Sep 17 00:00:00 2001 From: shirely Date: Fri, 10 Jun 2022 15:07:08 +0800 Subject: [PATCH] fix pbuf copy checksum offload --- 0024-fix-pbuf-copy-checksum-offload.patch | 30 +++++++++++++++++++++++ lwip.spec | 7 +++++- 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 0024-fix-pbuf-copy-checksum-offload.patch diff --git a/0024-fix-pbuf-copy-checksum-offload.patch b/0024-fix-pbuf-copy-checksum-offload.patch new file mode 100644 index 0000000..8f398af --- /dev/null +++ b/0024-fix-pbuf-copy-checksum-offload.patch @@ -0,0 +1,30 @@ +From a70409c557cae74d87b0e7bc8c72a0e79c7249a1 Mon Sep 17 00:00:00 2001 +From: shirely +Date: Fri, 10 Jun 2022 11:31:48 +0800 +Subject: [PATCH] adapter + +--- + src/core/pbuf.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/src/core/pbuf.c b/src/core/pbuf.c +index 4687284..740ff0e 100644 +--- a/src/core/pbuf.c ++++ b/src/core/pbuf.c +@@ -988,6 +988,13 @@ pbuf_copy(struct pbuf *p_to, const struct pbuf *p_from) + /* current p_from does not fit into current p_to */ + len = p_to->len - offset_to; + } ++ ++#if USE_LIBOS && (CHECKSUM_GEN_IP_HW || CHECKSUM_GEN_TCP_HW) ++ p_to->l2_len = p_from->l2_len; ++ p_to->l3_len = p_from->l3_len; ++ p_to->ol_flags = p_from->ol_flags; ++#endif ++ + MEMCPY((u8_t *)p_to->payload + offset_to, (u8_t *)p_from->payload + offset_from, len); + offset_to += len; + offset_from += len; +-- +1.8.3.1 + diff --git a/lwip.spec b/lwip.spec index 1b831e8..00e780c 100644 --- a/lwip.spec +++ b/lwip.spec @@ -4,7 +4,7 @@ Summary: lwip is a small independent implementation of the TCP/IP protocol suite Name: lwip Version: 2.1.2 -Release: 3 +Release: 4 License: BSD URL: http://savannah.nongnu.org/projects/lwip/ Source0: http://download.savannah.nongnu.org/releases/lwip/%{name}-%{version}.zip @@ -37,6 +37,7 @@ Patch9020: 0020-remove-chose_dlsym_handle-function-set-handle-to-RTL.patch Patch9021: 0021-refactor-event-if-ring-is-full-the-node-is-added-to-.patch Patch9022: 0022-notify-app-that-sock-state-changes-to-CLOSE_WAIT.patch Patch9023: 0023-refactor-event-and-checksum-offload-support.patch +Patch9024: 0024-fix-pbuf-copy-checksum-offload.patch BuildRequires: gcc-c++ dos2unix dpdk-devel @@ -78,6 +79,7 @@ find %{_builddir}/%{name}-%{version} -type f -exec dos2unix -q {} \; %patch9021 -p1 %patch9022 -p1 %patch9023 -p1 +%patch9024 -p1 %build cd %{_builddir}/%{name}-%{version}/src @@ -93,6 +95,9 @@ cd %{_builddir}/%{name}-%{version}/src %{_libdir}/liblwip.a %changelog +* Fri Jun 10 2022 xiusaiong - 2.1.2-4 +- fix pbuf copy checksum offload + * Tue Jun 07 2022 xiusailong - 2.1.2-3 - support gazelle feature -- Gitee