gro: use IPv6 address structureUpdate tcp6_flow_key to use rte_ipv6_addr structures instead ofuint8_t[16] arrays.Signed-off-by: Robin Jarry <rjarry@redhat.com>
version: 24.11-rc0Start a new release cycle with empty release notes.The ABI version becomes 25.0.The map files are updated to the new ABI major number (25).The ABI exceptions are dropped and C
version: 24.11-rc0Start a new release cycle with empty release notes.The ABI version becomes 25.0.The map files are updated to the new ABI major number (25).The ABI exceptions are dropped and CI ABI checks are disabled becausecompatibility is not preserved.Signed-off-by: David Marchand <david.marchand@redhat.com>Acked-by: Thomas Monjalon <thomas@monjalon.net>
show more ...
gro: fix reordering of packetsIn the current implementation when a packet is received withspecial TCP flag(s) set, only that packet is delivered out of order.There could be already coalesced pack
gro: fix reordering of packetsIn the current implementation when a packet is received withspecial TCP flag(s) set, only that packet is delivered out of order.There could be already coalesced packets in the GRO tablebelonging to the same flow but not delivered.This fix makes sure that the entire segment is delivered with thespecial flag(s) set which is how the Linux GRO is also implemented.Fixes: 0d2cbe59b719 ("lib/gro: support TCP/IPv4")Cc: stable@dpdk.orgSigned-off-by: Kumara Parameshwaran <kumaraparamesh92@gmail.com>Reviewed-by: Jiayu Hu <hujiayu.hu@foxmail.com>
gro: use mbuf API for offset additionReplace explicit packet offset computations with rte_pktmbuf_mtod_offset().Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>Acked-by: Chengwen Fe
gro: use mbuf API for offset additionReplace explicit packet offset computations with rte_pktmbuf_mtod_offset().Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>Acked-by: Chengwen Feng <fengchengwen@huawei.com>
version: 23.11-rc0Start a new release cycle with empty release notes.The ABI version becomes 24.0.The map files are updated to the new ABI major number (24).The ABI exceptions are dropped and C
version: 23.11-rc0Start a new release cycle with empty release notes.The ABI version becomes 24.0.The map files are updated to the new ABI major number (24).The ABI exceptions are dropped and CI ABI checks are disabled becausecompatibility is not preserved.The telemetry and vhost libraries compat code is cleaned up in nextcommits.Signed-off-by: David Marchand <david.marchand@redhat.com>Acked-by: Bruce Richardson <bruce.richardson@intel.com>
gro: support IPv6 for TCPAdd support for IPv6 GRO for TCP packets.Signed-off-by: Kumara Parameshwaran <kumaraparamesh92@gmail.com>Reviewed-by: Jiayu Hu <jiayu.hu@intel.com>
gro: refactor IPv4 to prepare for IPv6Refactor the existing code to reuse data strutures and functionsto add support for IPv6 GRO.Signed-off-by: Kumara Parameshwaran <kumaraparamesh92@gmail.com>
gro: refactor IPv4 to prepare for IPv6Refactor the existing code to reuse data strutures and functionsto add support for IPv6 GRO.Signed-off-by: Kumara Parameshwaran <kumaraparamesh92@gmail.com>Reviewed-by: Jiayu Hu <jiayu.hu@intel.com>
gro: check payload length after trimWhen packet is padded with extra bytes thethe validation of the payload length should be doneafter the trim operationFixes: b8a55871d5af ("gro: trim tail pad
gro: check payload length after trimWhen packet is padded with extra bytes thethe validation of the payload length should be doneafter the trim operationFixes: b8a55871d5af ("gro: trim tail padding bytes")Cc: stable@dpdk.orgSigned-off-by: Kumara Parameshwaran <kumaraparamesh92@gmail.com>Acked-by: Jiayu Hu <jiayu.hu@intel.com>
gro: trim tail padding bytesExclude CRC fields, the minimum Ethernet packetlength is 60 bytes. When the actual packet lengthis less than 60 bytes, padding is added to the tail.When GRO is perfor
gro: trim tail padding bytesExclude CRC fields, the minimum Ethernet packetlength is 60 bytes. When the actual packet lengthis less than 60 bytes, padding is added to the tail.When GRO is performed on a packet containing a paddingfield, mbuf->pkt_len is the one that contains thepadding field, which leads to the error of thinkingof the padding field as the actual content of the packet.We need to trim away this extra padding field duringGRO processing.Fixes: 0d2cbe59b719 ("lib/gro: support TCP/IPv4")Cc: stable@dpdk.orgSigned-off-by: Jun Qiu <jun.qiu@jaguarmicro.com>Acked-by: Jiayu Hu <Jiayu.hu@intel.com>
gro: fix chain index for more than 2 packetsWhen more than two packets are merged in a flow, and if we receivea 3rd packet which is matching the sequence of the 2nd packet theprev_idx will be 1 a
gro: fix chain index for more than 2 packetsWhen more than two packets are merged in a flow, and if we receivea 3rd packet which is matching the sequence of the 2nd packet theprev_idx will be 1 and not 2, hence resulting in packet re-orderingSigned-off-by: Kumara Parameshwaran <kumaraparamesh92@gmail.com>Acked-by: Jiayu Hu <jiayu.hu@intel.com>
version: 22.11-rc0Start a new release cycle with empty release notes.The ABI version becomes 23.0.The map files are updated to the new ABI major number (23).The ABI exceptions are dropped and C
version: 22.11-rc0Start a new release cycle with empty release notes.The ABI version becomes 23.0.The map files are updated to the new ABI major number (23).The ABI exceptions are dropped and CI ABI checks are disabled becausecompatibility is not preserved.Special handling of removed drivers is also dropped in check-abi.sh anda note has been added in libabigail.abignore as a reminder.Signed-off-by: David Marchand <david.marchand@redhat.com>Acked-by: Thomas Monjalon <thomas@monjalon.net>
gro: fix identifying fragmented packetsA packet with RTE_PTYPE_L4_FRAG(0x300) contains both RTE_PTYPE_L4_TCP(0x100) & RTE_PTYPE_L4_UDP (0x200). A fragmented packet as defined inrte_mbuf_ptype.h c
gro: fix identifying fragmented packetsA packet with RTE_PTYPE_L4_FRAG(0x300) contains both RTE_PTYPE_L4_TCP(0x100) & RTE_PTYPE_L4_UDP (0x200). A fragmented packet as defined inrte_mbuf_ptype.h cannot be recognized as other L4 types and hence theGRO layer should not use IS_IPV4_TCP_PKT or IS_IPV4_UDP_PKT forRTE_PTYPE_L4_FRAG. Hence, if the packet type is RTE_PTYPE_L4_FRAG theIP header should be parsed to recognize the appropriate IP type andinvoke the respective gro handler.Fixes: 1ca5e6740852 ("gro: support UDP/IPv4")Cc: stable@dpdk.orgSigned-off-by: Kumara Parameshwaran <kumaraparamesh92@gmail.com>Reviewed-by: Jiayu Hu <jiayu.hu@intel.com>
lib: remove unneeded header includesThese header includes have been flagged by the iwyu_tooland removed.Signed-off-by: Sean Morrissey <sean.morrissey@intel.com>
net: rename Ethernet header fieldsDefinition of `rte_ether_addr` structure used a workaround allowing DPDKand Windows SDK headers to be used in the same file, because Windows SDKdefines `s_addr`
net: rename Ethernet header fieldsDefinition of `rte_ether_addr` structure used a workaround allowing DPDKand Windows SDK headers to be used in the same file, because Windows SDKdefines `s_addr` as a macro. Rename `s_addr` to `src_addr` and `d_addr`to `dst_addr` to avoid the conflict and remove the workaround.Deprecation notice:https://mails.dpdk.org/archives/dev/2021-July/215270.htmlSigned-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
version: 21.11-rc0Start a new release cycle with empty release notes.The ABI version becomes 22.0.The map files are updated to the new ABI major number (22).The ABI exceptions are dropped and C
version: 21.11-rc0Start a new release cycle with empty release notes.The ABI version becomes 22.0.The map files are updated to the new ABI major number (22).The ABI exceptions are dropped and CI ABI checks are disabled becausecompatibility is not preserved.Signed-off-by: Thomas Monjalon <thomas@monjalon.net>Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>Acked-by: David Marchand <david.marchand@redhat.com>
lib: remove librte_ prefix from directory namesThere is no reason for the DPDK libraries to all have 'librte_' prefix onthe directory names. This prefix makes the directory names longer and alsom
lib: remove librte_ prefix from directory namesThere is no reason for the DPDK libraries to all have 'librte_' prefix onthe directory names. This prefix makes the directory names longer and alsomakes it awkward to add features referring to individual libraries in thebuild - should the lib names be specified with or without the prefix.Therefore, we can just remove the library prefix and use the library'sunique name as the directory name, i.e. 'eal' rather than 'librte_eal'Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>