diff --git a/SOURCES/openvswitch-3.4.0.patch b/SOURCES/openvswitch-3.4.0.patch index 2fe51c9..91dd0da 100644 --- a/SOURCES/openvswitch-3.4.0.patch +++ b/SOURCES/openvswitch-3.4.0.patch @@ -49,6 +49,50 @@ index 02cef6e451..7cced0f226 100644 out: free(response); netdev_close(netdev); +diff --git a/lib/netdev-linux.c b/lib/netdev-linux.c +index c316238cd5..765a07e355 100644 +--- a/lib/netdev-linux.c ++++ b/lib/netdev-linux.c +@@ -1061,8 +1061,7 @@ netdev_linux_construct_tap(struct netdev *netdev_) + + if (tap_supports_vnet_hdr + && ioctl(netdev->tap_fd, TUNSETOFFLOAD, oflags) == 0) { +- netdev_->ol_flags |= (NETDEV_TX_OFFLOAD_IPV4_CKSUM +- | NETDEV_TX_OFFLOAD_TCP_CKSUM ++ netdev_->ol_flags |= (NETDEV_TX_OFFLOAD_TCP_CKSUM + | NETDEV_TX_OFFLOAD_UDP_CKSUM); + + if (userspace_tso_enabled()) { +@@ -2510,13 +2509,11 @@ netdev_linux_set_ol(struct netdev *netdev_) + char *string; + uint32_t value; + } t_list[] = { +- {"tx-checksum-ipv4", NETDEV_TX_OFFLOAD_IPV4_CKSUM | +- NETDEV_TX_OFFLOAD_TCP_CKSUM | ++ {"tx-checksum-ipv4", NETDEV_TX_OFFLOAD_TCP_CKSUM | + NETDEV_TX_OFFLOAD_UDP_CKSUM}, + {"tx-checksum-ipv6", NETDEV_TX_OFFLOAD_TCP_CKSUM | + NETDEV_TX_OFFLOAD_UDP_CKSUM}, +- {"tx-checksum-ip-generic", NETDEV_TX_OFFLOAD_IPV4_CKSUM | +- NETDEV_TX_OFFLOAD_TCP_CKSUM | ++ {"tx-checksum-ip-generic", NETDEV_TX_OFFLOAD_TCP_CKSUM | + NETDEV_TX_OFFLOAD_UDP_CKSUM}, + {"tx-checksum-sctp", NETDEV_TX_OFFLOAD_SCTP_CKSUM}, + {"tx-tcp-segmentation", NETDEV_TX_OFFLOAD_TCP_TSO}, +@@ -7203,13 +7200,6 @@ netdev_linux_prepend_vnet_hdr(struct dp_packet *b, int mtu) + /* The packet has good L4 checksum. No need to validate again. */ + vnet->csum_start = vnet->csum_offset = (OVS_FORCE __virtio16) 0; + vnet->flags = VIRTIO_NET_HDR_F_DATA_VALID; +- +- /* It is possible that L4 is good but the IPv4 checksum isn't +- * complete. For example in the case of UDP encapsulation of an ARP +- * packet where the UDP checksum is 0. */ +- if (dp_packet_hwol_l3_csum_ipv4_ol(b)) { +- dp_packet_ip_set_header_csum(b, false); +- } + } else if (dp_packet_hwol_tx_l4_checksum(b)) { + /* The csum calculation is offloaded. */ + if (dp_packet_hwol_l4_is_tcp(b)) { diff --git a/ofproto/ofproto-dpif-xlate.c b/ofproto/ofproto-dpif-xlate.c index 850597b3a4..7506ab5371 100644 --- a/ofproto/ofproto-dpif-xlate.c diff --git a/SPECS/openvswitch3.4.spec b/SPECS/openvswitch3.4.spec index 9c0c9f6..b825684 100644 --- a/SPECS/openvswitch3.4.spec +++ b/SPECS/openvswitch3.4.spec @@ -57,7 +57,7 @@ Summary: Open vSwitch Group: System Environment/Daemons daemon/database/utilities URL: http://www.openvswitch.org/ Version: 3.4.0 -Release: 0.4%{?dist} +Release: 0.5%{?dist} # Nearly all of openvswitch is ASL 2.0. The bugtool is LGPLv2+, and the # lib/sflow*.[ch] files are SISSL @@ -770,6 +770,12 @@ exit 0 %endif %changelog +* Wed Aug 14 2024 Open vSwitch CI - 3.4.0-5 +- Merging upstream branch-3.4 [RH git: e7581779a5] + Commit list: + cb121f4ea1 netdev-linux: Do not offload IP checksum. + + * Mon Aug 12 2024 Open vSwitch CI - 3.4.0-4 - Merging upstream branch-3.4 [RH git: 581e76e784] Commit list: