diff options
-rw-r--r-- | MAINTAINERS | 1 | ||||
-rw-r--r-- | docs/spelling_wordlist.txt | 1445 | ||||
-rw-r--r-- | docs/usecases/vpp_testbench/index.rst | 11 | ||||
-rw-r--r-- | src/vnet/ip/reass/reassembly.rst | 10 |
4 files changed, 740 insertions, 727 deletions
diff --git a/MAINTAINERS b/MAINTAINERS index 21379a02244..e24d077b540 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -41,6 +41,7 @@ F: src/vnet/bonding/ Sphinx Documents I: docs M: John DeNisco <jdenisco@cisco.com> +M: Dave Wallace <dwallacelf@gmail.com> F: docs/ Infrastructure Library diff --git a/docs/spelling_wordlist.txt b/docs/spelling_wordlist.txt index 53f34c50fd1..2e39e2b8301 100644 --- a/docs/spelling_wordlist.txt +++ b/docs/spelling_wordlist.txt @@ -1,757 +1,247 @@ -AArch -ACK -ACL -ACLs -API -ASan -Aarch -Agg -Ajourn -Ananyev -govpp -unserialization -archs -symlink -libmemf -libme -mif -pwait -tunnelling -ctx -efd -optimised -strerror -syscall -ligato -congruential -phc -Anycast -Arp -icmpr -pps -bc -midchain -Midchain -fmt -intfcs -libmemifs -gethostbyname -multithreading -sourceNATing -Mapp -Headend -pgm -retransmits -cheng -iccrg -filsfils -Datagram -syscalls -Altivec -memcpy -mmap -Warshall -XXhash -headend -Fortville -openbsd -zx -openbsd -Diffie -github -criterias -daddr -gettingstarted -Arping -Arping -Autogenerated -BGP -adaptively -Defensic aa -BIHASH -BV -Backtrace -allocatable -consumability -Usermode -isn -shouldn -combinatorial -ufwd -Barach -Bfd -receival -ap -Bihash -emphasise -Bihashes -neighbouring -Brockners -LimitCORE -eXtensible aabb -aftr -Recircs -Bufmon -iPv -Builtinurl -deallocation -nonaddress -CMakeLists -CNat -CPPFLAGS -Castelino -Centos -efp -preallocation -Cisco -Clib -Cmake -Cnat -ufwd -runit -rulebase -seatbelt -iWARP -strongswan -unapplies -subgraphs -Codenomicon -eeff -unapply -analyse -Colour -subdirectories -Comms -srcIP -Config -unreachables -ager -ConnectX -str -undirected -Contiv -reselects -Coras -unmanaged -Coredumps -Coverity -Crypto -Cryptodev -DS -DSR -Dataplane -Dataplanes -Debuginfo -Decapsulating -Dest -Diffs -Distro -Donley -Doxygen -Eifel -Encaps -Enqueueing -Enums -Erns -Extranets -FiB -Flowprobe -GByte -GTP -GbE -Gbe -Gbits -Gbps -Gbytes -Geneve -Gerrit -GigE -Gigabit -Github -Goncalves -Gzip -HQoS -Heapsize -Hotkeys -Huawei -Hypervisors -IBverbs -IKEv2 -IP -IPsec -IPv -IPv4 -Ikev -Init -Instantiation -Integrations -Interoperation -Iperf -Jira -KMG -KOC -KVP -programmability -decapsulate -pseudocode -libsrtp -upf -Konstantynowicz -Kube -Kubeadm -Kubelet -Kubernetes -L3XC -LB -LDFLAGS -LLDP -Linuxcon -Lldp -balancer -balancers -Lockless -Loopback -Lua -encap -Luajit -MPLS -MPLS -Maciek -Makefile -Makefiles -Manohar -Maryam -Mbytes -Mdata -Mellanox -Memif -Metadata -Mfib -Monroy -Mpps -Mss -Multicast -Multicore -Multihoming -Multiqueue -Multistream -Multitenancy -Mutlithreading -NIC -llist -NSH -NUMA -Namespace -mrvl -mempool -localsids -msgbuf -logrotate -auditd -ndp -neighbour -modularity -masse -snapcraft -tgz -lcov -cd -gcovr -ggcov -Bn -Cn -unmounting -sealert -ausearch -semodule -Snapcraft -multipass -awk -ldpreload -iPerf -xterms -ps -centos -statfs -proc -unmounts -unmount -fs -mountpoint -statSocket -Unmounting -fusermount -Golang -setUp -tearDown -Stdout -stdout -testcase -unittest -TestVxlan -UNUP -pton -infos -papi -setUpClass -nelts -portranges -wasn -wi -xcrw -xcrw -xtr -includedir -iface -realised -interoperation -Infiniband -Inband -woohoo -inex -inet -instantiation -libibverb -lc -jitter -incrementing -libvppapiclient -linearization -recurse -recirc -teib -th -srcPortDefinition -srcUP -ssm -spinlock -te -recode -srh -stderr -sha -sys -conn -sv -iWARP -et -handoffdemo -syscfg -hbh -timebase -gtp -fbfc -tmpl -preprocessor -fixup -psp -fmask -extranet -spd -DT -DX -undefine -aren -subgraph -expander -encaps -backwalk -ccdd -cdbdec -centric -cdba -cfd -cksum -reallocations -preload -reachability -rdtsc -putatively -ppc -pitr -pmtu -rekeying -requeueing -requeued -recusive -requeue -resolvers -recurse -recurses -ress -rloc -rr -rxandtx -runnable -scrollbars -scrollbar -tw -typedef -wouldn -zeroize -untagged -upstreamed -vectorized -vfr -vtf -pbb -petr -peerings -pathname -pipelined -parsable -parallelize -parallelizes -pipelining -netdev -noevaluate -onlink -outacl -preallocated -nexthop -nosyslog -nthrottle -nsess -Neighbour -nbr -nd -musdk -muppet -makefile -mult -Netmap -Netplan -mdata -mroute -Nsh -Nstrings -NxN -loopId -macos -O'Driscoll -OAM -Oddbuf -Openssl -subnets -Optimisations -PCI -PSP -Pcap -Perfmon -Performan -Pfister -Plugin -Plugins -Pnat -PoC -Policers -Pollable -Preallocate -Prebuilt -Promisc -Pseudocode -Qemu -QoS -rss -strongSwan -Quic -verifier -Quickstart -Load -RLOC -Reass -uri -alg -resync -pnat -membulk -uRPF -vr -proto -pmc -macip -unthrottle -liveness -sa -snat -vss -uncomment -Rebase -tmpfile -url -lt -eid -itr -rlocs -vip -vips -flowtable -lcp -rawhtml -myhugosite -www -Redhat -javascript -Refactor -Refactored -subdirectory -Responder -shortcodes -shortcode -Roadmap -Roto -SCHED_RR -hugo -SRTP -SRv -SRv6 -Scapy -Shamir -Shrikant -Slideshow -Specialisations -Srmpls -Srv -Stateful -Strongswan -Subnet -Subnets -Sw -Syslog -Systemd -TLS -TPv -TRex -Tahhan -Tahr -Templated -Tenant -Terabit -Terraform -Timebase -Tollet -Tracedump -Tsou -Tunnelling -UDP -Unformat -Uninstall -Uninstalling -Unittest -Urpf -Usergroup -Userspace -VM -VMs -VMware -VPP -VPP -VRF -VRF -Vagrantfile -Vagrantfiles -Valgrind -Vbox -Vhost -Virtio -Virtualization -Vlib -Vmxnet -Vnet -Vpp -Vppinfra -Vrrp -Vswitch -Vxlan -Warnicke -Webinar -Wiki -Wikipedia -Wireguard -Wireshark -Wl -Workstream -XXX -Xenial -Xeon -Xerus -Xtensa -Yaml -Zhao aarch +Aarch +AArch abf accelera +ACK acl +ACL +ACLs acyclic +adaptively addr +adjacencies adl admin af +aftr +ager +Agg +Ajourn al +alg alloc +allocatable allocator allowlist +Altivec amine +analyse +Ananyev ansi +Anycast +ap +ap api +API +apis apiTrace app apps +archs +aren arg args arp +Arp arping +Arping +Arping +ASan async atomics +auditd +ausearch auth autoconf autoconfig autoconfiguration autodetect +Autogenerated automake autoreconf autotools avf avl avx +awk ba backend backends +backpressure backtrace +Backtrace backtracing +backwalk +balancer +balancers +Barach baseva +bb +bc bd behaviour bfd +Bfd +BGP bift bigly bihash bihash +Bihash +BIHASH +Bihashes binutils bitmask bitzero blackholing blake bms +Bn boolean bootup +Brockners bsid bss bufferindex bufmon +Bufmon bugfixing buildingrst builtin builtinurl +Builtinurl busybox +BV bvi byteswap -cPython cacheline +callees +Castelino ccache +ccdd ccmake +cd +cdba +cdbdec cdp ce +centos +Centos +centric +cfd cfssl +chachapoly +cheng cisco +Cisco cj +cksum classful cli clib +Clib cmake +Cmake +CMakeLists cmd +Cn +cnat +Cnat +CNat +Codenomicon +Colour +combinatorial +Comms condvar conf config +Config +configs +congruential +conn connectable +ConnectX +consumability contiv +Contiv +controlplane copwhitelist copwhtlistbase +Coras coredump -macswap -datagrams -plen coredumps -refcount +Coredumps corefile corefiles -usecases corekeeper corelist -fff -middlebox -backpressure -ruleset -lookups -callees -dstIP -dstPortDefinition -promisc -netfilter -multiprotocol -pluggable -eBPF -libbpf -hostname -xffb -lpc -ec -adjacencies -neighbours -pluggable -lagrange -reass -lw -desc -dscp -apis -verboseness -controlplane -utilisation -dsr coremask couldn -mfib -params +Coverity cp -ei -det cpel -decaps -datapath -daemontools -daemonizing -decapsulating -decapsulated cpp +CPPFLAGS cpu +cPython crc -syntaxes -urpf crcs +crit +criterias crt crypto +Crypto cryptodev +Cryptodev +cryptographic ctrl ctwo +ctx +daddr +daemonizing +daemontools +Datagram +datagrams +datapath dataplane +Dataplane +Dataplanes datastructures dbg de +deallocation debian +debootstrap debuggability +Debuginfo decap +decaps +decapsulate +decapsulated +decapsulating +Decapsulating decapsulation declutters +decrementing +decrypt +decrypted +Defensic del demux demuxes dep depN +deps +dequeue +deregister +desc deselection dest +Dest +det dev devbind df @@ -759,201 +249,289 @@ dhcp dhcp dhcpd dhcpserver +dhcpv +Diffie +Diffs dir dirN +disp distclean distro +Distro distros dlsym dns dnsmasq +Dockerfile +dockerignore doesn +Donley dont +DoS doxygen +Doxygen +dpd dpdk dpkg dpo dport dryrun +DS +dscp dslite +dsr +DSR dst +dstIP +dstPortDefinition +DT dumpxml -eBGP +DX +e.g. eal +eb +eBGP +eBPF +ec +ee +eeff +efd +efp +ei +eid +Eifel elog elogs elts emacs emerg +emphasise enablement encap +encap +encaps +Encaps endian enic enp enqueue enqueued enqueueing +Enqueueing enqueues +entrypoint enums +Enums eos epoll +Erns +et etcd +eth ethernet ethertype ethip eventfd evt executables +expander extensibility +eXtensible +extranet +Extranets failover fallback favour favoured favours +fbfc fd fdioDocs +fff +FiB fifo fifos filesystem +filsfils +fixup flavours flowendns flowprobe +Flowprobe flowstartns +flowtable +fmask +fmt fn foo fooA fooB fooC foreach +Fortville +fs +fusermount +Gbe +GbE gbit -responder -cryptographic -tabula -srv -nsh -xc +Gbits gbp +Gbps +GByte +Gbytes gcc gcov -lxd -testbed -https -configs -zfs -workspaces -mss -oddbuf -srtp -svs -tlspicotls -picotls -respondhost -initiatehost -eth -pem -dhcpv -subnet -debootstrap -sharepoint -deps +gcovr gdb ge +geneve +Geneve gerrit +Gerrit +gethostbyname gettingsources +gettingstarted +ggcov gid -marvell -lldp -geneve -openssl -ipsecmb -cnat -xdp -runtime -ikev -ioam -http -hs -runtime -DoS -chachapoly +Gigabit +GigE +github +Github glibc gmake -libc -tracedump -urpf -wireguard +Golang +Goncalves +govpp gpe gre grep grepping growable gso +gtp +GTP gtpu gud gui +Gzip hairpinning handoff +handoffdemo handoffs hashtable +hbh hdr +headend +Headend heapsize -hostNetwork +Heapsize +hostname hostnames +hostNetwork hoststack hotkey +Hotkeys hpp hqos +HQoS +hs hsa +hsi html htop +http +https +Huawei hugepage hugepages hugetlb +hugo hw hyperlink hypervisor -iACL -iAcl -iBGP -iOAM +Hypervisors +i.e. ia iacl +iAcl +iACL +iBGP ibverb +IBverbs +iccrg icmp +icmpr +ietf +iface ifndef igb igmp +ikev +Ikev +IKEv2 ila imix inacl +Inband +includedir +incrementing indices indicies +inet +inex +Infiniband +infos ing init +Init +initiatehost inline inlines +instantiation +Instantiation +Integrations intel internet +interoperation +Interoperation interworkings intfc +intfcs io +ioam +iOAM iommu ip -ipN -ipX +IP ipaddress iperf +iPerf +Iperf ipfix ipip +ipN ipsec +IPsec +ipsecmb iptables ipv +iPv +IPv +IPv4 +ipX isc +isn isra itf ith +itr +iWARP +iWARP ixgbe ixge +javascript +Jira +jitter jsmith jsmithuser json @@ -963,358 +541,793 @@ kbps keepalives keychain kflows +KMG kni +KOC +Konstantynowicz ksr kube +Kube kubeadm +Kubeadm kubectl kubelet +Kubelet kubeproxy kubernetes +Kubernetes kv +KVP +L3XC labelled lacp +lagrange +LB +lc +lcov +lcp ld +LDFLAGS ldp +ldpreload learnt len +libbpf +libc libdir libfoo +libibverb +libme +libmemf libmemif +libmemifs +libsrtp libvirt +libvppapiclient +ligato +LimitCORE +linearization +linearize linting linux linuxapp +Linuxcon +liveness +lldp +Lldp +LLDP +llist +Load localhost localsid +localsids +Lockless +logrotate longjmp +lookups loopback +Loopback +loopId +lpc lshw lstack +lt lua +Lua +Luajit +lw lxc -mFIB -mIn +lxd +Maciek +macip +macos +macswap mactime +maglev mainp +makefile +Makefile +Makefiles malloc +Manohar +Mapp +marvell +Maryam +masse maximise mb mbedtls mbit mbufs +Mbytes mc md +mdata +Mdata +Mellanox mem +membulk +memcpy memfd memif +Memif +mempool metadata +Metadata mf +mfib +mFIB +Mfib mheap +midchain +Midchain +middlebox +mif +mIn mispositions misprograms mk mldv +mmap modelled modernisation +modularity +Monroy mortem +mountpoint mpls +MPLS +MPLS mpps +Mpps +mroute +mrvl msg +msgbuf +mss +Mss mtrie mtu +mult multiarch multicast +Multicast +Multicore +Multihoming +multipass multipath +multiprotocol multiqueue +Multiqueue +Multistream +Multitenancy +multithreading +muppet +musdk mutex +Mutlithreading myapp mygcc +myhugosite myplugin -nBackingPages -nBytes namespace +Namespace namespaces nat +natively nats natted +nBackingPages +nbr nbytes +nBytes +nd +ndp ndrpdr +neighbour +Neighbour +neighbouring +neighbours +nelts netcfg +netdev +netfilter netlink netmap +Netmap netplan +Netplan +nexthop nginx +NIC nitems +nl nn nnn nodaemon +noevaluate +nonaddress +nosyslog ns +nsess +nsh +Nsh +NSH nsim +Nstrings +nthrottle nullptr num numa +NUMA +NxN +O'Driscoll oacl oam +OAM +oddbuf +Oddbuf offline ofr online +onlink ooo +openbsd +openbsd +openssl +Openssl openSUSE +operationalize +Optimisations +optimised os +outacl packagecloud +papi +parallelize +parallelizes +param +params +parsable passthrough passwordless +pathname +pbb pcap +Pcap pci +PCI pe +peerings +pem perf perfmon +Perfmon +Performan perror +petr +Pfister pfSense +pgm +phc phoneycomponent physmem +picotls pid pidfile pifi +pipelined +pipelining +pitr pktgen +plen +pluggable +pluggable plugin +Plugin plugins +Plugins pmalloc +pmc +pmtu +pnat +Pnat +PoC podSubnet policer +Policers +Pollable +portranges poweroff +ppc pppoe +pps pre +Preallocate +preallocated +preallocation +Prebuilt preceed preconfigured prefetch prefetching +preload prepend prepended +preprocessor printf priv +proc +programmability programme prometheus +promisc +Promisc +proto proxying +ps +pseudocode +Pseudocode +psp +PSP pthread pthreads +pton pushingapatch +putatively +pwait py pypi qemu +Qemu qos +QoS qs qsz quic +Quic +Quickstart quicly rasa +rawhtml rbtree rc rdma -reStructured -reStructuredText +rdtsc +reachability realcomponent realisation realise +realised +reallocations realsource +reass +Reass +reassemblies rebase +Rebase +receival +recirc +Recircs +recode recognised +recurse +recurse +recurses +recusive +Redhat refactor +Refactor refactored +Refactored +refcount regex reinjected +rekeying repo repos +requeue +requeued +requeueing +reselects +resolvers +responder +Responder +respondhost +ress restack +reStructured +reStructuredText +resync +retransmits rfc rint +rloc +RLOC +rlocs +Roadmap +Roto rpath +rr rsa +rss rst +rulebase +ruleset +runit +runnable +runtime +runtime rwlocks rx -sN +rxandtx +sa sbin scalable scanf scapy +Scapy +SCHED_RR sclass scooby screenshot +scrollbar +scrollbars sctp +sealert +seatbelt seg segfault selinux +semodule setjmp settingupenvironment +setUp +setUpClass sfr +sha +Shamir +sharepoint shg shm +shortcode +shortcodes +shouldn +Shrikant signalling sixrd sizeable sl +Slideshow +sN +snapcraft +Snapcraft snapshoot +snat socketsvr socksvr +sourceNATing +spd +Specialisations +spinlock spinlocks sr src +srcIP +srcPortDefinition +srcUP +srh +Srmpls +srtp +SRTP +srv +Srv +SRv +SRv6 sshd ssl +ssm stateful +Stateful +statfs statseg +statSocket +stderr stdin +stdout +Stdout stl stn +str +strerror +strongswan +strongSwan +Strongswan struct su +subdirectories +subdirectory subfolder subfolders +subgraph +subgraphs +subint subinterface subinterfaces +subnet +Subnet +subnets +Subnets +substring sudo +superset +sv svm +svs sw +Sw +symlink +syntaxes +sys +syscall +syscalls +syscfg sysctl sysfs syslog +Syslog systemd +Systemd sz +tabula +Tahhan +Tahr tapcli tcp tcpcontrolbits +te teardown +tearDown ted +teib +Templated +Tenant tep +Terabit +Terraform +testbed +testbench +testcase +TestVxlan +tgz +th threadLeave threadplacement tid +timebase +Timebase timestamp tls +TLS tlsmbedtls tlsopenssl +tlspicotls tmp +tmpfile +tmpl +Tollet toolchain toolchains tos tp +tps tpv +TPv +tracedump +Tracedump +TRex +Tsou ttl +tunnelling +Tunnelling tuntap +tw twovppinstances tx txt +typedef ubuntu udp +UDP +ufwd +ufwd uid uio un +unapplies +unapply +uncomment +undefine +undirected unformat +Unformat unicast uninstall +Uninstall uninstalled +Uninstalling +unittest +Unittest unix +unmanaged +unmount +unmounting +Unmounting +unmounts +unreachables unrouteable +unserialization unserialize unserializing +untagged untaint +unthrottle +UNUP unwires +upf upgradability upgradable +upstreamed +uri +url +urpf +urpf +uRPF +Urpf usec +usecases usergroup +Usergroup +Usermode username userspace +Userspace usr +utilisation uu -vHost -vRouter -vRouters -vSwitch -vSwitches -vTEP va +Vagrantfile +Vagrantfiles +Valgrind vapi +Vbox vcl ve vec +vectorized +verboseness +verifier versioning veth vethQL vfctl vfio +vfr vft vhost +vHost +Vhost +vip +vips virsh virtio +Virtio virtualchnl virtualenv virtualization +Virtualization virtualized vl vlan vlib +Vlib vlibapi vlibmemory vls vm +VM +VMs vmware +VMware vmx vmxnet +Vmxnet vnet -ap +Vnet vom vpe vpn vpp +Vpp +VPP +VPP vppapigen vppapitrace vppcapture -bb vppctl vppinfra +Vppinfra vpppinfra vpps -crit -eb -ee vpptrace +vr vrf +VRF +VRF vrouter +vRouter +vRouters vrrp -decrementing +Vrrp +vss vswitch +vSwitch +Vswitch vswitches +vSwitches +vTEP +vtf vxlan +Vxlan walkthrough -dequeue -dpd -disp +Warnicke +Warshall +wasn +Webinar webpage -substring -decrypted -decrypt -deregister -superset whitelist whitelisting whitelists +wi wiki -ietf +Wiki +Wikipedia +wireguard +Wireguard wireshark -xFFFFFFFF -xTR +Wireshark +Wl +woohoo +workspaces +Workstream +wouldn +www +xc xchain xconnect +xcrw +xcrw +xdp +Xenial +Xeon +Xerus +xffb +xFFFFFFFF +Xtensa +xterms +xtr +xTR +XXhash xxx +XXX xyz yaml +Yaml yyy +zeroize +zfs +Zhao zoomin zoomout +zx µs -e.g. -i.e. -operationalize
\ No newline at end of file diff --git a/docs/usecases/vpp_testbench/index.rst b/docs/usecases/vpp_testbench/index.rst index 744fa864766..f79bd7c9031 100644 --- a/docs/usecases/vpp_testbench/index.rst +++ b/docs/usecases/vpp_testbench/index.rst @@ -10,7 +10,7 @@ back-and-forth (i.e. ICMP echo/ping requests and HTTP GET requests). The intent of this example is to provide a relatively simple example of connecting containers via VPP and allowing others to use it as a springboard of sorts for their own projects and examples. Besides Docker and a handful of -common Linux command-line utlities, not much else is required to build this +common Linux command-line utilities, not much else is required to build this example (due to most of the dependencies being lumped inside the containers themselves). @@ -60,7 +60,7 @@ project. other scripts in this project. Intended to be sourced (i.e. not intended to be run directly). Some of the helper functions are used at run-time within the containers, while others are intended to be run in the default namespace - on the host operating system to help with run-time configuration/bringup of + on the host operating system to help with run-time configuration/bring up of the testbench. * ``Dockerfile.vpp_testbench``: used to build the various Docker images used in this project (i.e. so VPP, our test tools, etc.; are all encapsulated within @@ -81,7 +81,7 @@ Getting Started ^^^^^^^^^^^^^^^ First, we'll assume you are running on a Ubuntu 20.04 x86_64 setup (either on a -bare metal host or in a virtual machine), and have acquirec a copy of the +bare metal host or in a virtual machine), and have acquired a copy of the project files (either by cloning the VPP git repository, or duplicating them from :ref:`sec_file_listings_vpp_testbench`). Now, just run ``make``. The process should take a few minutes as it pulls the baseline Ubuntu Docker image, @@ -96,11 +96,11 @@ can be cleaned-up via ``make stop``, and the whole process of starting, testing, stopping, etc.; can be repeated as needed. In addition to starting up the containers, ``make start`` will establish -variaous types of links/connections between the two containers, making use of +various types of links/connections between the two containers, making use of both the Linux network stack, as well as VPP, to handle the "plumbing" involved. This is to allow various types of connections between the two containers, and to allow the reader to experiment with them (i.e. using -``vppctl`` to congfigure or trace packets going over VPP-managed links, use +``vppctl`` to configure or trace packets going over VPP-managed links, use traditional Linux command line utilities like ``tcpdump``, ``iproute2``, ``ping``, etc.; to accomplish similar tasks over links managed purely by the Linux network stack, etc.). Later labs will also encourage readers to compare @@ -177,4 +177,3 @@ entrypoint_server.sh :caption: entrypoint_server.sh :language: shell :linenos: - diff --git a/src/vnet/ip/reass/reassembly.rst b/src/vnet/ip/reass/reassembly.rst index d6861ed8a05..49e0a8de6e6 100644 --- a/src/vnet/ip/reass/reassembly.rst +++ b/src/vnet/ip/reass/reassembly.rst @@ -20,14 +20,14 @@ impractical to parse headers which are split over multiple vnet buffers, vnet_buffer_chain_linearize() is called after reassembly so that L2/L3/L4 headers can be found in first buffer. Full reassembly is costly and shouldn't be used unless necessary. Full reassembly is by -default enabled for both ipv4 and ipv6 traffic for "forus" traffic +default enabled for both ipv4 and ipv6 "for us" traffic - that is packets aimed at VPP addresses. This can be disabled via API -if desired, in which case "forus" fragments are dropped. +if desired, in which case "for us" fragments are dropped. 2. Shallow (virtual) reassembly allows various classifying and/or translating features to work with fragments without having to understand fragmentation. It works by extracting L4 data and adding -them to vnet_buffer for each packet/fragment passing throught SVR +them to vnet_buffer for each packet/fragment passing through SVR nodes. This operation is performed for both fragments and regular packets, allowing consuming code to treat all packets in same way. SVR caches incoming packet fragments (buffers) until first fragment is @@ -42,7 +42,7 @@ Multi-worker behaviour Both reassembly types deal with fragments arriving on different workers via handoff mechanism. All reassembly contexts are stored in pools. Bihash mapping 5-tuple key to a value containing pool index and thread -index is used for lookups. When a lookup finds an existing reasembly on +index is used for lookups. When a lookup finds an existing reassembly on a different thread, it hands off the fragment to that thread. If lookup fails, a new reassembly context is created and current worker becomes owner of that context. Further fragments received on other worker @@ -64,7 +64,7 @@ fragments per packet. Custom applications ^^^^^^^^^^^^^^^^^^^ -Both reassembly features allow to be used by custom applicatind which +Both reassembly features allow to be used by custom application which are not part of VPP source tree. Be it patches or 3rd party plugins, they can build their own graph paths by using "-custom*" versions of nodes. Reassembly then reads next_index and error_next_index for each |