Skip to content

Support fragmentation and reassembly#8059

Merged
xiaoxiang781216 merged 1 commit into
apache:masterfrom
luojun1234:master
Jan 17, 2023
Merged

Support fragmentation and reassembly#8059
xiaoxiang781216 merged 1 commit into
apache:masterfrom
luojun1234:master

Conversation

@luojun1234

@luojun1234 luojun1234 commented Jan 9, 2023

Copy link
Copy Markdown
Contributor

Summary

Add fragment reassembly function

Impact

  1. Support IPv4 and IPv6 networks;
  2. There is no limit to the number of sockets, supports multiple network card environments;
  3. Support IOB offload feature, try to avoid and reduce data copying in the process of fragmentation and reassembly;
  4. Reassembly cache management. When the Buffer Size used by the cached fragmented data packets exceeds the configured threshold, part of the cache buffer will be released;
  5. Support fragment L3 forwarding.

Testing

  1. ping and ping6 test(with a payload larger than MTU)
    ping -s 3500 -c 1000 IPAddr(the ipv4 address of the gateway)
    ping -s 4000 -c 100 IPAddr(the ipv4 address of another nuttx simulator)
    ping6 -s 3000 -c 100 IPAddr(the ipv6 address of another nuttx simulator)
  2. Iperf2 udp test
    Simulator 1: iperf2 -u -s -i 1 -V
    Simulator 2: iperf2 -u -c fc00::2 -V -l 4000 -t 5 -i 1 -d

Comment thread include/nuttx/net/icmp.h Outdated
Comment thread include/nuttx/net/ipv6ext.h
Comment thread net/devif/devif_poll.c
Comment thread net/ipfrag/Kconfig Outdated
Comment thread net/ipfrag/Kconfig Outdated
Comment thread net/ipfrag/ipfrag.c Outdated
Comment thread net/ipfrag/ipfrag.c Outdated
Comment thread net/ipfrag/ipfrag.c Outdated
Comment thread net/ipfrag/ipfrag.c Outdated
Comment thread net/ipfrag/ipfrag.c
Comment thread net/ipfrag/ipfrag.c Outdated
Comment thread net/ipfrag/ipfrag.c Outdated
Comment thread net/ipfrag/ipfrag.c Outdated
Comment thread net/ipfrag/ipfrag.c Outdated
Comment thread net/ipfrag/ipfrag.c Outdated
Comment thread net/ipfrag/ipfrag.c Outdated
Comment thread net/ipfrag/ipfrag.c Outdated
Comment thread net/ipfrag/ipfrag.c Outdated
Comment thread net/ipfrag/ipfrag.h Outdated
Comment thread net/ipfrag/ipfrag.h Outdated
@luojun1234 luojun1234 force-pushed the master branch 2 times, most recently from 220ded7 to 36b8836 Compare January 14, 2023 16:09
Signed-off-by: luojun1 <luojun1@xiaomi.com>
@xiaoxiang781216 xiaoxiang781216 merged commit ff3733b into apache:master Jan 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants