From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 65F76A034F; Fri, 12 Nov 2021 18:02:09 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id F1691410E3; Fri, 12 Nov 2021 18:02:08 +0100 (CET) Received: from mail-qk1-f182.google.com (mail-qk1-f182.google.com [209.85.222.182]) by mails.dpdk.org (Postfix) with ESMTP id 2699B40692 for ; Fri, 12 Nov 2021 18:02:08 +0100 (CET) Received: by mail-qk1-f182.google.com with SMTP id d2so4789059qki.12 for ; Fri, 12 Nov 2021 09:02:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iol.unh.edu; s=unh-iol; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=4VMVPqQXjmPGx+Rvj74FjsYRR73cu3Wuus/EuHcULKA=; b=ZXW0ECB8buk/tgelWRxn0fy+igZfUGPrA32wBUwxsbGLO6LFWPdJ6Ua14/HCQEExVY UD1BHdM1gMET+9q00ZwwCoMGd53WHvNpmiKqt4xnY5QVQBHWxPbK59q7Fyt0z6Sy4cw6 smdZJN1DFHjGpsD9KeWppHeZQYufSd0PxKJqQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=4VMVPqQXjmPGx+Rvj74FjsYRR73cu3Wuus/EuHcULKA=; b=K4Z3JB2cvV0JzcONyCvLLsoZO71dg0FT7Rpw3IzixDUuToZQ7YmNZNpHoDRM4I7tti 2OllXDGoPPeBR3O6dridwo27knlfn5+J6Y2JVc7kHZLLwf8YaWfMqQOzWdT93u5a+DP2 KYhJ8hxh/f1n8SWxEm5g4wLjM1GQ+bKcZBKyE8r3yGW8v6zwiGoCU8AID8ryVrslrQJU XkqGW04U4r1DtD74FmDKHVQmhDYKuJsqtCvGW9xRSIycuw6cNx9gE/KGDferp+LFjOpu L0Yo9uL9UBpyT6zhSt1yGUfNVywJt9FJT8S5sQYw6hCIJmWd0jbj0Ott6gkSFxNXgBtD qGPA== X-Gm-Message-State: AOAM532dqJ2p/8z8JXVefA7sNOhFBy+v5py9a/TGJC5lZvjvvzRo788P LN/OTc+uEogWDLjm3q0KvXBUYPwdrQU4QsPa X-Google-Smtp-Source: ABdhPJxab11kzJWAeYooMLQM7A91B2RL0YWMAnRPKQ34lokNiVHNbqIchMTaCPIbpHZ4pgR3gnXSEg== X-Received: by 2002:a05:620a:45a1:: with SMTP id bp33mr14288616qkb.157.1636736527306; Fri, 12 Nov 2021 09:02:07 -0800 (PST) Received: from hnadeau-thinkpad.dpdklab.iol.unh.edu (netscreen.iol.unh.edu. [132.177.123.2]) by smtp.gmail.com with ESMTPSA id 143sm2888056qkg.87.2021.11.12.09.02.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 12 Nov 2021 09:02:07 -0800 (PST) From: Henry Nadeau To: thomas@monjalon.net Cc: dev@dpdk.org Subject: [PATCH] devtools: spell check Date: Fri, 12 Nov 2021 12:01:28 -0500 Message-Id: <20211112170127.112401-1-hnadeau@iol.unh.edu> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org [ upstream commit d4fb4eb08725a3e667042c1f5cd3ed72b94505a7 ] The spell check script checks for changed files using git, then parses those files for potential spelling errors. The dictionary is used for word exeptions, and the regex file will exclude any regex patterns supplied on a given line. Signed-off-by: Henry Nadeau --- devtools/spell_check.sh | 189 +++ devtools/spell_check_dictionary.txt | 2157 +++++++++++++++++++++++++++ devtools/spell_check_regex.txt | 2 + 3 files changed, 2348 insertions(+) create mode 100755 devtools/spell_check.sh create mode 100644 devtools/spell_check_dictionary.txt create mode 100644 devtools/spell_check_regex.txt diff --git a/devtools/spell_check.sh b/devtools/spell_check.sh new file mode 100755 index 0000000000..c4a7a08dba --- /dev/null +++ b/devtools/spell_check.sh @@ -0,0 +1,189 @@ +#!/bin/bash + +dpdk_dir=$(git rev-parse --show-toplevel) +if [ -z "$dpdk_dir" ]; then + echo "Please execute this script from within a git repo" + exit 1 +fi + +set -e +allowed_words='' # path to allowed words file +all_check='false' # optional flag to check all documentation instead of changes detected by git +verbose_logging='false' +branch=$(git rev-parse --abbrev-ref HEAD) # Gets current working branch +regex_dir='' + +while test $# -gt 0; do + case "$1" in + -h | --help) + echo "Spell Check" + echo " " + echo "spell_check [options] [arguments]" + echo " " + echo "options:" + echo "-h, --help Show shows list of flags and usages." + echo "-a, --all-doc Specify if all documentation should be checked." + echo "-b Specify a different branch to be checked for changes against." + echo "-d Specify a different dictionary to be used by aspell." + echo "-o, --output-dir=DIR Specify a directory to store output in." + echo "-r Specify a different regex pattern file." + echo "-v Specify verbose logging." + exit 0 + ;; + -a | --all-doc) + shift + export all_check='true' + ;; + -b) + shift + export remote_branch=$1 + shift + ;; + -r) + shift + export regex_dir=$1 + shift + ;; + -d) + shift + export allowed_words=$1 + shift + ;; + -v) + shift + echo "Verbose logging active!" + export verbose_logging='true' + ;; + -o) + shift + if test $# -gt 0; then + export output=$1 + else + echo "no output dir specified" + exit 1 + fi + shift + ;; + --output-dir*) + export output=$(echo $1 | sed -e 's/^[^=]*=//g') + shift + ;; + *) + break + ;; + esac +done + +if [ "" = "$output" ]; then + output="$dpdk_dir/devtools/spell_check.log" +else + output+=/spell_check.log +fi + +if [ "" = "$regex_dir" ]; then + regex_dir="$dpdk_dir/devtools/spell_check_regex.txt" +fi + +PKG_OK=$(which aspell) + +if [ $verbose_logging = 'true' ]; then + echo Checking for Aspell: "$PKG_OK" +fi + +if [ "" = "$PKG_OK" ]; then + echo "Missing Required Package: Aspell" + exit 1 +fi + +PKG_OK=$(which git) + +if [ $verbose_logging = 'true' ]; then + echo Checking for Git: "$PKG_OK" +fi + +if [ "" = "$PKG_OK" ]; then + echo "Missing Required Package: Git" + exit 1 +fi + +PKG_OK=$(which parallel) + +if [ $verbose_logging = 'true' ]; then + echo Checking for Parallel: "$PKG_OK" +fi + +if [ "" = "$PKG_OK" ]; then + echo "Missing Required Package: Parallel" + exit 1 +fi + +# Checking if remote branch flag was set +if [ "" = "$remote_branch" ]; then + remote_branch=$branch +fi + +# Checking if separate dictionary was supplied, if not defaults to spell_check_dictionary.txt in current dir +if [ "" = "$allowed_words" ]; then + allowed_words=$dpdk_dir'/devtools/spell_check_dictionary.txt' +fi + +# function to spell check a single file +function spellcheck_file() { + file="$3/$1" + dictionary="$2" + sed -e "$4" "$file" | # used to simplify lines sent to aspell + tr -d '*' | + tr -d '`' | + aspell --lang=en --encoding=utf-8 --ignore-case --ignore-repl pipe list -d en --ignore=3 --personal="$dictionary" | + sed -r '/\*/d; /^\s*$/d' | + cut -d ' ' -f 2 | + sort -u | + sed '/International/d' | + grep -Z "" | + xargs -0 -I % grep -on "%" "$file" | + awk -v file="$file" -F ':' '{ printf "%s:%s %s\n", file, $1, $2 }' +} + +# Build regex pattern from files +regex_pattern="'s/(R)//; " +while IFS= read -r line; do + if [[ ! $line =~ "#" ]]; then + regex_pattern+="s/$line/ /; " + fi +done < "$regex_dir" +regex_pattern="${regex_pattern::-1}'" + +if [ "'" = "$regex_pattern" ]; then + regex_pattern='' +fi + +# Make sure output file is present and empty +touch "$output" +truncate -s 0 "$output" + +# setup so that parallel can use the function +export -f spellcheck_file +export SHELL="$(type -p bash)" + +# Compares diff between current branch and it's remote counterpart +if [ ! $all_check = 'true' ]; then + git diff "$branch" origin/"$remote_branch" --name-only | + grep ".*\.rst" | + # run the spellcheck function over each file in parallel, appending misspellings to the output file + parallel -j "$(nproc)" spellcheck_file {} "$allowed_words" "$dpdk_dir" "$regex_pattern" >> "$output" + else + find . -name "*.rst" -type f | parallel -j "$(nproc)" spellcheck_file {} "$allowed_words" "$dpdk_dir" "$regex_pattern" >>"$output" +fi + + +cat "$output" + +# remove empty lines in the output +sed -i '/^$/d' "$output" + +# Errors can be counted by counting the number of lines in the output +errors="$(wc -l "$output" | cut -d ' ' -f 1)" +printf "Errors found: %d\n" "$errors" | tee -a "$output" + +# Make the exit code the number of errors +exit "$errors" diff --git a/devtools/spell_check_dictionary.txt b/devtools/spell_check_dictionary.txt new file mode 100644 index 0000000000..c541c1920f --- /dev/null +++ b/devtools/spell_check_dictionary.txt @@ -0,0 +1,2157 @@ +personal_ws-1.1 en 2156 +AArch +ABI's +ABIs +ACAT +ACKs +ACLs +ADAT +AEEOT +AENQ +AESN +AFUs +AIOP +ALEF +ALTQ +AMDA +APCI +API's +APIs +ARKA +ARKP +ARMv +ASCAT +ASIC +ASLR +ASan +AUPE +AddressSanitizer +AdminQ +Agilex +Agilio +AltArch +AltiVec +Alveo +Aquantia +Aquantia's +Arkville +Arkville's +Arria +BBDev +BBdev +BCAT +BDFs +BMan +BPSK +BSPs +BUFS +BXNT +Backports +Blocklisting +BlueField +Broadcom +Broadwell +Broder +BusA +CAVP +CAVS +CBAR +CBDMA +CBFC +CCAT +CCITT +CCed +CDAT +CEIL +CFLAG +CIDR +CIMC +CLIs +CNTRS +COMPDEV +CPUFLAG +CPUFreq +CPUIdle +CPUs +CamelCase +Cavium +Cavium's +CentOS +Centos +Cesnet +Chelsio +CollectD +CommitID +CompressDev +ConnectX +Coverity +CryptoDev +DALLOW +DCBX +DDEBUG +DDIO +DEINTERLEAVE +DEINTERLEAVER +DESTDIR +DEVMEM +DEVS +DIMM +DIMMs +DLActive +DLB's +DMAdev +DMFS +DOCSISBPI +DPBP +DPBPs +DPDK's +DPDKVMS +DPIO +DPIOs +DPMAC +DPMCP +DPRCs +DRHD +DRTE +DSPs +DTLB +DVPT +DWRR +Dbuildtype +Ddisable +Deinitialising +Denable +DevA +DevB +DevC +DevD +DevF +DevX +DevxEnabled +DevxFsRules +Dexamples +Dflexran +DiffServ +Diffie +Dmachine +Dmax +Dmitry +Dockerfile +DomBDF +Doption +Dplatform +DrvA +DrvB +DstMAC +Dwerror +EBUSY +ECAT +ECDSA +ECPFs +ECPM +EDAT +EEARBC +EEXIST +EFD's +EINVAL +ENAv +ENOSPC +ENOSYS +ENOTSUP +EPOLLIN +ERANGE +ESXi +ETAG +ETHPORTS +ETQF +ETrackId +EVLAN +EZchip +Enablement +EncryptExtIV +EqualizationComplete +Ericsson +EthApp +EtherType +EventDev +Extranet +FAILOVER +FALLTHROUGH +FANOUT +FCCT +FDIRCTL +FEXTNVM +FFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FIFOs +FMan +FPGAs +FQID +FRAMESIZE +FastLinQ +FleXRAN +FlexRAN +FlexSparc +FortPark +Fortville +Foxville +FpgaDev +FrameCheckSequenceErrors +FreeBSD +FreeBSD's +Freescale +GBASE +GCAT +GCMVS +GFSbox +GGAs +GGRP +GGRPs +GLINKSETTINGS +GNinja +GPAs +GPGPU +GPIO +GPLv +GPUs +GRE's +GRENAT +GROed +GSET +GSO'd +GSOed +GTPC +GTPU +GTPoGRE +GTPv +Gbps +HCAT +HIFS +HQoS +HTSS +HUGEFILE +HUGETLB +HWRM +HWaddr +Haswell +HiSilicon +HowTo +Huawei +HugePages +Hugepagesize +IANA +ICMPv +IFCVF's +IGEL +IGMP +INTLBK +INTx +IOPL +IOSF +IOTLB +IOVM +IPADs +IPHDR +IPSec +IPsec +IRQs +ITERS +IXIA +InfiniBand +InifiniBand +Inkscape +IntN +Intels +Ironpond +JITed +KBytes +Kaminsky +KeySbox +Kozlyuk +Kunpeng +Kunpeng's +LDFLAG +LEDs +LETCAM +LF's +LFSR +LIBDIR +LIBEAL +LINEARBUF +LINKINFO +LKCF +LKML +LLDP +LLQv +LLRs +LSB's +LSBs +LSDK +LTTng +Linaro +LineSidePort +LiquidIO +LnkSta +Lpmcore +MACSec +MACsec +MAIA +MAINT +MBUFs +MBytes +MDATA +MDIO +MEMLOCK +MESI +MKEY +MMAP's +MMIO +MODINV +MPLSoGRE +MPLSoUDP +MPMC +MPMCF +MPSC +MSBs +MSDN +MSIx +MSRs +MSVC +MTUs +MWAIT +Maipo +Mellanox +MemC +MemCache +MinGW +Mitzenmacher +Moongen +MySpecialDev +MySpecialDrv +NASM +NCSI +NDIS +NGIO +NIC's +NICs +NICsfor +NIST +NNNNN +NOFILE +NOLIVE +NOTREACHED +NREGIONS +NSDI +NSECPERSEC +NXP's +NetUIO +NetVSC +NetXtreme +Netcope +Netlink +Netmap +Netronome's +Niantic +Npcap +OFPAT +OKTET +OPADs +OPAE +OR'd +OcteonTX +OcteonTx +Ootpa +OpenCL +OpenFabrics +OpenFlow +OpenSSL +OpenWRT +OpenWrt +PBSIZE +PCDs +PCIADDR +PCIe +PCRE +PCTYPES +PF's +PFVF +PFVMTXSSW +PGSIZE +PHYREG +PMD's +PMDs +POSIX +PPPOED +PPPOES +PPPoE +PPPoL +PQoS +PRIu +PRNG +PROBLEMTYPE +PYTHONPATH +Pankaj +Parallelize +Paravirtual +Pensando +Permop +Pfaff +Pipelevel +Powerlinux +Prepend +QATE +QEMU's +QLogic +QMan +QNUM +QSFP +QinQ +QorIQ +QuickAssist +QuickData +RETA's +RETAs +RFCE +RFOE +RHEL +RINGSIZE +ROUNDROBIN +RSERV +RSMBL +RSPCIPHY +ReEx +ReTa +Readme +Redhat +Regexes +Retransmit +Rootfile +RxQs +RxTx +SA's +SADB +SAIDX +SATP +SCLK +SELINUXTYPE +SELinux +SFID +SFNX +SGBT +SGLs +SIGBUS +SIGCOMM +SIGHUP +SIGINT +SLAs +SLES +SLINKSETTINGS +SMMU +SMMUv +SMTP +SOC's +SOCs +SPDK +SPDX +SPSC +SRAM +SRTD +SSET +SSOW +SSOWS +SXGMII +ScaleBricks +SeLockMemoryPrivilege +SecMon +Semihalf +Sendto +Shumway +Silicom +Skylake +SlotClk +SmartNICs +SoCs +SoftNIC +SolarCapture +Solarflare +SpeedStep +StrataGX +Subfield +Subkey +Subtarget +Sunsetting +TAGCTRL +TCAM +TCPHDR +TCPv +TDES +TIMvf +TIPG +TLBs +TLVs +TPAUSE +TPID's +TSDL +TSOed +TSOv +TestPMD +TestPoint +TestPointShared +Testpoint +ThunderX +Timebase +ToolChain +TrErr +TruFlow +Twinpond +UCSM +UCTX +UDPv +UEFI +UMWAIT +UTRA +Unary +UniPHY +Unregistration +VADT +VCBs +VDAT +VEBs +VF's +VFTA +VICs +VIRQFD +VLANs +VLVF +VLXAN +VM's +VMBus +VMDq +VMware +VPCLMULQDQ +VRRP +VTEP +VTune +VXLan +VarText +Varkey +Versal +VirtIO +VirtQ +Virtio's +VxLAN +WAITPKG +WORKDIR +WQEs +WangXun +Wangxun +WinOF +WinPcap +Wmissing +XCAT +XGBE +XORed +XXCC +XXXXXXXXXX +Xenial +Xeon +Xilinx +XtremeScale +Yocto +ZIPVF +Zhou +aQtion +aaaa +aarch +abar +abcdefgh +abidiff +accel +accessor +acked +acking +acks +acpi +activeate +addif +addr +addrs +adminq +adptrs +aead +aesni +affinitize +affinitized +affinitizing +aflag +algo +algos +allmulti +allmulticast +alloc +allocator +allocator's +allocators +allowlist +allports +alrt +altivec +amumble +amzn +antispoof +apis +argc +args +argv +armv +asan +asym +async +atexit +atmost +atoi +atomicNN +atomicity +atomics +attr +auth +autoconf +autodetected +autogen +autoload +autoneg +autonegotiation +autotest +autotests +autotools +axgbe +babeltrace +backend +backends +backplane +backport +backported +backporting +backpressure +backquotes +baddr +balancer +barcharts +baseband +basegraph +basename +bbdev +bbdevs +bcac +bcast +bcde +bcmfs +beefd +benchmarking +bflag +binded +binutils +bitcnt +bitfield +bitfields +bitmask +bitmasks +bitrate +bitrates +bitratestats +bitstream +bitwidth +bitwidths +bitwise +bler +blocklist +blocksz +bluefield +bnxt +bondingX +bool +bootargs +bootindex +boxplot +bphy +bpid +bpool +branchless +brctl +breakpoint +bsize +bufring +bufsz +bugfixes +builddir +buildroot +buildtools +buildtype +builtins +bursty +busybox +byname +bytecode +byteswap +cBPF +caam +caba +cacheline +cack +calc +callee +callfd +calloc +callout +capa +cbaf +cbps +ccac +ccbbffffaa +cdev +cdfd +centric +cfgfile +cfilter +cflags +cgroup +cgroups +chacha +changings +charcrypto +chardev +charp +cheatsheet +checkpatch +checkpatches +checksumming +checksums +chipset +chipsets +chkr +chksum +chlen +chmod +chnk +chown +cint +ciphertext +cksum +classif +cldemote +clks +cmac +cmake +cman +cmdif +cmdline +cmds +cmit +cnic +cntvct +cnxk +codespell +combov +commandline +committer's +comms +compN +comparator +comparators +compat +compilervars +compressdev +compressdevs +cond +conf +config +configfile +configruration +configs +connectx +conntrack +const +contig +contigmalloc +contigmem +contiguousness +contrib +conv +copybreak +coredump +coredumpsize +corei +corelist +coremask +cperf +cppc +cpuX +cpufreq +cpuinfo +cpumask +cpus +cpuset +cputune +cron +crypto +cryptodev +cryptodev's +cryptodevs +cryptographic +cryptolib +cryptoperf +csiostor +cstream +csum +csumonly +ctod +ctrl +ctrlmbuf +cuda +cudaStream +currentMemory +cvlan +cvss +cxgb +cxgbe +cxgbetool +cxgbevf +cxgbtool +cyclecount +dPacket +daemonize +data's +datagram +datagrams +datapath +datapaths +dataplane +dataroom +datasheet +dataunit +dbdf +deallocate +deallocated +deallocates +deallocating +deallocation +debugbuild +debugfs +debugoptimized +decap +decaped +decaps +decapsulate +decapsulated +decapsulating +decapsulation +decomp +decrementing +decrypt +decrypted +dedent +dedented +defs +degradations +deinit +deinitialization +deinitialized +denylist +deps +deqd +deque +dequeing +dequeue +dequeued +dequeueing +dequeues +dequeuing +dereference +dereferenced +dereferencing +desc +descs +dest +deterministically +dettach +devarg +devargs +devbind +devel +develconfig +deviceID +deviceid +devid +devinfo +devinit +devlink +devtools +devtype +devuninit +diag +dirname +disaggregated +distr +distrib +distro +distros +dlopen +dmac +dmadev +dmadevs +dmafwd +dmar +dmarXXX +dmas +dmesg +dmidecode +docsis +dont +dostuff +downlink +downscript +doxy +doxygen +dpaa +dpci +dpcon +dpdk +dpdmai +dpni +dport +dprc +dpseci +dptmapi +dqud +dracut +driverctl +dropless +droppper +drvinfo +drwxr +dscp +dsts +dtap +dtunX +dumpcap +dynf +dynfield +dynflag +eBPF +eCPRI +eMPW +ecid +ecmp +ecpri +edab +eeprom +eetrack +elftools +elif +elts +emulatorpin +encap +encaped +encapped +endPtr +endian +endianness +endif +enetc +enic +enqd +enqueue +enqueued +enqueueing +enqueues +enqueuing +entrancy +entres +entryx +enum +enums +enumtype +epoll +errno +essb +eswitch +ethdev +ethdev's +ethdevs +ethertype +ethertypes +ethtool +evdev +eventdev +eventdevs +eventport +eventq +evtim +ewma +exdsa +executables +expirations +extbuf +extconf +extern +extmbuf +extmem +extstats +fPIC +facto +failsafe +fastpath +fbarray +fd's +fdir +fdir's +fdirmatch +fdirmiss +fdisk +fdopen +ffadc +ffade +ffea +ffff +ffffff +filepath +filesystem +filetype +fillcrypto +filtermask +filtermode +fini +fips +firmwares +fixline +flexbytes +flexpayload +flexran +flib +flowapi +flowgen +flowid +flowptr +flowttl +flowtype +flushtime +fman +fmlib +foohead +foreach +formatters +fpavf +fpga +fprintf +framecnt +framesz +freebsd +freqs +frequences +frontend +frontends +fslmc +fstab +ftag +fullbuild +fullchk +fullq +func +funcs +fwdbuild +fwding +geneve +getcpuclockid +getopt +getschedparam +getspecific +getwork +gfni +glibc +globbing +glort +gmac +gmake +gnueabihf +goto +gpudev +gpus +gragment +grehdr +grep'ed +groupinstall +guarant +gzip +hairpinq +hardcoded +harq +hdls +helloworld +hexmask +hier +highlevel +higig +hinic +hisilicon +hmac +hostdev +hostfwd +hostname +hostnet +hotplug +hotplugged +hotplugging +howto +hpet +hrtp +hthresh +htonl +hugepage +hugepages +hugepagesz +hugetlbfs +hwcap +hwgrp +hwissue +hwloc +hyperthreading +hyst +iAVF +iSCSI +iavf +ibadcrc +ibadlen +ibverbs +ibytes +icmp +icmpecho +icmpv +idxd +ient +ierrors +ietf +iface +ifaceX +ifconfig +ifcvf +ifdef +ifname +ifndef +ifpga +ifup +igbvf +imcasts +imissed +imix +impl +implementers +incrementing +infa +infiniband +inflight +inflights +infos +init +initializer +initializers +initializion +inlined +inlining +inmigrate +inorder +insmod +intXX +interleaver +interprocedural +intf +intr +intra +intrinsics +ints +intx +ioat +ioeventfd +iofwd +iomem +iommu +ioport +ioports +iova +ipackets +ipip +iproute +ipsec +irqs +isal +iscard +isdigit +isolcpus +isonum +iter +ivshmem +ixgbe +ixgbevf +jansson +jhash +jitter +jobstats +json +kaleido +kasumi +kbytes +kdrv +keepalive +keepcfg +kenv +keyX +keygen +keytag +keywidth +kflows +killall +kldload +kldstat +kldunload +kmod +kmods +kni's +kqueue +kstrtoul +kthread +kthreads +ktrace +kvargs +lacp +latencystats +layerscape +lbrm +lcore +lcoreid +lcores +ldconfig +ldflags +ldpc +ldpcdec +ldpcenc +libAArch +libSSO +libX +libabigail +libarchive +libasan +libatomic +libbpf +libc +libcrypto +libcryptodev +libdpdk +libefx +libelf +libeventdev +libexecinfo +libgcc +libibverbs +libisal +libjansson +libmemif +libmlx +libmusdk +libname +libnfb +libnl +libnuma +libpcap +libpqos +librte +libs +libsze +libtool +libudev +libvhost +libvirt +libz +linearization +linearize +linearized +linearizing +linuxapp +liovf +liquidio +literalinclude +liveness +lkup +lladdr +llvm +lmac +loadcfg +loadfw +loadu +lockfree +lockless +loglevel +loglevels +logtype +lookaside +lookups +loopback +lossy +lrand +lrte +lrwxrwxrwx +lscpu +lsmod +lspci +lstopo +lthread +lthreads +lundef +macExtS +macaddr +macaddrs +macsec +macswap +mainloop +makefile +makefiles +malloc +manpages +mappable +maskable +maskbits +masklen +maxdepth +maxflows +maxhash +maxlen +maxp +maxth +mbcache +mbox +mbps +mbuf +mbuf's +mbufs +mcam +mcast +mcfg +mcpu +mcus +mdev +memAccess +memconfig +memcopy +memcpy +memdev +memdump +memfd +memhdr +memif +meminfo +memoryBacking +mempool +mempool's +mempools +memseg +memsegs +memset +memsize +memzone +memzones +menthod +menuconfig +mergeable +mesonconf +mgmt +microarchitecture +microarchitectures +microblock +middleboxes +milli +mingw +miniCQE +mins +minth +misalign +misprediction +mkconfig +mkdir +mlnx +mlnxofedinstall +mlockall +mlxconfig +mlxdevm +mlxfwreset +mlxreg +mmap +mmap'ed +mmaping +mmapped +mmaps +modex +modexp +modinfo +modprobe +mountpoint +mpls +mplsogre +mplsoudp +mpool +mpps +mprq +mrvl +msgs +msix +mspdc +mtod +mtophys +mtrapi +mtrr +mtune +multicast +multicasting +multicasts +multicore +multilib +multiline +multiport +multiprocess +multiqueue +multithread +multithreaded +multithreading +musdk +musl +mutex +mutexes +mvneta +mvpp +mvsam +myapp +mydoc +mynet +nack +namespace +nano +nanosleep +napi +natively +nbcore +nbport +negllr +neoverse +neta +netcat +netdev +netdev's +netdevice +netif +netlogdecode +netperf +netronome +netuio +netvf +netvsc +newdir +newsize +nexts +nffw +ngbe +nics +nicvf +nitrox +nixlf +nocbs +nodefaults +nodeid +nodeps +nodesc +nodeset +nodev +nodrop +nographic +nohz +nointxmask +noiommu +nombuf +noncontiguous +nonleaf +noreturn +nowait +npalf +nrange +nsec +nseg +ntohl +ntuple +numa +numactl +numatune +numref +numvfs +nvgre +oUDP +obase +objdump +objhdr +objs +obytes +octeon +octeontx +oerror +oerrors +ofed +offsetof +olflags +onchip +onwards +opackets +opdl +openibd +openssl +openwrt +optype +osdep +outb +outes +outoffset +overcommitted +oversubscription +ovlan +ovrd +pCPU +pCPUs +packetbuffer +pagefault +pagemap +pagemaps +pagesize +param +paramX +paramY +paramZ +params +paravirtualized +parm +parsers +passlist +passthrough +passthru +patchset +patchsets +pcap +pcapng +pcaps +pciconf +pcidb +pcifunc +pcisf +pcpu +pctype +pdcp +pdev +pdpe +pdump +perf +performant +personalization +pfcp +pflink +pfnum +phdr +physaddr +physmem +pipelined +pipelining +pkgconf +pkgconfig +pkgo +pkill +pkivf +pkmbuf +pkovf +pktgen +pktlen +pktmbuf +pktmbufs +pktmode +pkts +plaintext +plcores +plotly +pluggable +plugindir +pmdinfo +pmdinfogen +pmds +pmgmt +policer +popd +portId +portconf +portid +portlist +portmap +portmask +portn +portnum +portstats +postcopy +postfix +postmigrate +powermonitor +ppfe +pppoe +pqos +prealloc +preallocate +preallocated +preallocating +prebuilt +precompiled +precomputed +preconfigured +preemptable +preemptible +prefetch +prefetchable +prefetched +prefetches +prefetching +prefree +prepended +prepends +preprocessor +prerelease +printf +printk +prio +priv +proc +processfor +procinfo +procs +profileid +prog +programmatically +promisc +promiscusity +proto +prototyped +psec +pseudocode +pstate +psutil +ptest +ptests +pthread +pthreads +pthresh +ptpclient +ptrs +ptype +ptypes +pushd +pvalue +pvid +pyelftools +qavg +qbman +qconf +qcow +qdisc +qdma +qede +qedf +qedi +qedr +qemu +qidA +qidB +qidx +qinq +qint +qmap +qmapping +qoriq +qpairs +qsbr +qsize +qtime +queueid +rarp +rawdev +rawdevice +rawdevices +rawdevs +rdline +rdlock +rdma +rdtsc +reStructuredText +readline +readlink +realloc +rebalanced +rebalancing +reconfigurable +reconfiguring +reconnection +recv +refcnt +refdir +regbit +regexdev +regexdevs +regfield +regs +reinitializes +reinitializing +repo +representator +representor +representors +reqs +requestor +responder +restool +resv +reta +retransmission +retransmissions +retval +ringparam +rlimit +rmmod +roadmap +rootfs +rply +rqmts +rsize +rsrc +rsvd +rsync +rtecryptodev +rtemap +rudimental +runstate +runtime +rvIndex +rwlock +rwlocks +rxbuf +rxconf +rxfreet +rxht +rxmode +rxoffload +rxoffs +rxonly +rxpkts +rxportconf +rxpt +rxqs +rxtx +rxwt +sPAPR +sact +sadv +safexcel +sbin +scalability +scalable +scaleup +scapy +sched +scheduler's +sctp +sdap +secgw +secpol +segs +segsize +segsz +seid +selectable +selftest +selinux +sendemail +sendmsg +sendp +seqn +sess +sessionless +setaffinity +setcancelstate +setcanceltype +setcap +setpci +setschedparam +setspecific +setspeed +sfboot +sfnum +sgmii +shaper +shapers +shconf +shmfd +shortname +signoff +simd +sizeof +skiplist +smac +smallbuild +smap +smartNIC +smartnic +smtpencryption +smtpserver +smtpserverport +smtpuser +snat +snprintf +socat +socketid +socktype +socs +softirqs +softmmu +softnic +softrss +soname +sonames +spinlock +spinlocks +spoofable +srTCM +srcs +sriov +srtcm +srtcmp +ssopf +ssovf +stateful +statefully +stderr +stdin +stdint +stdlib +stdout +stlist +stmt +strace +strcmp +strcpy +strerror +stripq +strlen +stroul +strscpy +strtoll +strtoull +struct +structs +stty +stype +subblock +subdir +subdirectories +subdirectory +subdirs +subexpression +subfolder +sublists +submode +submodes +subnet +subport +subports +substream +subtuple +subvariant +sudo +sunsetted +superpages +svlan +switchdev +syncthreads +sysctl +sysfile +sysfs +syslog +sysroot +systemd +szedata +szedataII +tabularcolumns +taildrop +tailroom +tapvm +taskset +tcpdump +tcpv +teid +telco +testapp +testbbdev +testcancel +testcase +testcases +testeventdev +testpmd +testpmd's +testregex +testsuite +testsuites +thash +threadIdx +threadfence +thunderx +timedlock +timedrdlock +timedwait +timedwrlock +timerdev +timespec +timestamping +timesync +timvf +titi +tmapi +tmgr +toctree +toeplitz +toolchain +toolchains +topologies +totalvfs +tpid +tpmd +trTCM +tracebuild +tracecompass +tracepoint +tracepoints +tradeoff +transactional +transceiving +trie +trtcm +trylock +tryrdlock +trywrlock +tshark +tswap +ttyAMA +tunX +tuntap +turb +tuser +txconf +txfreet +txgbe +txgbevf +txht +txmode +txoffload +txonly +txpkts +txport +txportconf +txpt +txqflags +txqnum +txqs +txqueuelen +txrate +txrst +txsplit +txtimes +txwt +typedef +typedefs +ucast +udata +udevd +udpv +uevent +uint +uintXX +uintptr +uioX +ulimit +umem +umount +unack +unacked +uname +uncachable +uncomment +uncompiled +uncompress +uncompressing +unencrypted +unfree +unicast +uninit +uninitialization +uninitialize +uninitializes +unint +unioned +uniq +unittest +unlink +unmap +unmapped +unmapping +unmount +unregister +unregistering +unreserve +unreserving +unrouted +unsetting +untag +untagged +untags +untar +upgradable +uplink +upstreamable +upstreamed +uptime +usec +userdata +userland +userspace +usertools +usleep +usvhost +uucp +uuid +uverbs +uwire +vCPE +vCPU +vCPUs +vDPA +vEth +vHost +vIOMMU +vNIC +vNICs +vPMD +vPro +vRAN +vSphere +vSwitch +vSwitches +validator +vals +variadic +vchan +vcpu +vcpupin +vdev +vdevarg +vdevs +vdmq +vdpa +vdpadevs +vdrv +vect +vectorization +vectorize +vectorized +vendid +vendorID +verwrite +verylongtypename +vfio +vhost +vhostforce +vhostuser +virbr +virsh +virt +virtaddr +virtenv +virtio +virtq +virtqueue +virtqueues +virtualised +virtualized +virtualport +vlan +vmbus +vmdq +vmname +vmware +vmxnet +vnic +vring +vrings +vswitch +vsym +vxlan +wakeup +webpage +werror +werrorbuild +wget +whitespace +wireshark +wlcore +wlcores +workqueue +workqueues +workslot +wred +writeback +wrlock +wrptr +wthresh +wwww +xFEE +xFFEF +xFFF +xFFFD +xFFFELLU +xFFFF +xFFFFEF +xFFFFFFFF +xJvf +xXXXXXXXX +xbzrle +xcast +xcbc +xdata +xefff +xenvirt +xffff +xffffff +xffffffff +xffffffffffffffff +xform +xforms +xmem +xmemhuge +xmeta +xmit +xmode +xoff +xored +xstat +xstats +xtype +xxxx +xxxxxx +xxxxxxx +yyyy +zcat +zlib +zmalloc +zxof diff --git a/devtools/spell_check_regex.txt b/devtools/spell_check_regex.txt new file mode 100644 index 0000000000..efa8f63450 --- /dev/null +++ b/devtools/spell_check_regex.txt @@ -0,0 +1,2 @@ +# This file is used to exclude regex patterns from being passed to Aspell. +# Each line is read as a single pattern. -- 2.30.2