diff mbox series

[ovs-dev,1/1] Spelling

Message ID 20211213063319.27480-2-jsoref@gmail.com
State New
Headers show
Series Proposal to fix spelling | expand

Checks

Context Check Description
ovsrobot/apply-robot warning apply and check: warning
ovsrobot/github-robot-_Build_and_Test success github build: passed

Commit Message

Josh Soref Dec. 13, 2021, 6:33 a.m. UTC
Signed-off-by: Josh Soref <jsoref@gmail.com>
---
 .ci/linux-build.sh                            |  4 ++--
 Documentation/howto/ipsec.rst                 |  2 +-
 Documentation/howto/sflow.rst                 |  2 +-
 Documentation/intro/install/afxdp.rst         |  4 ++--
 Documentation/intro/install/fedora.rst        |  4 ++--
 Documentation/intro/install/general.rst       |  2 +-
 Documentation/intro/install/windows.rst       |  4 ++--
 Documentation/intro/install/xenserver.rst     |  2 +-
 Documentation/ref/ovs-actions.7.rst           |  2 +-
 Documentation/topics/design.rst               |  2 +-
 Documentation/topics/dpdk/bridge.rst          |  6 ++---
 Documentation/topics/dpdk/pmd.rst             |  6 ++---
 Documentation/topics/dpdk/vhost-user.rst      |  2 +-
 Documentation/topics/integration.rst          |  2 +-
 Documentation/topics/openflow.rst             |  2 +-
 Documentation/topics/ovsdb-relay.rst          |  2 +-
 Documentation/topics/porting.rst              |  2 +-
 Documentation/topics/testing.rst              |  4 ++--
 Documentation/tutorials/ovs-advanced.rst      |  2 +-
 Documentation/tutorials/ovs-conntrack.rst     |  2 +-
 NEWS                                          | 14 +++++------
 acinclude.m4                                  |  2 +-
 build-aux/cccl                                |  2 +-
 datapath-windows/include/OvsDpInterfaceExt.h  |  2 +-
 datapath-windows/ovsext/Actions.c             | 12 +++++-----
 datapath-windows/ovsext/BufferMgmt.c          |  6 ++---
 datapath-windows/ovsext/Conntrack-nat.c       |  6 ++---
 datapath-windows/ovsext/Conntrack.c           |  2 +-
 datapath-windows/ovsext/Conntrack.h           |  2 +-
 datapath-windows/ovsext/Datapath.c            | 14 +++++------
 datapath-windows/ovsext/Datapath.h            |  4 ++--
 datapath-windows/ovsext/Ethernet.h            |  2 +-
 datapath-windows/ovsext/Flow.c                |  8 +++----
 datapath-windows/ovsext/IpFragment.c          |  2 +-
 datapath-windows/ovsext/IpHelper.c            |  2 +-
 datapath-windows/ovsext/NetProto.h            |  4 ++--
 datapath-windows/ovsext/Netlink/Netlink.c     |  8 +++----
 datapath-windows/ovsext/Netlink/NetlinkBuf.c  |  6 ++---
 datapath-windows/ovsext/Offload.c             | 22 ++++++++---------
 datapath-windows/ovsext/Oid.c                 |  2 +-
 datapath-windows/ovsext/Stt.c                 |  2 +-
 datapath-windows/ovsext/Switch.c              |  2 +-
 datapath-windows/ovsext/Switch.h              |  2 +-
 datapath-windows/ovsext/Tunnel.c              |  4 ++--
 datapath-windows/ovsext/TunnelFilter.c        |  4 ++--
 datapath-windows/ovsext/User.c                | 12 +++++-----
 datapath-windows/ovsext/Vport.c               | 10 ++++----
 datapath-windows/ovsext/Vport.h               |  2 +-
 datapath/conntrack.c                          |  2 +-
 datapath/datapath.h                           |  2 +-
 datapath/flow.c                               |  2 +-
 datapath/flow_netlink.c                       |  2 +-
 datapath/flow_table.c                         |  4 ++--
 datapath/linux/compat/exthdrs_core.c          |  2 +-
 datapath/linux/compat/include/linux/if_vlan.h |  2 +-
 datapath/linux/compat/include/linux/kconfig.h |  2 +-
 .../linux/compat/include/linux/openvswitch.h  |  8 +++----
 datapath/linux/compat/include/linux/udp.h     |  2 +-
 datapath/linux/compat/include/net/erspan.h    |  4 ++--
 datapath/linux/compat/include/net/ipv6.h      |  2 +-
 datapath/linux/compat/include/net/udp.h       |  2 +-
 .../linux/compat/include/net/udp_tunnel.h     |  2 +-
 datapath/linux/compat/ip6_gre.c               |  4 ++--
 datapath/linux/compat/ip6_output.c            |  2 +-
 datapath/linux/compat/ip6_tunnel.c            |  2 +-
 datapath/linux/compat/ip_gre.c                |  4 ++--
 datapath/linux/compat/ip_output.c             |  2 +-
 datapath/linux/compat/nf_conntrack_proto.c    |  2 +-
 datapath/linux/compat/stt.c                   |  2 +-
 datapath/vport.h                              |  2 +-
 debian/changelog                              |  8 +++----
 debian/openvswitch-ipsec.init                 |  2 +-
 debian/openvswitch-testcontroller.init        |  2 +-
 include/linux/tc_act/tc_pedit.h               |  2 +-
 include/openflow/nicira-ext.h                 |  6 ++---
 include/openflow/openflow-1.0.h               |  2 +-
 include/openvswitch/meta-flow.h               |  2 +-
 include/openvswitch/ofp-actions.h             |  2 +-
 include/windows/netinet/icmp6.h               |  4 ++--
 ipsec/ovs-monitor-ipsec.in                    | 10 ++++----
 lib/bfd.c                                     |  6 ++---
 lib/ccmap.c                                   |  2 +-
 lib/classifier.c                              |  2 +-
 lib/conntrack.h                               |  2 +-
 lib/ct-dpif.c                                 |  4 ++--
 lib/daemon-unix.c                             | 14 +++++------
 lib/daemon-windows.c                          |  2 +-
 lib/db-ctl-base.c                             |  4 ++--
 lib/db-ctl-base.h                             |  2 +-
 lib/db-ctl-base.man                           |  2 +-
 lib/dns-resolve.c                             |  2 +-
 lib/dp-packet.h                               |  2 +-
 lib/dpctl.c                                   |  6 ++---
 lib/dpctl.man                                 |  4 ++--
 lib/dpdk.c                                    |  2 +-
 lib/dpif-netdev-avx512.c                      |  6 ++---
 lib/dpif-netdev-extract-avx512.c              |  6 ++---
 lib/dpif-netdev-extract-study.c               |  2 +-
 lib/dpif-netdev-private-extract.c             |  6 ++---
 lib/dpif-netdev-private-extract.h             |  2 +-
 lib/dpif-netdev-unixctl.man                   |  4 ++--
 lib/dpif-netdev.c                             | 14 +++++------
 lib/dpif-netlink.c                            |  8 +++----
 lib/dpif-provider.h                           |  2 +-
 lib/dpif.c                                    |  4 ++--
 lib/flow.c                                    |  2 +-
 lib/ipf.c                                     | 16 ++++++-------
 lib/lacp.h                                    |  2 +-
 lib/lldp/lldp.c                               |  4 ++--
 lib/mac-learning.c                            |  2 +-
 lib/match.c                                   |  2 +-
 lib/meta-flow.c                               |  6 ++---
 lib/netdev-bsd.c                              |  2 +-
 lib/netdev-dpdk.c                             | 24 +++++++++----------
 lib/netdev-dummy.c                            |  2 +-
 lib/netdev-linux.c                            |  2 +-
 lib/netdev-offload-dpdk.c                     |  2 +-
 lib/netdev-offload-provider.h                 |  2 +-
 lib/netdev-offload.h                          |  4 ++--
 lib/netdev-provider.h                         |  2 +-
 lib/netdev.h                                  |  6 ++---
 lib/netlink-conntrack.c                       |  2 +-
 lib/odp-util.c                                |  2 +-
 lib/ofp-actions.c                             |  2 +-
 lib/ofp-flow.c                                |  2 +-
 lib/ofp-match.c                               |  2 +-
 lib/ovs-atomic-i586.h                         |  4 ++--
 lib/ovs-atomic-x86_64.h                       |  2 +-
 lib/ovs-atomic.h                              |  2 +-
 lib/ovs-rcu.c                                 |  2 +-
 lib/ovs-rcu.h                                 |  4 ++--
 lib/ovs-replay.c                              |  2 +-
 lib/ovs-replay.h                              |  2 +-
 lib/ovsdb-cs.c                                |  2 +-
 lib/ovsdb-data.c                              |  2 +-
 lib/ovsdb-idl.c                               |  6 ++---
 lib/packets.c                                 |  4 ++--
 lib/perf-counter.c                            |  2 +-
 lib/perf-counter.h                            |  2 +-
 lib/pvector.c                                 |  2 +-
 lib/rconn.c                                   |  2 +-
 lib/seq.h                                     |  2 +-
 lib/sflow.h                                   |  6 ++---
 lib/sflow_agent.c                             | 10 ++++----
 lib/sflow_poller.c                            |  6 ++---
 lib/sflow_receiver.c                          |  6 ++---
 lib/stream.c                                  |  2 +-
 lib/tc.c                                      |  2 +-
 lib/tun-metadata.c                            |  2 +-
 lib/util.c                                    |  2 +-
 lib/wmi.c                                     |  6 ++---
 m4/openvswitch.m4                             |  6 ++---
 m4/pkg.m4                                     |  2 +-
 ofproto/bond.c                                |  4 ++--
 ofproto/connmgr.c                             |  2 +-
 ofproto/ipfix.xml                             |  2 +-
 ofproto/netflow.c                             |  2 +-
 ofproto/ofproto-dpif-ipfix.c                  |  4 ++--
 ofproto/ofproto-dpif-rid.c                    |  4 ++--
 ofproto/ofproto-dpif-sflow.c                  |  4 ++--
 ofproto/ofproto-dpif-xlate.c                  |  2 +-
 ofproto/ofproto-dpif.c                        | 14 +++++------
 ofproto/ofproto-provider.h                    |  2 +-
 ofproto/ofproto.c                             |  6 ++---
 ovsdb/jsonrpc-server.c                        |  6 ++---
 ovsdb/log.h                                   |  2 +-
 ovsdb/monitor.c                               |  4 ++--
 ovsdb/ovsdb-client.c                          |  2 +-
 ovsdb/ovsdb-server.c                          |  2 +-
 ovsdb/ovsdb-tool.1.in                         |  4 ++--
 ovsdb/ovsdb-tool.c                            |  2 +-
 ovsdb/ovsdb.c                                 |  4 ++--
 ovsdb/ovsdb.h                                 |  2 +-
 ovsdb/raft.c                                  |  4 ++--
 ovsdb/relay.c                                 |  2 +-
 ovsdb/replication.c                           |  4 ++--
 ovsdb/replication.h                           |  2 +-
 poc/playbook-centos-builder.yml               |  2 +-
 poc/playbook-fedora-builder.yml               |  2 +-
 poc/playbook-ubuntu-builder.yml               |  2 +-
 .../ovs/compat/sortedcontainers/sorteddict.py |  2 +-
 python/ovs/db/idl.py                          |  8 +++----
 python/ovs/stream.py                          |  2 +-
 python/ovs/vlog.py                            |  2 +-
 python/ovstest/rpcserver.py                   |  4 ++--
 rhel/kmod-openvswitch-rhel6.spec.in           |  2 +-
 rhel/openvswitch-fedora.spec.in               |  2 +-
 rhel/openvswitch-kmod-fedora.spec.in          |  6 ++---
 tests/atlocal.in                              |  2 +-
 tests/bfd.at                                  | 22 ++++++++---------
 tests/cfm.at                                  | 14 +++++------
 tests/dpif-netdev.at                          |  6 ++---
 tests/json.at                                 |  2 +-
 tests/mpls-xlate.at                           |  2 +-
 tests/ofproto-dpif.at                         | 16 ++++++-------
 tests/ofproto.at                              |  6 ++---
 tests/ovs-macros.at                           |  8 +++----
 tests/ovs-ofctl.at                            |  2 +-
 tests/ovs-vswitchd.at                         |  2 +-
 tests/ovsdb-idl.at                            | 10 ++++----
 tests/ovsdb-lock.at                           |  4 ++--
 tests/ovsdb-query.at                          |  2 +-
 tests/ovsdb-server.at                         |  8 +++----
 tests/ovstest.c                               |  2 +-
 tests/ovstest.h                               |  2 +-
 tests/packet-type-aware.at                    |  6 ++---
 tests/pmd.at                                  |  4 ++--
 tests/stp.at                                  |  4 ++--
 tests/system-interface.at                     |  2 +-
 tests/system-offloads-traffic.at              |  2 +-
 tests/system-traffic.at                       | 16 ++++++-------
 tests/test-classifier.c                       |  2 +-
 tests/test-json.c                             |  6 ++---
 tests/test-netlink-policy.c                   |  2 +-
 tests/test-ovsdb.c                            |  4 ++--
 tests/test-ovsdb.py                           |  6 ++---
 tests/test-util.c                             |  6 ++---
 tests/tunnel-push-pop-ipv6.at                 |  2 +-
 tests/tunnel.at                               |  2 +-
 .../ovs-bugtool-ovs-ofctl-loop-over-bridges   |  6 ++---
 utilities/ovs-appctl-bashcomp.bash            |  4 ++--
 utilities/ovs-appctl.c                        |  2 +-
 utilities/ovs-ctl.in                          |  2 +-
 utilities/ovs-ofctl.8.in                      | 12 +++++-----
 utilities/ovs-pipegen.py                      |  2 +-
 utilities/ovs-vsctl-bashcomp.bash             |  4 ++--
 utilities/ovs-vsctl.c                         |  4 ++--
 vswitchd/bridge.c                             |  6 ++---
 vswitchd/vswitch.xml                          | 14 +++++------
 vtep/ovs-vtep.in                              |  2 +-
 vtep/vtep.xml                                 |  8 +++----
 .../ovs-windows-installer.wixproj             |  8 +++----
 ..._xensource_libexec_InterfaceReconfigure.py |  2 +-
 ...pt_xensource_libexec_interface-reconfigure |  2 +-
 234 files changed, 490 insertions(+), 490 deletions(-)

Comments

0-day Robot Dec. 13, 2021, 9:58 a.m. UTC | #1
Bleep bloop.  Greetings Josh Soref, I am a robot and I have tried out your patch.
Thanks for your contribution.

I encountered some error that I wasn't expecting.  See the details below.


checkpatch:
WARNING: Line is 80 characters long (recommended limit is 79)
#612 FILE: NEWS:315:
     * Datapath classifier code refactored to enable function pointers to select

WARNING: Line is 80 characters long (recommended limit is 79)
#1863 FILE: lib/bfd.c:77:
 *   unidirectional failures).  BFD has a demand mode in which it can stay quiet

WARNING: Line is 95 characters long (recommended limit is 79)
#2130 FILE: lib/dpctl.man:134:
   \fBpartially-offloaded\fR - displays flows where only part of their processing is done in HW

WARNING: Comment with 'xxx' marker
#2360 FILE: lib/dpif-netlink.c:1048:
        /* XXX : Map appropriate Windows handle */

WARNING: Line is 80 characters long (recommended limit is 79)
#2812 FILE: lib/netdev.h:93:
     * header with the proper Ethertype; on transmission, the Ethernet header is

WARNING: Line has non-spaces leading whitespace
WARNING: Line lacks whitespace around operator
#3210 FILE: lib/sflow_poller.c:79:
	   In a large network, even this might not be ideal if time-synchronization

WARNING: Line is 82 characters long (recommended limit is 79)
WARNING: Line has non-spaces leading whitespace
WARNING: Line lacks whitespace around operator
#3218 FILE: lib/sflow_poller.c:86:
	   The packet-sample events are not synchronized to any clock, so that results in

WARNING: Line has non-spaces leading whitespace
#3227 FILE: lib/sflow_poller.c:95:
	   Andy Kitchingman for spotting this omission. */

WARNING: Line is 98 characters long (recommended limit is 79)
ERROR: C99 style comment
#3240 FILE: lib/sflow_receiver.c:208:
    // answer in bytes,  so remember to multiply by 4 after rounding up to nearest 4-byte boundary

ERROR: C99 style comment
#3249 FILE: lib/sflow_receiver.c:502:
    // important to avoid overrunning the packet buffer.

ERROR: C99 style comment
#3258 FILE: lib/sflow_receiver.c:685:
    // important to avoid overrunning the packet buffer.

WARNING: Line is 89 characters long (recommended limit is 79)
#3592 FILE: ofproto/ofproto-dpif.c:6276:
                ds_put_cstr(ds, "Can not enable features not supported by the datapath");

WARNING: Line is 94 characters long (recommended limit is 79)
#5278 FILE: windows/ovs-windows-installer/ovs-windows-installer.wixproj:16:
    <TestOutOfProcess Condition=" '$(PROCESSOR_ARCHITECTURE)'!='x86' ">true</TestOutOfProcess>

WARNING: Line is 94 characters long (recommended limit is 79)
#5287 FILE: windows/ovs-windows-installer/ovs-windows-installer.wixproj:25:
    <TestOutOfProcess Condition=" '$(PROCESSOR_ARCHITECTURE)'!='x86' ">true</TestOutOfProcess>

WARNING: Line is 372 characters long (recommended limit is 79)
#5296 FILE: windows/ovs-windows-installer/ovs-windows-installer.wixproj:72:
    <HeatDirectory RunAsSeparateProcess="$(TestOutOfProcess)" DirectoryRefId="BINARIESDIR" OutputFile="Binaries.wxs" Directory="Binaries" ComponentGroupName="BinariesComponentGroup" ToolPath="$(WixToolPath)" PreprocessorVariable="var.BinariesPath" GenerateGuidsNow="true" SuppressCom="true" SuppressRegistry="true" KeepEmptyDirectories="true" SuppressRootDirectory="true">

WARNING: Line is 367 characters long (recommended limit is 79)
#5299 FILE: windows/ovs-windows-installer/ovs-windows-installer.wixproj:74:
    <HeatDirectory RunAsSeparateProcess="$(TestOutOfProcess)" DirectoryRefId="SYMBOLSDIR" OutputFile="Symbols.wxs" Directory="Symbols" ComponentGroupName="SymbolsComponentGroup" ToolPath="$(WixToolPath)" PreprocessorVariable="var.SymbolsPath" GenerateGuidsNow="true" SuppressCom="true" SuppressRegistry="true" KeepEmptyDirectories="true" SuppressRootDirectory="true">

Lines checked: 5331, Warnings: 17, Errors: 3


Please check this out.  If you feel there has been an error, please email aconole@redhat.com

Thanks,
0-day Robot
diff mbox series

Patch

diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh
index 863f023..bd6bca8 100755
--- a/.ci/linux-build.sh
+++ b/.ci/linux-build.sh
@@ -79,7 +79,7 @@  function install_kernel()
     if [ "$AFXDP" ]; then
         sudo make headers_install INSTALL_HDR_PATH=/usr
         pushd tools/lib/bpf/
-        # Bulding with gcc because there are some issues in make files
+        # Building with gcc because there are some issues in make files
         # that breaks building libbpf with clang on Travis.
         CC=gcc sudo make install
         CC=gcc sudo make install_headers
@@ -229,7 +229,7 @@  if [ "$CC" = "clang" ]; then
     CFLAGS_FOR_OVS="${CFLAGS_FOR_OVS} -Wno-error=unused-command-line-argument"
 elif [ "$M32" ]; then
     # Not using sparse for 32bit builds on 64bit machine.
-    # Adding m32 flag directly to CC to avoid any posiible issues with API/ABI
+    # Adding m32 flag directly to CC to avoid any possible issues with API/ABI
     # difference on 'configure' and 'make' stages.
     export CC="$CC -m32"
 elif [ "$TRAVIS_ARCH" != "aarch64" ]; then
diff --git a/Documentation/howto/ipsec.rst b/Documentation/howto/ipsec.rst
index cd93484..f4f1d96 100644
--- a/Documentation/howto/ipsec.rst
+++ b/Documentation/howto/ipsec.rst
@@ -149,7 +149,7 @@  undesirable situation.
    and/or if there is firewall that can drop the plain packets that
    occasionally leak the tunnel unencrypted on OVSDB (re)configuration events.
 
-2) Setiing ipsec_skb_mark drops unencrypted packets by using skb_mark of
+2) Setting ipsec_skb_mark drops unencrypted packets by using skb_mark of
    tunnel packets::
 
      $ ovs-vsctl set Open_vSwitch . other_config:ipsec_skb_mark=0/1
diff --git a/Documentation/howto/sflow.rst b/Documentation/howto/sflow.rst
index c6ab076..adf50cb 100644
--- a/Documentation/howto/sflow.rst
+++ b/Documentation/howto/sflow.rst
@@ -68,7 +68,7 @@  cookbook entry, we use `sFlowTrend
 <http://www.inmon.com/products/sFlowTrend.php>`__, a free sFlow collector that
 is a simple cross-platform Java download. Other sFlow collectors should work
 equally well. `hostMon` has a single NIC, `eth0`, that is connected to the
-Management Network. `eth0` has an IP adress that can reach `eth1` on `host1`.
+Management Network. `eth0` has an IP address that can reach `eth1` on `host1`.
 
 Two Virtual Machines
 ~~~~~~~~~~~~~~~~~~~~
diff --git a/Documentation/intro/install/afxdp.rst b/Documentation/intro/install/afxdp.rst
index 6ee69a1..48bbce8 100644
--- a/Documentation/intro/install/afxdp.rst
+++ b/Documentation/intro/install/afxdp.rst
@@ -171,7 +171,7 @@  To kick start end-to-end autotesting::
   make check-afxdp TESTSUITEFLAGS='1'
 
 .. note::
-   Not all test cases pass at this time. Currenly all cvlan tests are skipped
+   Not all test cases pass at this time. Currently all cvlan tests are skipped
    due to kernel issues.
 
 If a test case fails, check the log at::
@@ -418,7 +418,7 @@  Start VM using vhost-user mode::
    -object memory-backend-file,id=mem,size=4096M,mem-path=/dev/hugepages,share=on \
    -numa node,memdev=mem -mem-prealloc -smp 2
 
-Setup the OpenFlow ruls::
+Setup the OpenFlow rules::
 
   ovs-ofctl del-flows br0
   ovs-ofctl add-flow br0 "in_port=enp2s0, actions=output:vhost-user-1"
diff --git a/Documentation/intro/install/fedora.rst b/Documentation/intro/install/fedora.rst
index 06a0bd3..cbf1ee8 100644
--- a/Documentation/intro/install/fedora.rst
+++ b/Documentation/intro/install/fedora.rst
@@ -84,8 +84,8 @@  YUM::
 
 Once that is completed, remove the file ``/tmp/ovs.spec``.
 
-Bootstraping
-------------
+Bootstrapping
+-------------
 
 Refer to :ref:`general-bootstrapping`.
 
diff --git a/Documentation/intro/install/general.rst b/Documentation/intro/install/general.rst
index c4300cd..1fde64a 100644
--- a/Documentation/intro/install/general.rst
+++ b/Documentation/intro/install/general.rst
@@ -538,7 +538,7 @@  Start ovsdb-server using below command::
     $ docker run -itd --net=host --name=ovsdb-server \
       <docker_repo>:<tag> ovsdb-server
 
-Start ovs-vswitchd with priviledged mode as it needs to load kernel module in
+Start ovs-vswitchd with privileged mode as it needs to load kernel module in
 host using below command::
 
     $ docker run -itd --net=host --name=ovs-vswitchd \
diff --git a/Documentation/intro/install/windows.rst b/Documentation/intro/install/windows.rst
index fb6c2c5..8b710bf 100644
--- a/Documentation/intro/install/windows.rst
+++ b/Documentation/intro/install/windows.rst
@@ -328,7 +328,7 @@  An alternative way to do the same is to run the following command:
 Generate the Windows installer
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-To generate the Windows installler run the following command from the top
+To generate the Windows installer run the following command from the top
 source directory:
 
 ::
@@ -759,7 +759,7 @@  Create the ovsdb-server service and start it:
 
 .. tip::
 
-   One of the common issues with creating a Windows service is with mungled
+   One of the common issues with creating a Windows service is with mangled
    paths.  You can make sure that the correct path has been registered with the
    Windows services manager by running:
 
diff --git a/Documentation/intro/install/xenserver.rst b/Documentation/intro/install/xenserver.rst
index 366e11a..a6e3150 100644
--- a/Documentation/intro/install/xenserver.rst
+++ b/Documentation/intro/install/xenserver.rst
@@ -122,7 +122,7 @@  the final ``rpmbuild`` step changes to::
 
     $ KERNEL_UNAME=<`uname -r` output>
     $ rpmbuild \
-        -D "kenel_uname $KERNEL_UNAME" \
+        -D "kernel_uname $KERNEL_UNAME" \
         -bb xenserver/openvswitch-xen.spec
 
 Installing Open vSwitch for XenServer
diff --git a/Documentation/ref/ovs-actions.7.rst b/Documentation/ref/ovs-actions.7.rst
index 7224896..b89adf6 100644
--- a/Documentation/ref/ovs-actions.7.rst
+++ b/Documentation/ref/ovs-actions.7.rst
@@ -1356,7 +1356,7 @@  The ``delete_field`` action
   | ``delete_field:``\ *field*
 
 The ``delete_field`` action deletes a *field* in the syntax described under
-`Field Specifications`_ above.  Currently, only the ``tun_metadta`` fields are
+`Field Specifications`_ above.  Currently, only the ``tun_metadata`` fields are
 supported.
 
 This action was added in Open vSwitch 2.14.
diff --git a/Documentation/topics/design.rst b/Documentation/topics/design.rst
index 656d606..737ddd4 100644
--- a/Documentation/topics/design.rst
+++ b/Documentation/topics/design.rst
@@ -446,7 +446,7 @@  definition in OF1.1 ``openflow.h`` is[*]:
 
 The confusing part is the comment on the ``data[]`` member.  This comment is a
 leftover from OF1.0 ``openflow.h``, in which the comment was correct:
-``sizeof(struct ofp_packet_in)`` is 20 in OF1.0 and ``ffsetof(struct
+``sizeof(struct ofp_packet_in)`` is 20 in OF1.0 and ``offsetof(struct
 ofp_packet_in, data)`` is 18.  When OF1.1 was written, the structure members
 were changed but the comment was carelessly not updated, and the comment became
 wrong: ``sizeof(struct ofp_packet_in)`` and offsetof(struct ofp_packet_in,
diff --git a/Documentation/topics/dpdk/bridge.rst b/Documentation/topics/dpdk/bridge.rst
index f645b9a..f985206 100644
--- a/Documentation/topics/dpdk/bridge.rst
+++ b/Documentation/topics/dpdk/bridge.rst
@@ -178,7 +178,7 @@  get command, note the updated priority of the ``avx512_gather`` function ::
             5 : avx512_gather
 
 If two lookup functions have the same priority, the first one in the list is
-chosen, and the 2nd occurance of that priority is not used. Put in logical
+chosen, and the 2nd occurrence of that priority is not used. Put in logical
 terms, a subtable is chosen if its priority is greater than the previous
 best candidate.
 
@@ -390,8 +390,8 @@  the following test-case in tests/system-dpdk.at ::
     make check-dpdk TESTSUITEFLAGS='-k MFEX'
     OVS-DPDK - MFEX Autovalidator
 
-The unit test uses mulitple traffic type to test the correctness of the
-implementaions.
+The unit test uses multiple traffic type to test the correctness of the
+implementations.
 
 The MFEX commands can also be tested for negative and positive cases to
 verify that the MFEX set command does not allow for incorrect parameters.
diff --git a/Documentation/topics/dpdk/pmd.rst b/Documentation/topics/dpdk/pmd.rst
index e659fef..b83af53 100644
--- a/Documentation/topics/dpdk/pmd.rst
+++ b/Documentation/topics/dpdk/pmd.rst
@@ -61,8 +61,8 @@  To clear previous stats::
 
     $ ovs-appctl dpif-netdev/pmd-stats-clear
 
-Port/Rx Queue Assigment to PMD Threads
---------------------------------------
+Port/Rx Queue Assignment to PMD Threads
+---------------------------------------
 
 .. todo::
 
@@ -297,7 +297,7 @@  or a week.
 
 .. note::
     In some scenarios it may not be desired to have Auto Load Balancing
-    triggerred. For example, if traffic profile for specific RX queue is
+    triggered. For example, if traffic profile for specific RX queue is
     changing dramatically very frequently which in turn thrashes CPU cache
     due to changes required in dpctl flows and EMC for newly added flows.
     In such scenarios user should configure rebalance interval accordingly
diff --git a/Documentation/topics/dpdk/vhost-user.rst b/Documentation/topics/dpdk/vhost-user.rst
index 4545f8f..b1d3acc 100644
--- a/Documentation/topics/dpdk/vhost-user.rst
+++ b/Documentation/topics/dpdk/vhost-user.rst
@@ -269,7 +269,7 @@  similar to the following::
 
     QEMU waiting for connection on: disconnected:unix:/path/to/socket,server
 
-QEMU will wait until the port is created sucessfully in OVS to boot the VM.
+QEMU will wait until the port is created successfully in OVS to boot the VM.
 One benefit of using this mode is the ability for vHost ports to 'reconnect' in
 event of the switch crashing or being brought down. Once it is brought back up,
 the vHost ports will reconnect automatically and normal service will resume.
diff --git a/Documentation/topics/integration.rst b/Documentation/topics/integration.rst
index 060e1bd..92b24f4 100644
--- a/Documentation/topics/integration.rst
+++ b/Documentation/topics/integration.rst
@@ -263,7 +263,7 @@  with the active server::
 2. Using load balancer vip ip as a master_ip.  In order to use this feature,
 one needs to use listen_on_master_ip_only to no.  Current code for load
 balancer have been tested to work with tcp protocol and needs to be
-tested/enchanced for ssl. Using load balancer, standby nodes will not listen on
+tested/enhanced for ssl. Using load balancer, standby nodes will not listen on
 nb and sb db ports so that load balancer will always communicate to the active
 node and all the traffic will be sent to active node only.  Standby will
 continue to sync using LB VIP IP in this case.
diff --git a/Documentation/topics/openflow.rst b/Documentation/topics/openflow.rst
index b4e49be..9aa6518 100644
--- a/Documentation/topics/openflow.rst
+++ b/Documentation/topics/openflow.rst
@@ -102,7 +102,7 @@  specs carefully yet.)
 
   An implementation in generic code might be a week's worth of work.  The value
   of an implementation in generic code is questionable, though, since much of
-  the benefit of axuiliary connections is supposed to be to take advantage of
+  the benefit of auxiliary connections is supposed to be to take advantage of
   hardware support.  (We could make the kernel module somehow send packets
   across the auxiliary connections directly, for some kind of "hardware"
   support, if we judged it useful enough.)
diff --git a/Documentation/topics/ovsdb-relay.rst b/Documentation/topics/ovsdb-relay.rst
index 50a3c6d..1ee00e1 100644
--- a/Documentation/topics/ovsdb-relay.rst
+++ b/Documentation/topics/ovsdb-relay.rst
@@ -65,7 +65,7 @@  Here relay service model comes into play.
 
 Solution for the scaling issue could look like a 2-tier deployment, where
 a set of relay servers is connected to the main database cluster
-(OVN_Southbound) and clients (ovn-conrtoller) connected to these relay
+(OVN_Southbound) and clients (ovn-controller) connected to these relay
 servers::
 
                                     172.16.0.1
diff --git a/Documentation/topics/porting.rst b/Documentation/topics/porting.rst
index 839b04d..b627fde 100644
--- a/Documentation/topics/porting.rst
+++ b/Documentation/topics/porting.rst
@@ -210,7 +210,7 @@  vSwitch architecture:
 ::
 
 
-    Architecure
+    Architecture
 
                _
               |   +-------------------+
diff --git a/Documentation/topics/testing.rst b/Documentation/topics/testing.rst
index 0ddcbd5..e976be9 100644
--- a/Documentation/topics/testing.rst
+++ b/Documentation/topics/testing.rst
@@ -398,7 +398,7 @@  Static Code Analysis
 ~~~~~~~~~~~~~~~~~~~~
 
 Static Analysis is a method of debugging Software by examining code rather than
-actually executing it. This can be done through 'scan-build' commandline
+actually executing it. This can be done through 'scan-build' command-line
 utility which internally uses clang (or) gcc to compile the code and also
 invokes a static analyzer to do the code analysis. At the end of the build, the
 reports are aggregated in to a common folder and can later be analyzed using
@@ -469,7 +469,7 @@  Proof of Concepts
 ~~~~~~~~~~~~~~~~~
 
 Proof of Concepts are documentation materialized into Ansible recipes
-executed in VirtualBox or Libvirt environments orchastrated by Vagrant.
+executed in VirtualBox or Libvirt environments orchestrated by Vagrant.
 Proof of Concepts allow developers to create small virtualized setups that
 demonstrate how certain Open vSwitch features are intended to work avoiding
 user introduced errors by overlooking instructions.  Proof of Concepts
diff --git a/Documentation/tutorials/ovs-advanced.rst b/Documentation/tutorials/ovs-advanced.rst
index fa9fdc7..344ae57 100644
--- a/Documentation/tutorials/ovs-advanced.rst
+++ b/Documentation/tutorials/ovs-advanced.rst
@@ -112,7 +112,7 @@  the "exit" shell command or pressing Control+D).  This will kill the daemons
 that ``ovs-sandbox`` started, but it leaves the "sandbox" directory and its
 contents in place.
 
-The sandbox directory contains log files for the Open vSwitch dameons.  You can
+The sandbox directory contains log files for the Open vSwitch daemons.  You can
 examine them while you're running in the sandboxed environment or after you
 exit.
 
diff --git a/Documentation/tutorials/ovs-conntrack.rst b/Documentation/tutorials/ovs-conntrack.rst
index e8a58c4..07b510a 100644
--- a/Documentation/tutorials/ovs-conntrack.rst
+++ b/Documentation/tutorials/ovs-conntrack.rst
@@ -28,7 +28,7 @@  OVS Conntrack Tutorial
 OVS can be used with the Connection tracking system
 where OpenFlow flow can be used to match on the state of a TCP, UDP, ICMP,
 etc., connections. (Connection tracking system supports tracking of both
-statefull and stateless protocols)
+stateful and stateless protocols)
 
 This tutorial demonstrates how OVS can use the connection tracking system
 to match on the TCP segments from connection setup to connection tear down.
diff --git a/NEWS b/NEWS
index f5bd79b..4d6c1c2 100644
--- a/NEWS
+++ b/NEWS
@@ -38,7 +38,7 @@  v2.16.0 - 16 Aug 2021
        For more information: ovsdb(7) and Documentation/topics/ovsdb-relay.rst
      * New command line options --record/--replay for ovsdb-server and
        ovsdb-client to record and replay all the incoming transactions,
-       monitors, etc.  More datails in Documentation/topics/record-replay.rst.
+       monitors, etc.  More details in Documentation/topics/record-replay.rst.
      * The Python Idl class now has a cooperative_yield() method that can be
        overridden by an application that uses eventlet / gevent / asyncio with
        the desired yield method (e.g. {eventlet,gevent,asyncio}.sleep(0)) to
@@ -72,7 +72,7 @@  v2.16.0 - 16 Aug 2021
      * Add study function to miniflow function table which studies packet
        and automatically chooses the best miniflow implementation for that
        traffic.
-     * Add build time configure command to enable auto-validatior as default
+     * Add build time configure command to enable auto-validator as default
        miniflow implementation at build time.
      * Cache results for CPU ISA checks, reduces overhead on repeated lookups.
      * Add AVX512 based optimized miniflow extract function for traffic type
@@ -91,9 +91,9 @@  v2.16.0 - 16 Aug 2021
        until further releases.
      * New debug appctl command 'dpdk/get-malloc-stats'.
      * Add hardware offload support for tunnel pop action (experimental).
-       Available only if DPDK experimantal APIs enabled during the build.
+       Available only if DPDK experimental APIs enabled during the build.
      * Add hardware offload support for VXLAN flows (experimental).
-       Available only if DPDK experimantal APIs enabled during the build.
+       Available only if DPDK experimental APIs enabled during the build.
      * EAL options --socket-mem and --socket-limit to have default values
        removed with 2.17 release. Logging added to alert users.
    - ovsdb-tool:
@@ -143,7 +143,7 @@  v2.15.0 - 15 Feb 2021
        that allows configuring the MAC address of a VF representor.
      * Add generic IP protocol support to conntrack. With this change, all
        none UDP, TCP, and ICMP traffic will be treated as general L3
-       traffic, i.e. using 3 tupples.
+       traffic, i.e. using 3 tuples.
      * Add parameters 'pmd-auto-lb-load-threshold' and
        'pmd-auto-lb-improvement-threshold' to configure PMD auto load balance
        behaviour.
@@ -311,7 +311,7 @@  v2.12.0 - 03 Sep 2019
        datapath regardless of '--cleanup' option. Use '--cleanup' to remove
        internal ports too.
      * Removed experimental tag for SMC cache.
-     * Datapath classifer code refactored to enable function pointers to select
+     * Datapath classifier code refactored to enable function pointers to select
        the lookup implementation at runtime. This enables specialization of
        specific subtables based on the miniflow attributes, enhancing the
        performance of the subtable search.
@@ -1033,7 +1033,7 @@  v2.3.0 - 14 Aug 2014
      ovs-vswitchd.
    - Linux kernel datapath now has an exact match cache optimizing the
      flow matching process.
-   - Datapath flows now have partially wildcarded tranport port field
+   - Datapath flows now have partially wildcarded transport port field
      matches.  This reduces userspace upcalls, but increases the
      number of different masks in the datapath.  The kernel datapath
      exact match cache removes the overhead of matching the incoming
diff --git a/acinclude.m4 b/acinclude.m4
index 8ab690f..e7f5931 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -754,7 +754,7 @@  AC_DEFUN([OVS_CHECK_LINUX_COMPAT], [
   OVS_GREP_IFELSE([$KSRC/include/net/inetpeer.h], [vif],
                   [OVS_DEFINE([HAVE_INETPEER_VIF_SUPPORT])])
 
-  dnl Check for dst_cache and ipv6 lable to use backported tunnel infrastructure.
+  dnl Check for dst_cache and ipv6 label to use backported tunnel infrastructure.
   dnl OVS does not really need ipv6 label field, but its presence signifies that
   dnl the stack has all required ipv6 support.
   dnl OVS also does not need dst_cache But this dependency allows us to write
diff --git a/build-aux/cccl b/build-aux/cccl
index e2426fb..78782c4 100644
--- a/build-aux/cccl
+++ b/build-aux/cccl
@@ -69,7 +69,7 @@  cccl 0.03
 
 Copyright 2000-2003 Geoffrey Wossum
 This is free software; see the source for copying conditions.  There is NO
-waranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 EOF
         exit 1;
         ;;
diff --git a/datapath-windows/include/OvsDpInterfaceExt.h b/datapath-windows/include/OvsDpInterfaceExt.h
index 5fd8000..3dd6251 100644
--- a/datapath-windows/include/OvsDpInterfaceExt.h
+++ b/datapath-windows/include/OvsDpInterfaceExt.h
@@ -54,7 +54,7 @@ 
 
 /*
  * On platforms that support netlink natively, the operating system assigns a
- * dynamic value to a netlink family when it is registered. In the absense of
+ * dynamic value to a netlink family when it is registered. In the absence of
  * such mechanism, defined hard-coded values that are known both to userspace
  * and kernel.
  */
diff --git a/datapath-windows/ovsext/Actions.c b/datapath-windows/ovsext/Actions.c
index 0c18c62..0603a42 100644
--- a/datapath-windows/ovsext/Actions.c
+++ b/datapath-windows/ovsext/Actions.c
@@ -528,9 +528,9 @@  OvsCompleteNBLForwardingCtx(OvsForwardingContext *ovsFwdCtx,
  * OvsDoFlowLookupOutput --
  *     Function to be used for the second stage of a tunneling workflow, ie.:
  *     - On the encapsulated packet on Tx path, to do a flow extract, flow
- *       lookup and excuting the actions.
+ *       lookup and executing the actions.
  *     - On the decapsulated packet on Rx path, to do a flow extract, flow
- *       lookup and excuting the actions.
+ *       lookup and executing the actions.
  *
  *     XXX: It is assumed that the NBL in 'ovsFwdCtx' is owned by OVS. This is
  *     until the new buffer management framework is adopted.
@@ -906,7 +906,7 @@  OvsOutputForwardingCtx(OvsForwardingContext *ovsFwdCtx)
                                           ovsFwdCtx->completionList,
                                           &ovsFwdCtx->layers, FALSE);
             if (status != NDIS_STATUS_SUCCESS) {
-                dropReason = L"Dropped due to resouces.";
+                dropReason = L"Dropped due to resources.";
                 goto dropit;
             }
         }
@@ -1089,7 +1089,7 @@  OvsPopFieldInPacketBuf(OvsForwardingContext *ovsFwdCtx,
                                   NULL, &ovsFwdCtx->layers, FALSE);
     if (status != NDIS_STATUS_SUCCESS) {
         OvsCompleteNBLForwardingCtx(ovsFwdCtx,
-                                    L"Dropped due to resouces");
+                                    L"Dropped due to resources");
         return NDIS_STATUS_RESOURCES;
     }
 
@@ -1108,7 +1108,7 @@  OvsPopFieldInPacketBuf(OvsForwardingContext *ovsFwdCtx,
         return NDIS_STATUS_FAILURE;
     }
     bufferStart += NET_BUFFER_CURRENT_MDL_OFFSET(curNb);
-    /* XXX At the momemnt !bufferData means it should be treated as VLAN. We
+    /* XXX At the moment !bufferData means it should be treated as VLAN. We
      * should split the function and refactor. */
     if (!bufferData) {
         EthHdr *ethHdr = (EthHdr *)bufferStart;
@@ -1881,7 +1881,7 @@  OvsOutputUserspaceAction(OvsForwardingContext *ovsFwdCtx,
     /* Indicate the packet is from egress-tunnel direction */
     egrTunAttr = NlAttrFindNested(attr, OVS_USERSPACE_ATTR_EGRESS_TUN_PORT);
 
-    /* Fill tunnel key to export to usersspace to calculate the template id */
+    /* Fill tunnel key to export to userspace to calculate the template id */
     if (egrTunAttr) {
         RtlZeroMemory(&tunKey,  sizeof tunKey);
         RtlCopyMemory(&tunKey, &ovsFwdCtx->tunKey, sizeof tunKey);
diff --git a/datapath-windows/ovsext/BufferMgmt.c b/datapath-windows/ovsext/BufferMgmt.c
index acf3c13..f088d72 100644
--- a/datapath-windows/ovsext/BufferMgmt.c
+++ b/datapath-windows/ovsext/BufferMgmt.c
@@ -70,7 +70,7 @@ 
  *     3. New Allocated NBL will have src port set to default port id
  *     4. If original packet has direction flag set, the copied or partial
  *        copied NBL will still be in same direction.
- *     5. When you advance or retreate the buffer, you may need to update
+ *     5. When you advance or retreat the buffer, you may need to update
  *        relevant meta data to keep it consistent.
  *
  * ****************************************************************************
@@ -373,7 +373,7 @@  OvsDumpNetBufferList(PNET_BUFFER_LIST nbl)
  *       NBL + NB + MBL + Data + Context
  *    Please note:
  *       * Forwarding Context is allocated, but forwarding detail information
- *       is not initailized.
+ *       is not initialized.
  *       * The headroom can not be larger than OVS_DEFAULT_HEADROOM_SIZE(128
  *       byte).
  * --------------------------------------------------------------------------
@@ -1140,7 +1140,7 @@  GetSegmentHeaderInfo(PNET_BUFFER_LIST nbl,
     TCPHdr tcpStorage;
     const TCPHdr *tcp;
 
-    /* Parse the orginal Eth/IP/TCP header */
+    /* Parse the original Eth/IP/TCP header */
     tcp = OvsGetPacketBytes(nbl, sizeof *tcp, hdrInfo->l4Offset, &tcpStorage);
     if (tcp == NULL) {
         return NDIS_STATUS_FAILURE;
diff --git a/datapath-windows/ovsext/Conntrack-nat.c b/datapath-windows/ovsext/Conntrack-nat.c
index 1607d4c..96d7f07 100644
--- a/datapath-windows/ovsext/Conntrack-nat.c
+++ b/datapath-windows/ovsext/Conntrack-nat.c
@@ -167,9 +167,9 @@  VOID OvsNatCleanup()
 /*
  *----------------------------------------------------------------------------
  * OvsNatPacket
- *     Performs NAT operation on the packet by replacing the source/destinaton
- *     address/port based on natAction. If reverse is TRUE, perform unNAT
- *     instead.
+ *     Performs NAT operation on the packet by replacing the
+ *     source/destination address/port based on natAction. If reverse is TRUE,
+ *     perform unNAT instead.
  *----------------------------------------------------------------------------
  */
 VOID
diff --git a/datapath-windows/ovsext/Conntrack.c b/datapath-windows/ovsext/Conntrack.c
index fd6f3ba..55f61f4 100644
--- a/datapath-windows/ovsext/Conntrack.c
+++ b/datapath-windows/ovsext/Conntrack.c
@@ -1049,7 +1049,7 @@  OvsCtExecute_(OvsForwardingContext *fwdCtx,
  *---------------------------------------------------------------------------
  * OvsExecuteConntrackAction
  *     Executes Conntrack actions XXX - Add more
- *     For the Ipv4 fragments, consume the orginal fragment NBL
+ *     For the Ipv4 fragments, consume the original fragment NBL
  *---------------------------------------------------------------------------
  */
 NDIS_STATUS
diff --git a/datapath-windows/ovsext/Conntrack.h b/datapath-windows/ovsext/Conntrack.h
index bbbf49c..45fd1c2 100644
--- a/datapath-windows/ovsext/Conntrack.h
+++ b/datapath-windows/ovsext/Conntrack.h
@@ -133,7 +133,7 @@  typedef struct OvsConntrackKeyLookupCtx {
     BOOLEAN         related;
 } OvsConntrackKeyLookupCtx;
 
-/* Per zone strucuture. */
+/* Per zone structure. */
 typedef struct _OVS_CT_ZONE_INFO {
     ULONG limit;
     ULONG entries;
diff --git a/datapath-windows/ovsext/Datapath.c b/datapath-windows/ovsext/Datapath.c
index fa99484..5aead89 100644
--- a/datapath-windows/ovsext/Datapath.c
+++ b/datapath-windows/ovsext/Datapath.c
@@ -17,8 +17,8 @@ 
 /*
  * XXX: OVS_USE_NL_INTERFACE is being used to keep the legacy DPIF interface
  * alive while we transition over to the netlink based interface.
- * OVS_USE_NL_INTERFACE = 0 => legacy inteface to use with dpif-windows.c
- * OVS_USE_NL_INTERFACE = 1 => netlink inteface to use with ported dpif-linux.c
+ * OVS_USE_NL_INTERFACE = 0 => legacy interface to use with dpif-windows.c
+ * OVS_USE_NL_INTERFACE = 1 => netlink interface to use with ported dpif-linux.c
  */
 
 #include "precomp.h"
@@ -518,7 +518,7 @@  OvsCreateDeviceObject(NDIS_HANDLE ovsExtDriverHandle)
     if (status == NDIS_STATUS_SUCCESS) {
         OvsRegisterSystemProvider((PVOID)gOvsDeviceObject);
     } else {
-        OVS_LOG_ERROR("Failed to regiser pseudo device, error: 0x%08x",
+        OVS_LOG_ERROR("Failed to register pseudo device, error: 0x%08x",
                       status);
     }
 
@@ -1001,7 +1001,7 @@  done:
     OvsReleaseSwitchContext(gOvsSwitchContext);
 
 exit:
-    /* Should not complete a pending IRP unless proceesing is completed. */
+    /* Should not complete a pending IRP unless processing is completed. */
     if (status == STATUS_PENDING) {
         return status;
     }
@@ -1654,7 +1654,7 @@  OvsPortFillInfo(POVS_USER_PARAMS_CONTEXT usrParamsCtx,
     msgOutTmp.nlMsg.nlmsgType = OVS_WIN_NL_VPORT_FAMILY_ID;
     msgOutTmp.nlMsg.nlmsgFlags = 0;  /* XXX: ? */
 
-    /* driver intiated messages should have zerp seq number*/
+    /* driver initiated messages should have zerp seq number*/
     msgOutTmp.nlMsg.nlmsgSeq = 0;
     msgOutTmp.nlMsg.nlmsgPid = usrParamsCtx->ovsInstance->pid;
 
@@ -1702,7 +1702,7 @@  cleanup:
 /*
  * --------------------------------------------------------------------------
  * Handler for reading events from the driver event queue. This handler is
- * executed when user modes issues a socket receive on a socket assocaited
+ * executed when user modes issues a socket receive on a socket associated
  * with the MC group for events.
  * XXX user mode should read multiple events in one system call
  * --------------------------------------------------------------------------
@@ -1746,7 +1746,7 @@  OvsReadEventCmdHandler(POVS_USER_PARAMS_CONTEXT usrParamsCtx,
             goto cleanup;
         }
 
-        /* Driver intiated messages should have zero seq number */
+        /* Driver initiated messages should have zero seq number */
         status = OvsCreateNlMsgFromCtEntry(&ctEventEntry.entry,
                                            usrParamsCtx->outputBuffer,
                                            usrParamsCtx->outputLength,
diff --git a/datapath-windows/ovsext/Datapath.h b/datapath-windows/ovsext/Datapath.h
index 4276826..891a928 100644
--- a/datapath-windows/ovsext/Datapath.h
+++ b/datapath-windows/ovsext/Datapath.h
@@ -17,8 +17,8 @@ 
 /*
  * XXX: OVS_USE_NL_INTERFACE is being used to keep the legacy DPIF interface
  * alive while we transition over to the netlink based interface.
- * OVS_USE_NL_INTERFACE = 0 => legacy inteface to use with dpif-windows.c
- * OVS_USE_NL_INTERFACE = 1 => netlink inteface to use with ported dpif-linux.c
+ * OVS_USE_NL_INTERFACE = 0 => legacy interface to use with dpif-windows.c
+ * OVS_USE_NL_INTERFACE = 1 => netlink interface to use with ported dpif-linux.c
  */
 
 #ifndef __DATAPATH_H_
diff --git a/datapath-windows/ovsext/Ethernet.h b/datapath-windows/ovsext/Ethernet.h
index 1d69d47..e332830 100644
--- a/datapath-windows/ovsext/Ethernet.h
+++ b/datapath-windows/ovsext/Ethernet.h
@@ -280,7 +280,7 @@  Eth_IsNullAddr(const Eth_Address addr)
  * Eth_HeaderType --
  *      return an Eth_HdrType depending on the eth header
  *      contents.  will not work in all cases, especially since it
- *      requres ETH_HEADER_LEN_802_1PQ bytes to determine the type
+ *      requires ETH_HEADER_LEN_802_1PQ bytes to determine the type
  *
  *      HeaderType isn't sufficient to determine the length of
  *      the eth header.  for 802.3 header, its not clear without
diff --git a/datapath-windows/ovsext/Flow.c b/datapath-windows/ovsext/Flow.c
index ac0582c..05a4da3 100644
--- a/datapath-windows/ovsext/Flow.c
+++ b/datapath-windows/ovsext/Flow.c
@@ -783,15 +783,15 @@  done:
 UINT64
 OvsFlowUsedTime(UINT64 flowUsed)
 {
-    UINT64 currentMs, iddleMs;
+    UINT64 currentMs, idleMs;
     LARGE_INTEGER tickCount;
 
     KeQueryTickCount(&tickCount);
-    iddleMs =  tickCount.QuadPart - flowUsed;
-    iddleMs *= ovsTimeIncrementPerTick;
+    idleMs =  tickCount.QuadPart - flowUsed;
+    idleMs *= ovsTimeIncrementPerTick;
     currentMs = KeQueryPerformanceCounter(&tickCount).QuadPart * 1000 /
                 tickCount.QuadPart;
-    return  currentMs - iddleMs;
+    return  currentMs - idleMs;
 }
 
 /*
diff --git a/datapath-windows/ovsext/IpFragment.c b/datapath-windows/ovsext/IpFragment.c
index afb8e50..ff03e53 100644
--- a/datapath-windows/ovsext/IpFragment.c
+++ b/datapath-windows/ovsext/IpFragment.c
@@ -315,7 +315,7 @@  OvsProcessIpv4Fragment(POVS_SWITCH_CONTEXT switchContext,
             status = NDIS_STATUS_RESOURCES;
             goto payload_copy_error;
         }
-        /* Copy the fragmeny key. */
+        /* Copy the fragment key. */
         NdisZeroMemory(entry, sizeof(OVS_IPFRAG_ENTRY));
         NdisMoveMemory(&(entry->fragKey), &fragKey,
                        sizeof(OVS_IPFRAG_KEY));
diff --git a/datapath-windows/ovsext/IpHelper.c b/datapath-windows/ovsext/IpHelper.c
index d7fa2ca..2d289fd 100644
--- a/datapath-windows/ovsext/IpHelper.c
+++ b/datapath-windows/ovsext/IpHelper.c
@@ -1797,7 +1797,7 @@  OvsUpdateIPNeighEntry(UINT32 ipAddr,
 /*
  *----------------------------------------------------------------------------
  *  IP Helper system thread handles the following requests:
- *    1. Intialize Internal port row when internal port is connected
+ *    1. Initialize Internal port row when internal port is connected
  *    2. Handle FWD request
  *    3. Handle IP Neigh timeout
  *
diff --git a/datapath-windows/ovsext/NetProto.h b/datapath-windows/ovsext/NetProto.h
index 9a17dee..def69bb 100644
--- a/datapath-windows/ovsext/NetProto.h
+++ b/datapath-windows/ovsext/NetProto.h
@@ -78,7 +78,7 @@  typedef UINT64 IP6UnitLength;
 /*
  * This is the maximum value for the length field in the IP header. The meaning
  * varies with IP protocols:
- *    IPv4: the total ip length (including ip header and extention)
+ *    IPv4: the total ip length (including ip header and extension)
  *    IPv6: the IP payload length (including IP extensions)
  */
 #define IP_MAX_PACKET          0xFFFF
@@ -151,7 +151,7 @@  typedef UINT64 IP6UnitLength;
 #define ND_ROUTER_SOLICIT          133
 #define ND_ROUTER_ADVERT           134
 #define ND_NEIGHBOR_SOLICIT        135     /* neighbor solicitation */
-#define ND_NEIGHBOR_ADVERT         136     /* neighbor advertisment */
+#define ND_NEIGHBOR_ADVERT         136     /* neighbor advertisement */
 #define ND_REDIRECT                137
 
 
diff --git a/datapath-windows/ovsext/Netlink/Netlink.c b/datapath-windows/ovsext/Netlink/Netlink.c
index f4a0050..66e8d97 100644
--- a/datapath-windows/ovsext/Netlink/Netlink.c
+++ b/datapath-windows/ovsext/Netlink/Netlink.c
@@ -568,7 +568,7 @@  NlMsgStartNested(PNL_BUFFER buf, UINT16 type)
     nlaData = NlMsgPutTailUnspecUninit(buf, type, 0);
 
     if (!nlaData) {
-        /* Value zero must be reated as error by the caller.
+        /* Value zero must be treated as error by the caller.
          * This is because an attribute can never be added
          * at offset zero, it will always come after NL_MSG_HDR,
          * GENL_HDR and OVS_HEADER. */
@@ -750,7 +750,7 @@  NlAttrIsValid(const PNL_ATTR nla, UINT32 maxlen)
 
 /*
  * ---------------------------------------------------------------------------
- * Returns alligned length of the attribute.
+ * Returns aligned length of the attribute.
  * ---------------------------------------------------------------------------
  */
 UINT32
@@ -781,7 +781,7 @@  NlAttrMinLen(NL_ATTR_TYPE type)
     case NL_A_NESTED: return 0;
     case N_NL_ATTR_TYPES:
     default:
-    OVS_LOG_WARN("Unsupprted attribute type: %d", type);
+    OVS_LOG_WARN("Unsupported attribute type: %d", type);
     ASSERT(0);
     }
 
@@ -809,7 +809,7 @@  NlAttrMaxLen(NL_ATTR_TYPE type)
     case NL_A_NESTED: return SIZE_MAX;
     case N_NL_ATTR_TYPES:
     default:
-    OVS_LOG_WARN("Unsupprted attribute type: %d", type);
+    OVS_LOG_WARN("Unsupported attribute type: %d", type);
     ASSERT(0);
     }
 
diff --git a/datapath-windows/ovsext/Netlink/NetlinkBuf.c b/datapath-windows/ovsext/Netlink/NetlinkBuf.c
index 639b6e5..1e04107 100644
--- a/datapath-windows/ovsext/Netlink/NetlinkBuf.c
+++ b/datapath-windows/ovsext/Netlink/NetlinkBuf.c
@@ -15,7 +15,7 @@ 
  */
 
 /* ==========================================================================
- * This is a simple buffer mangement framework specific for netlink protocol.
+ * This is a simple buffer management framework specific for netlink protocol.
  * The name could be confused with ovsext/BufferMgmt.c. Ovsext/BufferMgmt.c
  * deals with buffer mgmt for NBLs. Where as this framework deals with
  * management of buffer that holds a netlink message.
@@ -26,13 +26,13 @@ 
  * We can see this framework as a subset of ofpbuf in ovs userspace.
  *
  * This framework is NOT a generic buffer management framework (ofpbuf
- * is a generic buffer mgmt framework) and provides only the functioanlities
+ * is a generic buffer mgmt framework) and provides only the functionalities
  * which would be useful for netlink protocol. Some of the key features are:
  *
  * a. It DOES NOT support automatic buffer reallocation.
  *    i. A netlink input/output message is a static buffer.
  * b. The unused space is at the tail.
- * c. There is no notion of headdroom.
+ * c. There is no notion of headroom.
  * ==========================================================================
  */
 #include <ndis.h>
diff --git a/datapath-windows/ovsext/Offload.c b/datapath-windows/ovsext/Offload.c
index bdd9a18..d55c99c 100644
--- a/datapath-windows/ovsext/Offload.c
+++ b/datapath-windows/ovsext/Offload.c
@@ -57,7 +57,7 @@ 
  *     ------------------------------------------------
  *
  * Result:
- *    As name indicate, the final data is not 1's complemnent
+ *    As name indicate, the final data is not 1's complement
  *----------------------------------------------------------------------------
  */
 UINT64
@@ -118,12 +118,12 @@  CalculateOnesComplement(UINT8 *start,
  * CalculateChecksum --
  *
  *   Given the start point, and length, calculate the checksum
- *   as 1's complement of 1's comlement.
+ *   as 1's complement of 1's complement.
  *
- *   This assume the checksum field is initailized properly.
+ *   This assume the checksum field is initialized properly.
  *
  * Input Parameter:
- *    ptr:  point to the data to be checksumed
+ *    ptr:  point to the data to be checksummed
  *    totalLength: total length of the data
  *    initial: inital value to remit the checksum. Please note this
  *             value should be network byte order value.
@@ -160,7 +160,7 @@  CalculateChecksum(UINT8 *ptr,
  *     ------------------------------------------------
  *
  * Result:
- *    As name indicate, the final data is not 1's complemnent
+ *    As name indicate, the final data is not 1's complement
  *----------------------------------------------------------------------------
  */
 UINT64
@@ -245,7 +245,7 @@  CopyAndCalculateChecksum(UINT8 *dst,
  *   Give IP header, calculate the IP checksum.
  *   We assume IP checksum field is initialized properly
  *
- *  Input Pramater:
+ *  Input Parameter:
  *   ipHdr: IP header start point
  *   length: IP header length (potentially include IP options)
  *   initial: same as CalculateChecksum
@@ -357,9 +357,9 @@  IPv6PseudoChecksum(UINT32 *src,
  *  calculate the new checksum.
  *  Please check relevant RFC for reference.
  *
- *  Input Pramater:
+ *  Input Parameter:
  *     oldSum: old checksum value in checksum field
- *     prev:   previous value of relevant 32 bit feld in network
+ *     prev:   previous value of relevant 32 bit field in network
  *             byte order.
  *     new:    new value of the relevant 32 bit field in network
  *             byte order.
@@ -392,9 +392,9 @@  ChecksumUpdate32(UINT16 oldSum,
  *  calculate the new checksum.
  *  Please check relevant RFC for reference.
  *
- *  Input Pramater:
+ *  Input Parameter:
  *     oldSum: old checksum value in checksum field
- *     prev:   previous value of relevant 32 bit feld in network
+ *     prev:   previous value of relevant 32 bit field in network
  *             byte order.
  *     new:    new value of the relevant 32 bit field in network
  *             byte order.
@@ -423,7 +423,7 @@  ChecksumUpdate16(UINT16 oldSum,
  * nb           : NB which contains the packet bytes.
  * csumDataLen  : Length of bytes to be checksummed.
  * offset       : offset to the first bytes of the data stream to be
- *                checksumed.
+ *                checksummed.
  *
  * Result:
  *  return 0, if there is a failure.
diff --git a/datapath-windows/ovsext/Oid.c b/datapath-windows/ovsext/Oid.c
index 7c7ffe7..27ae830 100644
--- a/datapath-windows/ovsext/Oid.c
+++ b/datapath-windows/ovsext/Oid.c
@@ -240,7 +240,7 @@  OvsProcessSetOid(POVS_SWITCH_CONTEXT switchObject,
     OVS_LOG_TRACE("Enter: oidRequest %p, Oid: %lu",
                   oidRequest, setInfo->Oid);
 
-    /* Verify the basic Oid paramters first */
+    /* Verify the basic Oid parameters first */
     if (setInfo->InformationBufferLength &&
        (setInfo->InformationBufferLength < sizeof(NDIS_OBJECT_HEADER))) {
         status = NDIS_STATUS_INVALID_OID;
diff --git a/datapath-windows/ovsext/Stt.c b/datapath-windows/ovsext/Stt.c
index 0220a6e..61ba270 100644
--- a/datapath-windows/ovsext/Stt.c
+++ b/datapath-windows/ovsext/Stt.c
@@ -258,7 +258,7 @@  OvsDoEncapStt(POVS_VPORT_ENTRY vport,
         }
 
         /*
-         * Make sure that the headroom for the tunnel header is continguous in
+         * Make sure that the headroom for the tunnel header is contiguous in
          * memory.
          */
         curMdl = NET_BUFFER_CURRENT_MDL(curNb);
diff --git a/datapath-windows/ovsext/Switch.c b/datapath-windows/ovsext/Switch.c
index 1ac4fa7..3bbab70 100644
--- a/datapath-windows/ovsext/Switch.c
+++ b/datapath-windows/ovsext/Switch.c
@@ -459,7 +459,7 @@  OvsInitSwitchContext(POVS_SWITCH_CONTEXT switchContext)
     switchContext->dpNo = OVS_DP_NUMBER;
     ovsTimeIncrementPerTick = KeQueryTimeIncrement() / 10000;
 
-    OVS_LOG_TRACE("Exit: Succesfully initialized switchContext: %p",
+    OVS_LOG_TRACE("Exit: Successfully initialized switchContext: %p",
                   switchContext);
     return NDIS_STATUS_SUCCESS;
 }
diff --git a/datapath-windows/ovsext/Switch.h b/datapath-windows/ovsext/Switch.h
index 806ee78..e85b362 100644
--- a/datapath-windows/ovsext/Switch.h
+++ b/datapath-windows/ovsext/Switch.h
@@ -32,7 +32,7 @@ 
 
 #define OVS_INTERNAL_VPORT_DEFAULT_INDEX 0
 
-//Tunnel port indicies
+//Tunnel port indices
 #define RESERVED_START_INDEX1    1
 #define OVS_TUNNEL_INDEX_START RESERVED_START_INDEX1
 #define OVS_VXLAN_VPORT_INDEX    2
diff --git a/datapath-windows/ovsext/Tunnel.c b/datapath-windows/ovsext/Tunnel.c
index 5d1be80..22d3da1 100644
--- a/datapath-windows/ovsext/Tunnel.c
+++ b/datapath-windows/ovsext/Tunnel.c
@@ -71,7 +71,7 @@  OvsTunnelAnalyzePacket(OVS_TUNNEL_PENDED_PACKET *packet)
 
     /*
      * For inbound net buffer list, we can assume it contains only one
-     * net buffer (unless it was an re-assembeled fragments). in both cases
+     * net buffer (unless it was an re-assembled fragments). in both cases
      * the first net buffer should include all headers, we assert if the retreat fails
      */
     netBuffer = NET_BUFFER_LIST_FIRST_NB(packet->netBufferList);
@@ -260,7 +260,7 @@  OvsInjectPacketThroughActions(PNET_BUFFER_LIST pNbl,
 
         /*
          * XXX WFP packets contain a single NBL structure.
-         * Reassembeled packet "may" have multiple NBs, however, a simple test shows
+         * Reassembled packet "may" have multiple NBs, however, a simple test shows
          * that the packet still has a single NB (after reassemble)
          * We still need to check if the Ethernet header of the innet packet is in a single MD
          */
diff --git a/datapath-windows/ovsext/TunnelFilter.c b/datapath-windows/ovsext/TunnelFilter.c
index 9939415..eb7be58 100644
--- a/datapath-windows/ovsext/TunnelFilter.c
+++ b/datapath-windows/ovsext/TunnelFilter.c
@@ -134,7 +134,7 @@  typedef struct _OVS_TUNFLT_REQUEST {
 } OVS_TUNFLT_REQUEST, *POVS_TUNFLT_REQUEST;
 
 typedef struct _OVS_TUNFLT_REQUEST_LIST {
-    /* SpinLock for syncronizing access to the requests list. */
+    /* SpinLock for synchronizing access to the requests list. */
     NDIS_SPIN_LOCK spinlock;
     /* Head of the requests list. */
     LIST_ENTRY     head;
@@ -1047,7 +1047,7 @@  OvsTunnelFilterRequestPush(POVS_TUNFLT_REQUEST_LIST listRequests,
         if (irp->Cancel) {
             /*
              * The IRP has already been cancelled.
-             * Determine wheather the Cancel routine has started to run.
+             * Determine whether the Cancel routine has started to run.
              */
             oldCancelRoutine = IoSetCancelRoutine(irp, NULL);
             if (oldCancelRoutine) {
diff --git a/datapath-windows/ovsext/User.c b/datapath-windows/ovsext/User.c
index ee0e38d..269d9f8 100644
--- a/datapath-windows/ovsext/User.c
+++ b/datapath-windows/ovsext/User.c
@@ -870,7 +870,7 @@  OvsGetUpcallMsgSize(PVOID userData,
  *----------------------------------------------------------------------------
  * This function completes the IP Header csum. record the L4 payload offset and
  * if there is a need to calculate the TCP or UDP csum. The actual csum will be
- * caluculated simopultaneossly with the copy of the payload to the destination
+ * calculated simultaneously with the copy of the payload to the destination
  * buffer when the packet is read.
  *----------------------------------------------------------------------------
  */
@@ -898,7 +898,7 @@  OvsCompletePacketHeader(UINT8 *packet,
      */
     if (isRecv && csumInfo.Receive.TcpChecksumValueInvalid) {
         /*
-         * Only this case, we need to reclaculate pseudo checksum
+         * Only this case, we need to recalculate pseudo checksum
          * all other cases, it is assumed the pseudo checksum is
          * filled already.
          *
@@ -1143,8 +1143,8 @@  OvsCreateQueueNlPacket(PVOID userData,
 
     /*
      * Make space for the payload to be copied and set the attribute
-     * XXX Uninit set initilizes the buffer with xero, we don't actually need
-     * that the payload to be initailized
+     * XXX Uninit set initializes the buffer with xero, we don't actually need
+     * that the payload to be initialized
      */
     dst = (UINT8 *)NlMsgPutTailUnspecUninit(&nlBuf, OVS_PACKET_ATTR_PACKET,
                                             (UINT16)(dataLen + extraLen));
@@ -1267,14 +1267,14 @@  OvsPendPacketCmdHandler(POVS_USER_PARAMS_CONTEXT usrParamsCtx,
 
     /*
      * XXX access to packet queue must be through acquiring a lock as user mode
-     * could unsubscribe and the instnace will be freed.
+     * could unsubscribe and the instance will be freed.
      */
     return OvsWaitDpIoctl(usrParamsCtx->irp, instance->fileObject);
 }
 
 /*
  * --------------------------------------------------------------------------
- * Handler for reading missed pacckets from the driver event queue. This
+ * Handler for reading missed packets from the driver event queue. This
  * handler is executed when user modes issues a socket receive on a socket
  * --------------------------------------------------------------------------
  */
diff --git a/datapath-windows/ovsext/Vport.c b/datapath-windows/ovsext/Vport.c
index 9f1587f..a8fd6be 100644
--- a/datapath-windows/ovsext/Vport.c
+++ b/datapath-windows/ovsext/Vport.c
@@ -208,7 +208,7 @@  HvUpdatePort(POVS_SWITCH_CONTEXT switchContext,
     vport = OvsFindVportByPortIdAndNicIndex(switchContext,
                                             portParam->PortId, 0);
     /*
-     * Update properties only for NETDEV ports for supprting PS script
+     * Update properties only for NETDEV ports for supporting PS script
      */
     if (vport == NULL) {
         goto update_port_done;
@@ -571,8 +571,8 @@  HvUpdateNic(POVS_SWITCH_CONTEXT switchContext,
 
     /*
      * XXX: Not sure what kind of event to post here. DPIF is not interested in
-     * changes to MAC address. Netdev-windows might be intrested, though.
-     * That said, if the name chagnes, not clear what kind of event to be
+     * changes to MAC address. Netdev-windows might be interested, though.
+     * That said, if the name changes, not clear what kind of event to be
      * posted. We might have to delete the vport, and have userspace recreate
      * it.
      */
@@ -1293,7 +1293,7 @@  InitOvsVportCommon(POVS_SWITCH_CONTEXT switchContext,
 
 /*
  * --------------------------------------------------------------------------
- * Provides functionality that is partly complementatry to
+ * Provides functionality that is partly complementary to
  * InitOvsVportCommon()/UpdateSwitchCtxWithVport().
  *
  * 'hvDelete' indicates if caller is removing the vport as a result of the
@@ -1546,7 +1546,7 @@  cleanup:
 
 /*
  * --------------------------------------------------------------------------
- * Deletes ports added from the Hyper-V switch as well as OVS usersapce. The
+ * Deletes ports added from the Hyper-V switch as well as OVS userspace. The
  * function deletes ports in 'portIdHashArray'. This will delete most of the
  * ports that are in the 'portNoHashArray' as well. Any remaining ports
  * are deleted by walking the 'portNoHashArray'.
diff --git a/datapath-windows/ovsext/Vport.h b/datapath-windows/ovsext/Vport.h
index 32cbf8b..074d77c 100644
--- a/datapath-windows/ovsext/Vport.h
+++ b/datapath-windows/ovsext/Vport.h
@@ -75,7 +75,7 @@  typedef struct _OVS_VPORT_FULL_STATS {
     OVS_VPORT_ERR_STATS;
 }OVS_VPORT_FULL_STATS;
 /*
- * Each internal, external adapter or vritual adapter has
+ * Each internal, external adapter or virtual adapter has
  * one vport entry. In addition, we have one vport for each
  * tunnel type, such as vxlan, gre
  */
diff --git a/datapath/conntrack.c b/datapath/conntrack.c
index fc268ae..661c009 100644
--- a/datapath/conntrack.c
+++ b/datapath/conntrack.c
@@ -37,7 +37,7 @@ 
 /* Upstream commit 4806e975729f ("netfilter: replace NF_NAT_NEEDED with
  * IS_ENABLED(CONFIG_NF_NAT)") replaces the config checking on NF_NAT_NEEDED
  * with CONFIG_NF_NAT.  We will replace the checking on NF_NAT_NEEDED for the
- * newer kernel with the marco in order to keep backward compatiblity.
+ * newer kernel with the marco in order to keep backward compatibility.
  */
 #ifndef HAVE_CONFIG_NF_NAT_NEEDED
 #define CONFIG_NF_NAT_NEEDED  CONFIG_NF_NAT
diff --git a/datapath/datapath.h b/datapath/datapath.h
index c377e9b..280b330 100644
--- a/datapath/datapath.h
+++ b/datapath/datapath.h
@@ -103,7 +103,7 @@  struct datapath {
  * struct ovs_skb_cb - OVS data in skb CB
  * @input_vport: The original vport packet came in on. This value is cached
  * when a packet is received by OVS.
- * @mru: The maximum received fragement size; 0 if the packet is not
+ * @mru: The maximum received fragment size; 0 if the packet is not
  * fragmented.
  * @acts_origlen: The netlink size of the flow actions applied to this skb.
  * @cutlen: The number of bytes from the packet end to be removed.
diff --git a/datapath/flow.c b/datapath/flow.c
index 5a00c23..2196ade 100644
--- a/datapath/flow.c
+++ b/datapath/flow.c
@@ -948,7 +948,7 @@  int ovs_flow_key_extract_userspace(struct net *net, const struct nlattr *attr,
 	 * Here the correct value can be set from the metadata
 	 * extracted above.
 	 * For L2 packet key eth type would be zero. skb protocol
-	 * would be set to correct value later during key-extact.
+	 * would be set to correct value later during key-extract.
 	 */
 
 	skb->protocol = key->eth.type;
diff --git a/datapath/flow_netlink.c b/datapath/flow_netlink.c
index 9960416..ebaf62f 100644
--- a/datapath/flow_netlink.c
+++ b/datapath/flow_netlink.c
@@ -2468,7 +2468,7 @@  static int validate_and_copy_sample(struct net *net, const struct nlattr *attr,
 	 * Set 'clone_action->exec' to true if the actions can be
 	 * executed without being deferred.
 	 *
-	 * If the sample is the last action, it can always be excuted
+	 * If the sample is the last action, it can always be executed
 	 * rather than deferred.
 	 */
 	arg.exec = last || !actions_may_change_flow(actions);
diff --git a/datapath/flow_table.c b/datapath/flow_table.c
index 650338f..92c5b34 100644
--- a/datapath/flow_table.c
+++ b/datapath/flow_table.c
@@ -683,7 +683,7 @@  struct sw_flow *ovs_flow_tbl_lookup_stats(struct flow_table *tbl,
 		return flow_lookup(tbl, ti, ma, key, n_mask_hit, &mask_index);
 	}
 
-	/* Pre and post recirulation flows usually have the same skb_hash
+	/* Pre and post recirculation flows usually have the same skb_hash
 	 * value. To avoid hash collisions, rehash the 'skb_hash' with
 	 * 'recirc_id'.  */
 	if (key->recirc_id)
@@ -868,7 +868,7 @@  static int flow_mask_insert(struct flow_table *tbl, struct sw_flow *flow,
 
 	mask = flow_mask_find(tbl, new);
 	if (!mask) {
-		/* Allocate a new mask if none exsits. */
+		/* Allocate a new mask if none exists. */
 		mask = mask_alloc();
 		if (!mask)
 			return -ENOMEM;
diff --git a/datapath/linux/compat/exthdrs_core.c b/datapath/linux/compat/exthdrs_core.c
index 697f9d0..4a1a8c4 100644
--- a/datapath/linux/compat/exthdrs_core.c
+++ b/datapath/linux/compat/exthdrs_core.c
@@ -27,7 +27,7 @@ 
  * IP6_FH_F_FRAG will be set. If it's an AH header, the
  * IP6_FH_F_AUTH flag is set and target < 0, then this function will
  * stop at the AH header. If IP6_FH_F_SKIP_RH flag was passed, then this
- * function will skip all those routing headers, where segements_left was 0.
+ * function will skip all those routing headers, where segments_left was 0.
  */
 int rpl_ipv6_find_hdr(const struct sk_buff *skb, unsigned int *offset,
 		  int target, unsigned short *fragoff, int *flags)
diff --git a/datapath/linux/compat/include/linux/if_vlan.h b/datapath/linux/compat/include/linux/if_vlan.h
index 3ed7522..6f16f4a 100644
--- a/datapath/linux/compat/include/linux/if_vlan.h
+++ b/datapath/linux/compat/include/linux/if_vlan.h
@@ -174,7 +174,7 @@  static inline void vlan_set_encap_proto(struct sk_buff *skb, struct vlan_hdr *vh
 
 #ifndef HAVE___VLAN_INSERT_TAG
 /* Kernels which don't have __vlan_insert_tag() also don't have skb->vlan_proto
- * so ignore the proto paramter.
+ * so ignore the proto parameter.
  */
 #define __vlan_insert_tag(skb, proto, tci) rpl_vlan_insert_tag(skb, tci)
 static inline int rpl_vlan_insert_tag(struct sk_buff *skb, u16 vlan_tci)
diff --git a/datapath/linux/compat/include/linux/kconfig.h b/datapath/linux/compat/include/linux/kconfig.h
index d3fa57a..643e212 100644
--- a/datapath/linux/compat/include/linux/kconfig.h
+++ b/datapath/linux/compat/include/linux/kconfig.h
@@ -46,4 +46,4 @@ 
 #define IS_MODULE(option) config_enabled(option##_MODULE)
 
 #endif /* IS_ENABLED */
-#endif /* __LINUX_KCONFIG_WRAPER_H */
+#endif /* __LINUX_KCONFIG_WRAPPER_H */
diff --git a/datapath/linux/compat/include/linux/openvswitch.h b/datapath/linux/compat/include/linux/openvswitch.h
index 9366441..6f3a286 100644
--- a/datapath/linux/compat/include/linux/openvswitch.h
+++ b/datapath/linux/compat/include/linux/openvswitch.h
@@ -125,9 +125,9 @@  struct ovs_dp_stats {
 struct ovs_dp_megaflow_stats {
 	__u64 n_mask_hit;	 /* Number of masks used for flow lookups. */
 	__u32 n_masks;		 /* Number of masks for the datapath. */
-	__u32 pad0;		 /* Pad for future expension. */
+	__u32 pad0;		 /* Pad for future expansion. */
 	__u64 n_cache_hit;	 /* Number of cache matches for flow lookups. */
-	__u64 pad1;		 /* Pad for future expension. */
+	__u64 pad1;		 /* Pad for future expansion. */
 };
 
 struct ovs_vport_stats {
@@ -920,7 +920,7 @@  enum ovs_nat_attr {
  * @OVS_CHECK_PKT_LEN_ATTR_PKT_LEN: u16 Packet length to check for.
  * @OVS_CHECK_PKT_LEN_ATTR_USERSPACE_COND: u8 comparison condition to send
  * the packet to userspace. One of OVS_CHECK_PKT_LEN_COND_*.
- * @OVS_CHECK_PKT_LEN_ATTR_USERPACE - Nested OVS_USERSPACE_ATTR_* actions.
+ * @OVS_CHECK_PKT_LEN_ATTR_USERSPACE - Nested OVS_USERSPACE_ATTR_* actions.
  */
 enum ovs_check_pkt_len_attr {
 	OVS_CHECK_PKT_LEN_ATTR_UNSPEC,
@@ -960,7 +960,7 @@  struct check_pkt_len_arg {
  * onto the packet.
  * @OVS_ACTION_ATTR_POP_VLAN: Pop the outermost 802.1Q or 802.1ad header
  * from the packet.
- * @OVS_ACTION_ATTR_SAMPLE: Probabilitically executes actions, as specified in
+ * @OVS_ACTION_ATTR_SAMPLE: Probabilistically executes actions, as specified in
  * the nested %OVS_SAMPLE_ATTR_* attributes.
  * @OVS_ACTION_ATTR_SET: Replaces the contents of an existing header.  The
  * single nested %OVS_KEY_ATTR_* attribute specifies a header to modify and its
diff --git a/datapath/linux/compat/include/linux/udp.h b/datapath/linux/compat/include/linux/udp.h
index 22e57d4..154809f 100644
--- a/datapath/linux/compat/include/linux/udp.h
+++ b/datapath/linux/compat/include/linux/udp.h
@@ -17,7 +17,7 @@  static inline void udp_set_no_check6_rx(struct sock *sk, bool val)
 #ifdef HAVE_SK_NO_CHECK_TX
 	sk->sk_no_check_rx = val;
 #else
-	/* since netwroking stack is not checking for zero UDP checksum
+	/* since networking stack is not checking for zero UDP checksum
 	 * check it in OVS module. */
 	#define OVS_CHECK_UDP_TUNNEL_ZERO_CSUM
 #endif
diff --git a/datapath/linux/compat/include/net/erspan.h b/datapath/linux/compat/include/net/erspan.h
index 4a6a8f2..10aabbd 100644
--- a/datapath/linux/compat/include/net/erspan.h
+++ b/datapath/linux/compat/include/net/erspan.h
@@ -110,7 +110,7 @@  enum erspan_encap_type {
 	ERSPAN_ENCAP_NOVLAN = 0x0,	/* originally without VLAN tag */
 	ERSPAN_ENCAP_ISL = 0x1,		/* originally ISL encapsulated */
 	ERSPAN_ENCAP_8021Q = 0x2,	/* originally 802.1Q encapsulated */
-	ERSPAN_ENCAP_INFRAME = 0x3,	/* VLAN tag perserved in frame */
+	ERSPAN_ENCAP_INFRAME = 0x3,	/* VLAN tag preserved in frame */
 };
 
 #define ERSPAN_V1_MDSIZE	4
@@ -210,7 +210,7 @@  static inline void erspan_build_header(struct sk_buff *skb,
 	enc_type = ERSPAN_ENCAP_NOVLAN;
 
 	/* If mirrored packet has vlan tag, extract tci and
-	 *  perserve vlan header in the mirrored frame.
+	 *  preserve vlan header in the mirrored frame.
 	 */
 	if (eth->h_proto == htons(ETH_P_8021Q)) {
 		qp = (struct qtag_prefix *)(skb->data + 2 * ETH_ALEN);
diff --git a/datapath/linux/compat/include/net/ipv6.h b/datapath/linux/compat/include/net/ipv6.h
index 6379457..c4a1e9a 100644
--- a/datapath/linux/compat/include/net/ipv6.h
+++ b/datapath/linux/compat/include/net/ipv6.h
@@ -56,7 +56,7 @@  static inline __be32 rpl_ip6_make_flowlabel(struct net *net,
 		hash = skb_get_hash(skb);
 
 		/* Since this is being sent on the wire obfuscate hash a bit
-		 * to minimize possbility that any useful information to an
+		 * to minimize possibility that any useful information to an
 		 * attacker is leaked. Only lower 20 bits are relevant.
 		 */
 		hash ^= hash >> 12;
diff --git a/datapath/linux/compat/include/net/udp.h b/datapath/linux/compat/include/net/udp.h
index 4479992..4e29142 100644
--- a/datapath/linux/compat/include/net/udp.h
+++ b/datapath/linux/compat/include/net/udp.h
@@ -34,7 +34,7 @@  static inline __be16 rpl_udp_flow_src_port(struct net *net, struct sk_buff *skb,
 	}
 
 	/* Since this is being sent on the wire obfuscate hash a bit
-	 * to minimize possbility that any useful information to an
+	 * to minimize possibility that any useful information to an
 	 * attacker is leaked. Only upper 16 bits are relevant in the
 	 * computation for 16 bit port value.
 	 */
diff --git a/datapath/linux/compat/include/net/udp_tunnel.h b/datapath/linux/compat/include/net/udp_tunnel.h
index 6e40633..9f2814d 100644
--- a/datapath/linux/compat/include/net/udp_tunnel.h
+++ b/datapath/linux/compat/include/net/udp_tunnel.h
@@ -173,7 +173,7 @@  static inline int rpl_udp_tunnel_handle_offloads(struct sk_buff *skb,
 		fix_segment = ovs_udp_gso;
 	else
 		fix_segment = ovs_udp_csum_gso;
-	/* This functuin is not used by vxlan lan tunnel. On older
+	/* This function is not used by vxlan lan tunnel. On older
 	 * udp offload only supports vxlan, therefore fallback to software
 	 * segmentation.
 	 */
diff --git a/datapath/linux/compat/ip6_gre.c b/datapath/linux/compat/ip6_gre.c
index 3aa9844..cf5f511 100644
--- a/datapath/linux/compat/ip6_gre.c
+++ b/datapath/linux/compat/ip6_gre.c
@@ -646,7 +646,7 @@  drop:
 
 #if LINUX_VERSION_CODE < KERNEL_VERSION(4,7,0)
 #include "gso.h"
-/* gre_handle_offloads() has different return type on older kernsl. */
+/* gre_handle_offloads() has different return type on older kernel. */
 static void gre_nop_fix(struct sk_buff *skb) { }
 
 static void gre_csum_fix(struct sk_buff *skb)
@@ -2715,7 +2715,7 @@  int rpl_ip6gre_init(void)
 	return err;
 
 ip6_gre_loaded:
-	/* Since IPv6 GRE only allows single receiver to be registerd,
+	/* Since IPv6 GRE only allows single receiver to be registered,
 	 * we skip here so only transmit works, see:
 	 *
 	 * commit f9242b6b28d61295f2bf7e8adfb1060b382e5381
diff --git a/datapath/linux/compat/ip6_output.c b/datapath/linux/compat/ip6_output.c
index 6888842..530d7b0 100644
--- a/datapath/linux/compat/ip6_output.c
+++ b/datapath/linux/compat/ip6_output.c
@@ -16,7 +16,7 @@ 
  *      2 of the License, or (at your option) any later version.
  *
  *	Changes:
- *	A.N.Kuznetsov	:	airthmetics in fragmentation.
+ *	A.N.Kuznetsov	:	arithmetics in fragmentation.
  *				extension headers are implemented.
  *				route changes now work.
  *				ip6_forward does not confuse sniffers.
diff --git a/datapath/linux/compat/ip6_tunnel.c b/datapath/linux/compat/ip6_tunnel.c
index 984a51b..7919283 100644
--- a/datapath/linux/compat/ip6_tunnel.c
+++ b/datapath/linux/compat/ip6_tunnel.c
@@ -88,7 +88,7 @@  enum {
 /* Undef the one from ip_tunnels.h - we need a different one here */
 /* At least I think... */
 #undef iptunnel_handle_offloads
-/* gre_handle_offloads() has different return type on older kernsl. */
+/* gre_handle_offloads() has different return type on older kernel. */
 static void gre_nop_fix(struct sk_buff *skb) { }
 
 static void gre_csum_fix(struct sk_buff *skb)
diff --git a/datapath/linux/compat/ip_gre.c b/datapath/linux/compat/ip_gre.c
index c194ffe..576cfaa 100644
--- a/datapath/linux/compat/ip_gre.c
+++ b/datapath/linux/compat/ip_gre.c
@@ -270,7 +270,7 @@  drop:
 
 #if LINUX_VERSION_CODE < KERNEL_VERSION(4,7,0)
 #include "gso.h"
-/* gre_handle_offloads() has different return type on older kernsl. */
+/* gre_handle_offloads() has different return type on older kernel. */
 static void gre_nop_fix(struct sk_buff *skb) { }
 
 static void gre_csum_fix(struct sk_buff *skb)
@@ -1410,7 +1410,7 @@  int rpl_ipgre_init(void)
 	return 0;
 
 ip_gre_loaded:
-	/* Since GRE only allows single receiver to be registerd,
+	/* Since GRE only allows single receiver to be registered,
 	 * we skip here so only gre transmit works, see:
 	 *
 	 * commit 9f57c67c379d88a10e8ad676426fee5ae7341b14
diff --git a/datapath/linux/compat/ip_output.c b/datapath/linux/compat/ip_output.c
index e2f869f..8f59954 100644
--- a/datapath/linux/compat/ip_output.c
+++ b/datapath/linux/compat/ip_output.c
@@ -36,7 +36,7 @@ 
  *		Andi Kleen	: 	Replace ip_reply with ip_send_reply.
  *		Andi Kleen	:	Split fast and slow ip_build_xmit path
  *					for decreased register pressure on x86
- *					and more readibility.
+ *					and more readability.
  *		Marc Boucher	:	When call_out_firewall returns FW_QUEUE,
  *					silently drop skb instead of failing with -EPERM.
  *		Detlev Wengorz	:	Copy protocol for fragments.
diff --git a/datapath/linux/compat/nf_conntrack_proto.c b/datapath/linux/compat/nf_conntrack_proto.c
index fe291db..3e039d0 100644
--- a/datapath/linux/compat/nf_conntrack_proto.c
+++ b/datapath/linux/compat/nf_conntrack_proto.c
@@ -6,7 +6,7 @@ 
 #endif
 
 /*
- * Upstream net-next commmit 7e35ec0e8044
+ * Upstream net-next commit 7e35ec0e8044
  * ("netfilter: conntrack: move nf_ct_netns_{get,put}() to core")
  * is introduced in v4.15, and it supports NFPROTO_INET in
  * nf_ct_netns_{get,put}() that OVS conntrack uses this feature.
diff --git a/datapath/linux/compat/stt.c b/datapath/linux/compat/stt.c
index 39a2947..a383869 100644
--- a/datapath/linux/compat/stt.c
+++ b/datapath/linux/compat/stt.c
@@ -669,7 +669,7 @@  static struct sk_buff *push_stt_header(struct sk_buff *head, __be64 tun_id,
 		bool csum_partial = (head->ip_summed == CHECKSUM_PARTIAL);
 		int l4_offset = skb_transport_offset(head);
 
-		/* Need to call skb_orphan() to report currect true-size.
+		/* Need to call skb_orphan() to report current true-size.
 		 * calling skb_orphan() in this layer is odd but SKB with
 		 * frag-list should not be associated with any socket, so
 		 * skb-orphan should be no-op. */
diff --git a/datapath/vport.h b/datapath/vport.h
index d630c34..399dc47 100644
--- a/datapath/vport.h
+++ b/datapath/vport.h
@@ -33,7 +33,7 @@ 
 struct vport;
 struct vport_parms;
 
-/* The following definitions are for users of the vport subsytem: */
+/* The following definitions are for users of the vport subsystem: */
 
 int ovs_vport_init(void);
 void ovs_vport_exit(void);
diff --git a/debian/changelog b/debian/changelog
index deb3a59..ea3ed46 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -444,7 +444,7 @@  openvswitch (2.3.0-1) unstable; urgency=low
      ovs-vswitchd.
    - Linux kernel datapath now has an exact match cache optimizing the
      flow matching process.
-   - Datapath flows now have partially wildcarded tranport port field
+   - Datapath flows now have partially wildcarded transport port field
      matches.  This reduces userspace upcalls, but increases the
      number of different masks in the datapath.  The kernel datapath
      exact match cache removes the overhead of matching the incoming
@@ -945,7 +945,7 @@  openvswitch (1.4.0-2+nmu1) unstable; urgency=low
 
   * Non maintainer upload.
   * Removes all patches in debian/patches, because they are patching stuff
-  inconditionally in debian/*, and this should be applied by default.
+  unconditionally in debian/*, and this should be applied by default.
   * Uses the correct ${kernel_source_dir} in debian/dkms.conf.in, so that
   the kernel module builds as expected (Closes: #659685).
 
@@ -1092,7 +1092,7 @@  openvswitch (1.1.1-1) unstable; urgency=low
   * Bug fixes.
 
   [ Simon Horman ]
-  * docs: Suppress warning marcro DD not defined
+  * docs: Suppress warning macro DD not defined
     (upstream commit 58f870d0)
   * debian: Make openvswitch depend on Python
     (upstream commit aa41cb61)
@@ -1214,7 +1214,7 @@  openvswitch (1.1.0~pre2.g2.ea763e0e-1) unstable; urgency=low
 
 openvswitch (1.1.0~pre2.g1.bbe8d06e-1) unstable; urgency=low
 
-  * Git snaptshot
+  * Git snapshot
 
  -- Simon Horman <horms@debian.org>  Thu, 06 Jan 2011 11:11:55 +0900
 
diff --git a/debian/openvswitch-ipsec.init b/debian/openvswitch-ipsec.init
index aa68384..b306c1e 100644
--- a/debian/openvswitch-ipsec.init
+++ b/debian/openvswitch-ipsec.init
@@ -168,7 +168,7 @@  case "$1" in
   # Use this if the daemon cannot reload
   reload)
         log_warning_msg "Reloading $NAME daemon: not implemented, as the"
-        log_warning_msg "deamon cannot re-read the config file (use restart)."
+        log_warning_msg "daemon cannot re-read the config file (use restart)."
         ;;
   *)
         N=/etc/init.d/openvswitch-ipsec
diff --git a/debian/openvswitch-testcontroller.init b/debian/openvswitch-testcontroller.init
index 67b7a99..5144b7c 100755
--- a/debian/openvswitch-testcontroller.init
+++ b/debian/openvswitch-testcontroller.init
@@ -44,7 +44,7 @@  test -x $DAEMON || exit 0
 
 . /lib/lsb/init-functions
 
-# Default options, these can be overriden by the information
+# Default options, these can be overridden by the information
 # at /etc/default/openvswitch-testcontroller
 DAEMON_OPTS=""          # Additional options given to the server
 
diff --git a/include/linux/tc_act/tc_pedit.h b/include/linux/tc_act/tc_pedit.h
index d9c2af6..e8ae60c 100644
--- a/include/linux/tc_act/tc_pedit.h
+++ b/include/linux/tc_act/tc_pedit.h
@@ -29,7 +29,7 @@  enum {
 };
 #define TCA_PEDIT_KEY_EX_MAX (__TCA_PEDIT_KEY_EX_MAX - 1)
 
- /* TCA_PEDIT_KEY_EX_HDR_TYPE_NETWROK is a special case for legacy users. It
+ /* TCA_PEDIT_KEY_EX_HDR_TYPE_NETWORK is a special case for legacy users. It
   * means no specific header type - offset is relative to the network layer
   */
 enum pedit_header_type {
diff --git a/include/openflow/nicira-ext.h b/include/openflow/nicira-ext.h
index b688049..bc0139b 100644
--- a/include/openflow/nicira-ext.h
+++ b/include/openflow/nicira-ext.h
@@ -1033,7 +1033,7 @@  OFP_ASSERT(sizeof(struct nx_tlv_map) == 8);
 struct nx_tlv_table_mod {
     ovs_be16 command;           /* One of NTTTMC_* */
     uint8_t pad[6];
-    /* struct nx_tlv_map[0]; Array of maps between indicies and option
+    /* struct nx_tlv_map[0]; Array of maps between indices and option
                                 TLVs. The number of elements is inferred
                                 from the length field in the header. */
 };
@@ -1041,7 +1041,7 @@  OFP_ASSERT(sizeof(struct nx_tlv_table_mod) == 8);
 
 /* NXT_TLV_TABLE_REPLY.
  *
- * Issued in reponse to an NXT_TLV_TABLE_REQUEST to give information
+ * Issued in response to an NXT_TLV_TABLE_REQUEST to give information
  * about the current status of the TLV table in the switch. Provides
  * both static information about the switch's capabilities as well as
  * the configured TLV table. */
@@ -1049,7 +1049,7 @@  struct nx_tlv_table_reply {
     ovs_be32 max_option_space; /* Maximum total of option sizes supported. */
     ovs_be16 max_fields;       /* Maximum number of match fields supported. */
     uint8_t reserved[10];
-    /* struct nx_tlv_map[0]; Array of maps between indicies and option
+    /* struct nx_tlv_map[0]; Array of maps between indices and option
                                 TLVs. The number of elements is inferred
                                 from the length field in the header. */
 };
diff --git a/include/openflow/openflow-1.0.h b/include/openflow/openflow-1.0.h
index 68c7952..081810c 100644
--- a/include/openflow/openflow-1.0.h
+++ b/include/openflow/openflow-1.0.h
@@ -156,7 +156,7 @@  enum ofp10_queue_properties {
 struct ofp10_queue_prop_header {
     ovs_be16 property; /* One of OFPQT*. */
     ovs_be16 len;      /* Length of property, including this header. */
-    uint8_t pad[4];    /* 64-bit alignemnt. */
+    uint8_t pad[4];    /* 64-bit alignment. */
 };
 OFP_ASSERT(sizeof(struct ofp10_queue_prop_header) == 8);
 
diff --git a/include/openvswitch/meta-flow.h b/include/openvswitch/meta-flow.h
index 045dce8..91a59ba 100644
--- a/include/openvswitch/meta-flow.h
+++ b/include/openvswitch/meta-flow.h
@@ -2148,7 +2148,7 @@  struct mf_field {
      * NXM and OXM are extensible, allowing later extensions to be sent in
      * earlier protocol versions, so this does not necessarily correspond to
      * the OpenFlow protocol version the field was introduced in.
-     * Also, some field types are tranparently mapped to each other via the
+     * Also, some field types are transparently mapped to each other via the
      * struct flow (like vlan and dscp/tos fields), so each variant supports
      * all protocols. */
     enum ofputil_protocol usable_protocols_exact; /* Match/set whole field. */
diff --git a/include/openvswitch/ofp-actions.h b/include/openvswitch/ofp-actions.h
index 41bcb55..c975ef5 100644
--- a/include/openvswitch/ofp-actions.h
+++ b/include/openvswitch/ofp-actions.h
@@ -780,7 +780,7 @@  struct ofpact_resubmit {
  * OFPFF_SEND_FLOW_REM flag set.
  *
  * If NX_LEARN_F_WRITE_RESULT is set, then the actions will write whether the
- * learn operation succeded on a bit.  If the learn is successful the bit will
+ * learn operation succeeded on a bit.  If the learn is successful the bit will
  * be set, otherwise (e.g. if the limit is hit) the bit will be unset.
  *
  * If NX_LEARN_F_DELETE_LEARNED is set, then removing this action will delete
diff --git a/include/windows/netinet/icmp6.h b/include/windows/netinet/icmp6.h
index 81f8f5d..ea4176d 100644
--- a/include/windows/netinet/icmp6.h
+++ b/include/windows/netinet/icmp6.h
@@ -526,9 +526,9 @@  struct icmp6_filter {
 		/* space for 13 counters */
 #define	ICMP6_STAT_PMTUCHG	534	/* path MTU changes */
 #define	ICMP6_STAT_ND_BADOPT	535	/* bad ND options */
-#define	ICMP6_STAT_BADNS	536	/* bad neighbor solicititation */
+#define	ICMP6_STAT_BADNS	536	/* bad neighbor solicitation */
 #define	ICMP6_STAT_BADNA	537	/* bad neighbor advertisement */
-#define	ICMP6_STAT_BADRS	538	/* bad router solicitiation */
+#define	ICMP6_STAT_BADRS	538	/* bad router solicitation */
 #define	ICMP6_STAT_BADRA	539	/* bad router advertisement */
 #define	ICMP6_STAT_BADREDIRECT	540	/* bad redirect message */
 #define ICMP6_STAT_DROPPED_RAROUTE 541	/* discarded routes from router advertisement */
diff --git a/ipsec/ovs-monitor-ipsec.in b/ipsec/ovs-monitor-ipsec.in
index 89a36fe..f258d72 100755
--- a/ipsec/ovs-monitor-ipsec.in
+++ b/ipsec/ovs-monitor-ipsec.in
@@ -249,7 +249,7 @@  conn prevent_unencrypted_vxlan
         It returns dictionary where <key> is interface name (as in OVSDB)
         and <value> is another dictionary.  This another dictionary
         uses strongSwan connection name as <key> and more detailed
-        sample line from the parsed outpus as <value>. """
+        sample line from the parsed output as <value>. """
 
         conns = {}
         proc = subprocess.Popen([self.IPSEC, 'status'], stdout=subprocess.PIPE)
@@ -660,7 +660,7 @@  conn prevent_unencrypted_vxlan
         It returns dictionary where <key> is interface name (as in OVSDB)
         and <value> is another dictionary.  This another dictionary
         uses LibreSwan connection name as <key> and more detailed
-        sample line from the parsed outpus as <value>. """
+        sample line from the parsed output as <value>. """
 
         conns = {}
         proc = subprocess.Popen([self.IPSEC, 'status', '--ctlsocket',
@@ -1080,7 +1080,7 @@  class IPsecMonitor(object):
             pki[2] = row.other_config.get("ca_cert")
             skb_mark = row.other_config.get("ipsec_skb_mark")
 
-        # Test whether it's a valid configration
+        # Test whether it's a valid configuration
         if pki[0] and pki[1]:
             pki[3] = self._get_cn_from_cert(pki[0])
             if pki[3]:
@@ -1090,7 +1090,7 @@  class IPsecMonitor(object):
 
         if not is_valid:
             vlog.warn("The cert and key configuration is not valid. "
-                "The valid configuations are 1): certificate, private_key "
+                "The valid configurations are 1): certificate, private_key "
                 "and ca_cert are not set; or 2): certificate and "
                 "private_key are all set.")
         else:
@@ -1126,7 +1126,7 @@  class IPsecMonitor(object):
     def show(self, unix_conn, policies, securities):
         """This function prints all tunnel state in 'unix_conn'.
         It uses 'policies' and securities' received from Linux Kernel
-        to show if tunnels were actually configured by the IKE deamon."""
+        to show if tunnels were actually configured by the IKE daemon."""
         if not self.tunnels:
             unix_conn.reply("No tunnels configured with IPsec")
             return
diff --git a/lib/bfd.c b/lib/bfd.c
index 3c96569..d97d732 100644
--- a/lib/bfd.c
+++ b/lib/bfd.c
@@ -74,7 +74,7 @@  VLOG_DEFINE_THIS_MODULE(bfd);
  *
  * - Rely on data traffic for liveness by using BFD demand mode.
  *   If we're receiving traffic on a port, we can safely assume it's up (modulo
- *   unidrectional failures).  BFD has a demand mode in which it can stay quiet
+ *   unidirectional failures).  BFD has a demand mode in which it can stay quiet
  *   unless it feels the need to check the status of the port.  Using this, we
  *   can implement a strategy in which BFD only sends control messages on dark
  *   interfaces.
@@ -194,8 +194,8 @@  struct bfd {
 
     long long int cfg_min_tx;     /* Configured minimum TX rate. */
     long long int cfg_min_rx;     /* Configured required minimum RX rate. */
-    long long int poll_min_tx;    /* Min TX negotating in a poll sequence. */
-    long long int poll_min_rx;    /* Min RX negotating in a poll sequence. */
+    long long int poll_min_tx;    /* Min TX negotiating in a poll sequence. */
+    long long int poll_min_rx;    /* Min RX negotiating in a poll sequence. */
     long long int min_tx;         /* bfd.DesiredMinTxInterval. */
     long long int min_rx;         /* bfd.RequiredMinRxInterval. */
 
diff --git a/lib/ccmap.c b/lib/ccmap.c
index a460833..d8c149f 100644
--- a/lib/ccmap.c
+++ b/lib/ccmap.c
@@ -470,7 +470,7 @@  ccmap_try_inc(struct ccmap_impl *impl, uint32_t hash, uint32_t inc)
 /* Increments the count of 'hash' values in the 'ccmap'.  The caller must
  * ensure that 'ccmap' cannot change concurrently (from another thread).
  *
- * Returns the current count of the given hash value after the incremention. */
+ * Returns the current count of the given hash value after the increment. */
 uint32_t
 ccmap_inc(struct ccmap *ccmap, uint32_t hash)
 {
diff --git a/lib/classifier.c b/lib/classifier.c
index c4790ee..2854a5a 100644
--- a/lib/classifier.c
+++ b/lib/classifier.c
@@ -1628,7 +1628,7 @@  check_tries(struct trie_ctx trie_ctx[CLS_MAX_TRIES], unsigned int n_tries,
     return false;
 }
 
-/* Returns true if 'target' satisifies 'flow'/'mask', that is, if each bit
+/* Returns true if 'target' satisfies 'flow'/'mask', that is, if each bit
  * for which 'flow', for which 'mask' has a bit set, specifies a particular
  * value has the correct value in 'target'.
  *
diff --git a/lib/conntrack.h b/lib/conntrack.h
index 9553b18..7b4c4b9 100644
--- a/lib/conntrack.h
+++ b/lib/conntrack.h
@@ -52,7 +52,7 @@ 
  *
  * Thread-safety:
  *
- * conntrack_execute() can be called by multiple threads simultaneoulsy.
+ * conntrack_execute() can be called by multiple threads simultaneously.
  *
  * Shutdown:
  *
diff --git a/lib/ct-dpif.c b/lib/ct-dpif.c
index cfc2315..b2a32d4 100644
--- a/lib/ct-dpif.c
+++ b/lib/ct-dpif.c
@@ -57,7 +57,7 @@  static const struct flags ct_dpif_status_flags[] = {
  * 'dump' must be the address of a pointer to a struct ct_dpif_dump_state,
  * which should be passed (unaltered) to ct_dpif_dump_{next,done}().
  *
- * If 'zone' is not NULL, it should point to an integer identifing a
+ * If 'zone' is not NULL, it should point to an integer identifying a
  * conntrack zone to which the dump will be limited.  If it is NULL,
  * conntrack entries from all zones will be dumped.
  *
@@ -84,7 +84,7 @@  ct_dpif_dump_start(struct dpif *dpif, struct ct_dpif_dump_state **dump,
  *
  * 'dump' should have been initialized by ct_dpif_dump_start().
  *
- * The function returns 0, if an entry has been dumped succesfully.
+ * The function returns 0, if an entry has been dumped successfully.
  * Otherwise it returns a non-zero value which can be:
  * - EOF: meaning that there are no more entries to dump.
  * - an error value.
diff --git a/lib/daemon-unix.c b/lib/daemon-unix.c
index 34d45b8..9e2848a 100644
--- a/lib/daemon-unix.c
+++ b/lib/daemon-unix.c
@@ -112,7 +112,7 @@  set_no_chdir(void)
     chdir_ = false;
 }
 
-/* Normally, daemonize() or damonize_start() will terminate the program with a
+/* Normally, daemonize() or daemonize_start() will terminate the program with a
  * message if a locked pidfile already exists.  If this function is called, an
  * existing pidfile will be replaced, with a warning. */
 void
@@ -852,7 +852,7 @@  static void
 daemon_become_new_user__(bool access_datapath)
 {
     /* If vlog file has been created, change its owner to the non-root user
-     * as specifed by the --user option.  */
+     * as specified by the --user option.  */
     vlog_change_owner_unix(uid, gid);
 
     if (LINUX) {
@@ -868,7 +868,7 @@  daemon_become_new_user__(bool access_datapath)
     }
 }
 
-/* Noramlly, user switch is embedded within daemonize_start().
+/* Normally, user switch is embedded within daemonize_start().
  * However, there in case the user switch needs to be done
  * before daemonize_start(), the following API can be used.  */
 void
@@ -882,7 +882,7 @@  daemon_become_new_user(bool access_datapath)
     }
 }
 
-/* Return the maximun suggested buffer size for both getpwname_r()
+/* Return the maximum suggested buffer size for both getpwname_r()
  * and getgrnam_r().
  *
  * This size may still not be big enough. in case getpwname_r()
@@ -899,7 +899,7 @@  get_sysconf_buffer_size(void)
     errno = 0;
     if ((pwd_bs = sysconf(_SC_GETPW_R_SIZE_MAX)) == -1) {
         if (errno) {
-            VLOG_FATAL("%s: Read initial passwordd struct size "
+            VLOG_FATAL("%s: Read initial password struct size "
                        "failed (%s), aborting. ", pidfile,
                        ovs_strerror(errno));
         }
@@ -977,7 +977,7 @@  daemon_set_new_user(const char *user_spec)
         }
 
         if (e != 0) {
-            VLOG_FATAL("%s: Failed to retrive user %s's uid (%s), aborting.",
+            VLOG_FATAL("%s: Failed to retrieve user %s's uid (%s), aborting.",
                        pidfile, user, ovs_strerror(e));
         }
         if (res == NULL) {
@@ -992,7 +992,7 @@  daemon_set_new_user(const char *user_spec)
         }
 
         if (e != 0) {
-            VLOG_FATAL("%s: Failed to retrive current user's name "
+            VLOG_FATAL("%s: Failed to retrieve current user's name "
                        "(%s), aborting.", pidfile, ovs_strerror(e));
         }
         user = xstrdup(pwd.pw_name);
diff --git a/lib/daemon-windows.c b/lib/daemon-windows.c
index 7e5f264..3082839 100644
--- a/lib/daemon-windows.c
+++ b/lib/daemon-windows.c
@@ -248,7 +248,7 @@  service_stop()
 }
 
 /* Call this function to signal that the daemon is ready. init_service()
- * or control_handler() has already initalized/set the
+ * or control_handler() has already initialized/set the
  * service_status.dwCurrentState .*/
 static void
 service_complete(void)
diff --git a/lib/db-ctl-base.c b/lib/db-ctl-base.c
index 7074561..853a935 100644
--- a/lib/db-ctl-base.c
+++ b/lib/db-ctl-base.c
@@ -49,7 +49,7 @@  VLOG_DEFINE_THIS_MODULE(db_ctl_base);
  * another table, the referred table must also be defined as an entry in
  * in 'cmd_show_tables[]'.
  *
- * The definition must end with an all-NULL entry.  It is initalized once
+ * The definition must end with an all-NULL entry.  It is initialized once
  * when ctl_init() is called.
  *
  * */
@@ -2461,7 +2461,7 @@  ctl_exit(int status)
     exit(status);
 }
 
-/* Comman database commands to be registered. */
+/* Command database commands to be registered. */
 static const struct ctl_command_syntax db_ctl_commands[] = {
     {"comment", 0, INT_MAX, "[ARG]...", NULL, NULL, NULL, "", RO},
     {"get", 2, INT_MAX, "TABLE RECORD [COLUMN[:KEY]]...",pre_cmd_get, cmd_get,
diff --git a/lib/db-ctl-base.h b/lib/db-ctl-base.h
index 284b573..412a608 100644
--- a/lib/db-ctl-base.h
+++ b/lib/db-ctl-base.h
@@ -176,7 +176,7 @@  char * OVS_WARN_UNUSED_RESULT ctl_parse_commands(
 struct weak_ref_table {
     const struct ovsdb_idl_table_class *table;
     const struct ovsdb_idl_column *name_column;
-    /* This colum must be a weak reference to the owning
+    /* This column must be a weak reference to the owning
      * 'struct cmd_show_table''s table row. */
     const struct ovsdb_idl_column *wref_column;
 };
diff --git a/lib/db-ctl-base.man b/lib/db-ctl-base.man
index 9c786f2..a529d8b 100644
--- a/lib/db-ctl-base.man
+++ b/lib/db-ctl-base.man
@@ -32,7 +32,7 @@  square brackets may optionally enclose other non-empty sets or single
 values as well. For a column accepting a set of integers, database commands
 accept a range. A range is represented by two integers separated by
 \fB-\fR. A range is inclusive. A range has a maximum size of 4096
-elements. If more elements are needed, they can be specified in seperate
+elements. If more elements are needed, they can be specified in separate
 ranges.
 .PP
 A few database columns are ``maps'' of key-value pairs, where the key
diff --git a/lib/dns-resolve.c b/lib/dns-resolve.c
index d344514..8217d37 100644
--- a/lib/dns-resolve.c
+++ b/lib/dns-resolve.c
@@ -138,7 +138,7 @@  dns_resolve_init(bool is_daemon)
  * is in process and the caller should call again later. The value of '*addr'
  * is always nullified if false is returned. If this function is called under
  * daemon-context, the resolving will undergo asynchronously. Otherwise, a
- * synchronouse resolving will take place.
+ * synchronous resolving will take place.
  *
  * This function is thread-safe.
  *
diff --git a/lib/dp-packet.h b/lib/dp-packet.h
index 3dc582f..442d7a3 100644
--- a/lib/dp-packet.h
+++ b/lib/dp-packet.h
@@ -594,7 +594,7 @@  dp_packet_set_size(struct dp_packet *b, uint32_t v)
 {
     /* netdev-dpdk does not currently support segmentation; consequently, for
      * all intents and purposes, 'data_len' (16 bit) and 'pkt_len' (32 bit) may
-     * be used interchangably.
+     * be used interchangeably.
      *
      * On the datapath, it is expected that the size of packets
      * (and thus 'v') will always be <= UINT16_MAX; this means that there is no
diff --git a/lib/dpctl.c b/lib/dpctl.c
index 1ba1a96..06a37d9 100644
--- a/lib/dpctl.c
+++ b/lib/dpctl.c
@@ -1928,11 +1928,11 @@  dpctl_ct_bkts(int argc, const char *argv[],
                 "         Connections per Buckets         |\n");
         dpctl_print(dpctl_p, "+-----------+"
                 "-----------------------------------------+");
-#define NUM_BKTS_DIPLAYED_PER_ROW 8
+#define NUM_BKTS_DISPLAYED_PER_ROW 8
         for (int i = 0; i < tot_bkts; i++) {
-            if (i % NUM_BKTS_DIPLAYED_PER_ROW == 0) {
+            if (i % NUM_BKTS_DISPLAYED_PER_ROW == 0) {
                  dpctl_print(dpctl_p, "\n %3d..%3d   | ",
-                         i, i + NUM_BKTS_DIPLAYED_PER_ROW - 1);
+                         i, i + NUM_BKTS_DISPLAYED_PER_ROW - 1);
             }
             if (conn_per_bkts[i] > gt) {
                 dpctl_print(dpctl_p, "%5d", conn_per_bkts[i]);
diff --git a/lib/dpctl.man b/lib/dpctl.man
index c100d0a..48da160 100644
--- a/lib/dpctl.man
+++ b/lib/dpctl.man
@@ -111,7 +111,7 @@  that a flow wildcards entirely; with \fB\-m\fR or \fB\-\-more\fR,
 output includes all wildcarded fields.
 .IP
 If \fBfilter=\fIfilter\fR is specified, only displays the flows
-that match the \fIfilter\fR. \fIfilter\fR is a flow in the form similiar
+that match the \fIfilter\fR. \fIfilter\fR is a flow in the form similar
 to that accepted by \fBovs\-ofctl\fR(8)'s \fBadd\-flow\fR command. (This is
 not an OpenFlow flow: besides other differences, it never contains wildcards.)
 The \fIfilter\fR is also useful to match wildcarded fields in the datapath
@@ -131,7 +131,7 @@  This option supported only for \fBovs\-appctl dpctl/dump\-flows\fR.
    \fBdpdk\fR - displays flows fully offloaded by dpdk
    \fBoffloaded\fR - displays flows offloaded to the HW
    \fBnon-offloaded\fR - displays flows not offloaded to the HW
-   \fBpartially-offloaded\fR - displays flows where only part of their proccessing is done in HW
+   \fBpartially-offloaded\fR - displays flows where only part of their processing is done in HW
    \fBall\fR - displays all the types of flows
 .IP
 By default all the types of flows are displayed.
diff --git a/lib/dpdk.c b/lib/dpdk.c
index b2ef31c..b33f401 100644
--- a/lib/dpdk.c
+++ b/lib/dpdk.c
@@ -428,7 +428,7 @@  dpdk_init__(const struct smap *ovs_other_config)
             }
         } else {
             /* User did not set dpdk-lcore-mask and unable to get current
-             * thread affintity - default to core #0 */
+             * thread affinity - default to core #0 */
             VLOG_ERR("Thread getaffinity failed. Using core #0");
         }
         svec_add(&args, "-l");
diff --git a/lib/dpif-netdev-avx512.c b/lib/dpif-netdev-avx512.c
index 544d369..61b0c85 100644
--- a/lib/dpif-netdev-avx512.c
+++ b/lib/dpif-netdev-avx512.c
@@ -150,7 +150,7 @@  dp_netdev_input_outer_avx512(struct dp_netdev_pmd_thread *pmd,
      * }
      */
 
-    /* Do a batch minfilow extract into keys. */
+    /* Do a batch miniflow extract into keys. */
     uint32_t mf_mask = 0;
     miniflow_extract_func mfex_func;
     atomic_read_relaxed(&pmd->miniflow_extract_opt, &mfex_func);
@@ -178,8 +178,8 @@  dp_netdev_input_outer_avx512(struct dp_netdev_pmd_thread *pmd,
         struct dp_netdev_flow *f = NULL;
         struct netdev_flow_key *key = &keys[i];
 
-        /* Check the minfiflow mask to see if the packet was correctly
-         * classifed by vector mfex else do a scalar miniflow extract
+        /* Check the miniflow mask to see if the packet was correctly
+         * classified by vector mfex else do a scalar miniflow extract
          * for that packet.
          */
         bool mfex_hit = !!(mf_mask & (1 << i));
diff --git a/lib/dpif-netdev-extract-avx512.c b/lib/dpif-netdev-extract-avx512.c
index ec64419..6729eba 100644
--- a/lib/dpif-netdev-extract-avx512.c
+++ b/lib/dpif-netdev-extract-avx512.c
@@ -26,9 +26,9 @@ 
  * ---------
  *
  * The procedure is to classify the packet based on the traffic type
- * using predifined bit-masks and arrage the packet header data using shuffle
+ * using predefined bit-masks and arrage the packet header data using shuffle
  * instructions to a pre-defined place as required by the miniflow.
- * This elimates the if-else ladder to identify the packet data and add data
+ * This eliminates the if-else ladder to identify the packet data and add data
  * as per protocol which is present.
  */
 
@@ -371,7 +371,7 @@  static const struct mfex_profile mfex_profiles[PROFILE_COUNT] =
 };
 
 
-/* Protocol specific helper functions, for calculating offsets/lenghts. */
+/* Protocol specific helper functions, for calculating offsets/lengths. */
 static int32_t
 mfex_ipv4_set_l2_pad_size(struct dp_packet *pkt, struct ip_header *nh,
                           uint32_t len_from_ipv4)
diff --git a/lib/dpif-netdev-extract-study.c b/lib/dpif-netdev-extract-study.c
index 5a93706..095922f 100644
--- a/lib/dpif-netdev-extract-study.c
+++ b/lib/dpif-netdev-extract-study.c
@@ -94,7 +94,7 @@  mfex_study_traffic(struct dp_packet_batch *packets,
         stats->impl_hitcount[i] += count_1bits(hitmask);
 
         /* If traffic is not classified then we dont overwrite the keys
-         * array in minfiflow implementations so its safe to create a
+         * array in miniflow implementations so its safe to create a
          * mask for all those packets whose miniflow have been created.
          */
         mask |= hitmask;
diff --git a/lib/dpif-netdev-private-extract.c b/lib/dpif-netdev-private-extract.c
index 7a06dbf..cfac2cf 100644
--- a/lib/dpif-netdev-private-extract.c
+++ b/lib/dpif-netdev-private-extract.c
@@ -121,7 +121,7 @@  dpif_miniflow_extract_init(void)
         mfex_impls[i].available = avail;
     }
 
-    /* For the first call, this will be choosen based on the
+    /* For the first call, this will be chosen based on the
      * compile time flag.
      */
     VLOG_INFO("Default MFEX Extract implementation is %s.\n",
@@ -246,7 +246,7 @@  dpif_miniflow_extract_autovalidator(struct dp_packet_batch *packets,
         atomic_store_relaxed(pmd_func, (uintptr_t) default_func);
         VLOG_ERR("Invalid key size supplied, Key_size: %d less than"
                  "batch_size:  %" PRIuSIZE"\n", keys_size, cnt);
-        VLOG_ERR("Autovalidatior is disabled.\n");
+        VLOG_ERR("Autovalidator is disabled.\n");
         return 0;
     }
 
@@ -364,7 +364,7 @@  dpif_miniflow_extract_autovalidator(struct dp_packet_batch *packets,
      * simplifies unit-tests as changing --enable-mfex-default-autovalidator
      * would pass/fail. By always returning zero, autovalidator is a little
      * slower, but we gain consistency in testing. The auto-validator is only
-     * meant to test different implementaions against a batch of packets
+     * meant to test different implementations against a batch of packets
      * without incrementing hit counters.
      */
     return 0;
diff --git a/lib/dpif-netdev-private-extract.h b/lib/dpif-netdev-private-extract.h
index f9a757b..15eb70a 100644
--- a/lib/dpif-netdev-private-extract.h
+++ b/lib/dpif-netdev-private-extract.h
@@ -143,7 +143,7 @@  dpif_mfex_impl_info_get(void);
 void
 dpif_miniflow_extract_init(void);
 
-/* Retrieve the hitmask of the batch of pakcets which is obtained by comparing
+/* Retrieve the hitmask of the batch of packets which is obtained by comparing
  * different miniflow implementations with linear miniflow extract.
  * Key_size need to be at least the size of the batch.
  * On error, returns a zero.
diff --git a/lib/dpif-netdev-unixctl.man b/lib/dpif-netdev-unixctl.man
index 607750b..64545b7 100644
--- a/lib/dpif-netdev-unixctl.man
+++ b/lib/dpif-netdev-unixctl.man
@@ -50,7 +50,7 @@  is disabled. The run-time overhead, when enabled, is in the order of 1%.
 .IP \(em
 used cycles
 .IP \(em
-forwared packets
+forwarded packets
 .IP \(em
 number of rx batches
 .IP \(em
@@ -91,7 +91,7 @@  The histograms bins are divided linear or logarithmic.
 .IP 2.
 A cyclic history of the above metrics for 1024 iterations
 .IP 3.
-A cyclic history of the cummulative/average values per millisecond wall
+A cyclic history of the cumulative/average values per millisecond wall
 clock for the last 1024 milliseconds:
 .RS
 .IP \(em
diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c
index 69d7ec2..b94faf1 100644
--- a/lib/dpif-netdev.c
+++ b/lib/dpif-netdev.c
@@ -282,7 +282,7 @@  struct dp_netdev {
     void *upcall_aux;
 
     /* Callback function for notifying the purging of dp flows (during
-     * reseting pmd deletion). */
+     * resetting pmd deletion). */
     dp_purge_callback *dp_purge_cb;
     void *dp_purge_aux;
 
@@ -2388,7 +2388,7 @@  megaflow_to_mark_associate(const ovs_u128 *mega_ufid, uint32_t mark)
                 CONST_CAST(struct cmap_node *, &data->node), hash);
 }
 
-/* disassociate meagaflow with a mark */
+/* disassociate megaflow with a mark */
 static void
 megaflow_to_mark_disassociate(const ovs_u128 *mega_ufid)
 {
@@ -3419,7 +3419,7 @@  dp_netdev_flow_to_dpif_flow(const struct dp_netdev *dp,
 
         miniflow_expand(&netdev_flow->cr.mask->mf, &wc.masks);
         /* in_port is exact matched, but we have left it out from the mask for
-         * optimnization reasons. Add in_port back to the mask. */
+         * optimization reasons. Add in_port back to the mask. */
         wc.masks.in_port.odp_port = ODPP_NONE;
 
         /* Key */
@@ -4101,7 +4101,7 @@  dpif_netdev_execute(struct dpif *dpif, struct dpif_execute *execute)
     if (dp_packet_batch_size(&pp) == 1) {
         /* Packet wasn't dropped during the execution.  Swapping content with
          * the original packet, because the caller might expect actions to
-         * modify it.  Uisng the packet from a batch instead of 'packet_clone'
+         * modify it.  Using the packet from a batch instead of 'packet_clone'
          * because it maybe stolen and replaced by other packet, e.g. by
          * the fragmentation engine. */
         dp_packet_swap(execute->packet, pp.packets[0]);
@@ -5474,7 +5474,7 @@  sched_numa_list_variance(struct sched_numa_list *numa_list)
  * pmd_rebalance_dry_run() can be avoided when it is not needed.
  */
 static bool
-pmd_reblance_dry_run_needed(struct dp_netdev *dp)
+pmd_rebalance_dry_run_needed(struct dp_netdev *dp)
     OVS_REQUIRES(dp->port_mutex)
 {
     struct dp_netdev_pmd_thread *pmd;
@@ -5926,7 +5926,7 @@  ports_require_restart(const struct dp_netdev *dp)
 }
 
 /* Calculates variance in the values stored in array 'a'. 'n' is the number
- * of elements in array to be considered for calculating vairance.
+ * of elements in array to be considered for calculating variance.
  * Usage example: data array 'a' contains the processing load of each pmd and
  * 'n' is the number of PMDs. It returns the variance in processing load of
  * PMDs*/
@@ -6034,7 +6034,7 @@  dpif_netdev_run(struct dpif *dpif)
             if (pmd_rebalance &&
                 !dp_netdev_is_reconf_required(dp) &&
                 !ports_require_restart(dp) &&
-                pmd_reblance_dry_run_needed(dp) &&
+                pmd_rebalance_dry_run_needed(dp) &&
                 pmd_rebalance_dry_run(dp)) {
                 VLOG_INFO("PMD auto load balance dry run. "
                           "Requesting datapath reconfigure.");
diff --git a/lib/dpif-netlink.c b/lib/dpif-netlink.c
index 424a284..d598273 100644
--- a/lib/dpif-netlink.c
+++ b/lib/dpif-netlink.c
@@ -179,7 +179,7 @@  struct dpif_channel {
 #ifdef _WIN32
 #define VPORT_SOCK_POOL_SIZE 1
 /* On Windows, there is no native support for epoll.  There are equivalent
- * interfaces though, that are not used currently.  For simpicity, a pool of
+ * interfaces though, that are not used currently.  For simplicity, a pool of
  * netlink sockets is used.  Each socket is represented by 'struct
  * dpif_windows_vport_sock'.  Since it is a pool, multiple OVS ports may be
  * sharing the same socket.  In the future, we can add a reference count and
@@ -1045,7 +1045,7 @@  dpif_netlink_port_add_compat(struct dpif_netlink *dpif, struct netdev *netdev,
 
     if (ovs_type == OVS_VPORT_TYPE_NETDEV) {
 #ifdef _WIN32
-        /* XXX : Map appropiate Windows handle */
+        /* XXX : Map appropriate Windows handle */
 #else
         netdev_linux_ethtool_set_flag(netdev, ETH_FLAG_LRO, "LRO", false);
 #endif
@@ -2334,7 +2334,7 @@  out:
         } else if (del_err != ENOENT) {
             VLOG_ERR_RL(&rl, "failed to delete offloaded flow: %s",
                         ovs_strerror(del_err));
-            /* stop proccesing the flow in kernel */
+            /* stop processing the flow in kernel */
             err = 0;
         }
     }
@@ -3999,7 +3999,7 @@  dpif_netlink_meter_transact(struct ofpbuf *request, struct ofpbuf **replyp,
         || !nl_policy_parse(*replyp, 0, reply_policy, a, size_a)) {
         static struct vlog_rate_limit rl = VLOG_RATE_LIMIT_INIT(1, 5);
         VLOG_DBG_RL(&rl,
-                    "Kernel module response to meter tranaction is invalid");
+                    "Kernel module response to meter transaction is invalid");
         return EINVAL;
     }
     return 0;
diff --git a/lib/dpif-provider.h b/lib/dpif-provider.h
index 27e3a76..7c2eb43 100644
--- a/lib/dpif-provider.h
+++ b/lib/dpif-provider.h
@@ -441,7 +441,7 @@  struct dpif_class {
      * datapaths.
      *
      * ct_dump_start() should put in '*state' a pointer to a newly allocated
-     * stucture that will be passed by the caller to ct_dump_next() and
+     * structure that will be passed by the caller to ct_dump_next() and
      * ct_dump_done(). If 'zone' is not NULL, only the entries in '*zone'
      * should be dumped.
      *
diff --git a/lib/dpif.c b/lib/dpif.c
index 38bcb47..e772494 100644
--- a/lib/dpif.c
+++ b/lib/dpif.c
@@ -697,7 +697,7 @@  dpif_port_set_config(struct dpif *dpif, odp_port_t port_no,
  * initializes '*port' appropriately; on failure, returns a positive errno
  * value.
  *
- * Retuns ENODEV if the port doesn't exist.
+ * Returns ENODEV if the port doesn't exist.
  *
  * The caller owns the data in 'port' and must free it with
  * dpif_port_destroy() when it is no longer needed. */
@@ -721,7 +721,7 @@  dpif_port_query_by_number(const struct dpif *dpif, odp_port_t port_no,
  * initializes '*port' appropriately; on failure, returns a positive errno
  * value.
  *
- * Retuns ENODEV if the port doesn't exist.
+ * Returns ENODEV if the port doesn't exist.
  *
  * The caller owns the data in 'port' and must free it with
  * dpif_port_destroy() when it is no longer needed. */
diff --git a/lib/flow.c b/lib/flow.c
index a021bc0..033a97b 100644
--- a/lib/flow.c
+++ b/lib/flow.c
@@ -610,7 +610,7 @@  parse_nsh(const void **datap, size_t *sizep, struct ovs_key_nsh *key)
             }
             break;
         case NSH_M_TYPE2:
-            /* Don't support MD type 2 metedata parsing yet */
+            /* Don't support MD type 2 metadata parsing yet */
             if (length < NSH_BASE_HDR_LEN) {
                 return false;
             }
diff --git a/lib/ipf.c b/lib/ipf.c
index 507db2a..2d437ed 100644
--- a/lib/ipf.c
+++ b/lib/ipf.c
@@ -116,7 +116,7 @@  struct ipf_list {
     struct ovs_list list_node;     /* In struct ipf's 'frag_exp_list' or
                                     * 'frag_complete_list'. */
     struct ipf_frag *frag_list;    /* List of fragments for this list. */
-    struct ipf_list_key key;       /* The key for the fragemnt list. */
+    struct ipf_list_key key;       /* The key for the fragment list. */
     struct dp_packet *reass_execute_ctx; /* Reassembled packet. */
     long long expiration;          /* In milliseconds. */
     int last_sent_idx;             /* Last sent fragment idx. */
@@ -125,7 +125,7 @@  struct ipf_list {
     uint8_t state;                 /* Frag list state; see ipf_list_state. */
 };
 
-/* Represents a reassambled packet which typically is passed through
+/* Represents a reassembled packet which typically is passed through
  * conntrack. */
 struct reassembled_pkt {
     struct ovs_list rp_list_node;  /* In struct ipf's
@@ -218,7 +218,7 @@  ipf_addr_hash_add(uint32_t hash, const union ipf_addr *addr)
 }
 
 /* Adds a list of fragments to the list tracking expiry of yet to be
- * completed reassembled packets, hence subject to expirty. */
+ * completed reassembled packets, hence subject to expiry. */
 static void
 ipf_expiry_list_add(struct ovs_list *frag_exp_list, struct ipf_list *ipf_list,
                     long long now)
@@ -242,7 +242,7 @@  ipf_completed_list_add(struct ovs_list *frag_complete_list,
     ovs_list_push_back(frag_complete_list, &ipf_list->list_node);
 }
 
-/* Adds a reassmebled packet to the list of reassembled packets, awaiting some
+/* Adds a reassembled packet to the list of reassembled packets, awaiting some
  * processing, such as being sent through conntrack. */
 static void
 ipf_reassembled_list_add(struct ovs_list *reassembled_pkt_list,
@@ -846,9 +846,9 @@  ipf_list_init(struct ipf_list *ipf_list, struct ipf_list_key *key,
 
 /* Generates a fragment list key from a well formed fragment and either starts
  * a new fragment list or increases the size of the existing fragment list,
- * while checking if the maximum supported fragements are supported or the
+ * while checking if the maximum supported fragments are supported or the
  * list size is impossibly big. Calls 'ipf_process_frag()' to add a fragment
- * to a list of fragemnts. */
+ * to a list of fragments. */
 static bool
 ipf_handle_frag(struct ipf *ipf, struct dp_packet *pkt, ovs_be16 dl_type,
                 uint16_t zone, long long now, uint32_t hash_basis)
@@ -955,7 +955,7 @@  ipf_extract_frags_from_batch(struct ipf *ipf, struct dp_packet_batch *pb,
 
 /* In case of DPDK, a memory source check is done, as DPDK memory pool
  * management has trouble dealing with multiple source types.  The
- * check_source paramater is used to indicate when this check is needed. */
+ * check_source parameter is used to indicate when this check is needed. */
 static bool
 ipf_dp_packet_batch_add(struct dp_packet_batch *pb , struct dp_packet *pkt,
                         bool check_source OVS_UNUSED)
@@ -1111,7 +1111,7 @@  ipf_send_expired_frags(struct ipf *ipf, struct dp_packet_batch *pb,
     ovs_mutex_unlock(&ipf->ipf_lock);
 }
 
-/* Adds a reassmebled packet to a packet batch to be processed by the caller.
+/* Adds a reassembled packet to a packet batch to be processed by the caller.
  */
 static void
 ipf_execute_reass_pkts(struct ipf *ipf, struct dp_packet_batch *pb)
diff --git a/lib/lacp.h b/lib/lacp.h
index 1ca06f7..5ba17c3 100644
--- a/lib/lacp.h
+++ b/lib/lacp.h
@@ -24,7 +24,7 @@ 
 /* LACP Protocol Implementation. */
 
 enum lacp_status {
-    LACP_NEGOTIATED,                  /* Successful LACP negotations. */
+    LACP_NEGOTIATED,                  /* Successful LACP negotiations. */
     LACP_CONFIGURED,                  /* LACP is enabled but not negotiated. */
     LACP_DISABLED                     /* LACP is not enabled. */
 };
diff --git a/lib/lldp/lldp.c b/lib/lldp/lldp.c
index 18afbab..55c9f96 100644
--- a/lib/lldp/lldp.c
+++ b/lib/lldp/lldp.c
@@ -268,7 +268,7 @@  lldp_send(struct lldpd *global OVS_UNUSED,
         aa_element_second_word = (port->p_element.mgmt_vlan & 0xFF) << 8;
 
         /* System id first byte should be first 3 most significant bits of
-         * connecion type, bitwise OR that with the device state and bitwise
+         * connection type, bitwise OR that with the device state and bitwise
          * OR that with the first 2 most significant bitsof rsvd (10 bits). */
         aa_elem_sys_id_first_byte =
             ((port->p_element.system_id.conn_type & 0x7) << 5) |
@@ -664,7 +664,7 @@  lldp_decode(struct lldpd *cfg OVS_UNUSED, char *frame, int s,
 
                 default:
                     hardware->h_rx_unrecognized_cnt++;
-                    VLOG_INFO("Unrecogised tlv subtype received");
+                    VLOG_INFO("Unrecognised tlv subtype received");
                     break;
                 }
             } else if (memcmp(dcbx, orgid, sizeof orgid) == 0) {
diff --git a/lib/mac-learning.c b/lib/mac-learning.c
index 3fcd7d9..f977920 100644
--- a/lib/mac-learning.c
+++ b/lib/mac-learning.c
@@ -626,7 +626,7 @@  mac_learning_flush(struct mac_learning *ml)
         if (MAC_ENTRY_AGE_STATIC_ENTRY == e->expires) {
 
             /* Make note of first static-mac encountered, so that this while
-             * loop will break on visting this mac again via get_lru(). */
+             * loop will break on visiting this mac again via get_lru(). */
             if (!first_static_mac) {
                 first_static_mac = e;
             }
diff --git a/lib/match.c b/lib/match.c
index 2ad03e0..c362f9f 100644
--- a/lib/match.c
+++ b/lib/match.c
@@ -1898,7 +1898,7 @@  minimatch_hash(const struct minimatch *match, uint32_t basis)
     return hash_bytes(match->flow, 2 * flow_size, basis);
 }
 
-/* Returns true if 'target' satisifies 'match', that is, if each bit for which
+/* Returns true if 'target' satisfies 'match', that is, if each bit for which
  * 'match' specifies a particular value has the correct value in 'target'.
  *
  * This function is equivalent to miniflow_equal_flow_in_minimask(&match->flow,
diff --git a/lib/meta-flow.c b/lib/meta-flow.c
index e03cd8d..15de8ea 100644
--- a/lib/meta-flow.c
+++ b/lib/meta-flow.c
@@ -989,7 +989,7 @@  mf_get_value(const struct mf_field *mf, const struct flow *flow,
  * prerequisites.
  *
  * If non-NULL, 'err_str' returns a malloc'ed string describing any errors
- * with the request or NULL if there is no error. The caller is reponsible
+ * with the request or NULL if there is no error. The caller is responsible
  * for freeing the string. */
 void
 mf_set_value(const struct mf_field *mf,
@@ -1935,7 +1935,7 @@  mf_is_set(const struct mf_field *mf, const struct flow *flow)
  * prerequisites.
  *
  * If non-NULL, 'err_str' returns a malloc'ed string describing any errors
- * with the request or NULL if there is no error. The caller is reponsible
+ * with the request or NULL if there is no error. The caller is responsible
  * for freeing the string. */
 void
 mf_set_wild(const struct mf_field *mf, struct match *match, char **err_str)
@@ -2307,7 +2307,7 @@  mf_set_wild(const struct mf_field *mf, struct match *match, char **err_str)
  * is responsible for ensuring that 'match' meets 'mf''s prerequisites.
  *
  * If non-NULL, 'err_str' returns a malloc'ed string describing any errors
- * with the request or NULL if there is no error. The caller is reponsible
+ * with the request or NULL if there is no error. The caller is responsible
  * for freeing the string.
  *
  * Return a set of enum ofputil_protocol bits (as an uint32_t to avoid circular
diff --git a/lib/netdev-bsd.c b/lib/netdev-bsd.c
index 7875636..8779228 100644
--- a/lib/netdev-bsd.c
+++ b/lib/netdev-bsd.c
@@ -342,7 +342,7 @@  netdev_bsd_construct_tap(struct netdev *netdev_)
     kernel_name = xstrdup(name);
 #else
     /*
-     * NetBSD doesn't support inteface renaming.
+     * NetBSD doesn't support interface renaming.
      */
     VLOG_INFO("tap %s is created for bridge %s", ifr.ifr_name, name);
     kernel_name = xstrdup(ifr.ifr_name);
diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
index ca92c94..7df1ac9 100644
--- a/lib/netdev-dpdk.c
+++ b/lib/netdev-dpdk.c
@@ -648,7 +648,7 @@  dpdk_calculate_mbufs(struct netdev_dpdk *dev, int mtu, bool per_port_mp)
          * It's impossible to determine what the exact memory requirements are
          * when the number of ports and rxqs that utilize a particular mempool
          * can change dynamically at runtime. For now, use this rough
-         * heurisitic.
+         * heuristic.
          */
         if (mtu >= RTE_ETHER_MTU) {
             n_mbufs = MAX_NB_MBUF;
@@ -737,7 +737,7 @@  dpdk_mp_create(struct netdev_dpdk *dev, int mtu, bool per_port_mp)
         /* If there is a size discrepancy, add padding to mbuf_priv_data_len.
          * This maintains mbuf size cache alignment, while also honoring RX
          * buffer alignment in the data portion of the mbuf. If this adjustment
-         * is not made, there is a possiblity later on that for an element of
+         * is not made, there is a possibility later on that for an element of
          * the mempool, buf, buf->data_len < (buf->buf_len - buf->data_off).
          * This is problematic in the case of multi-segment mbufs, particularly
          * when an mbuf segment needs to be resized (when [push|popp]ing a VLAN
@@ -964,7 +964,7 @@  dpdk_eth_dev_port_config(struct netdev_dpdk *dev, int n_rxq, int n_txq)
     /* As of DPDK 17.11.1 a few PMDs require to explicitly enable
      * scatter to support jumbo RX.
      * Setting scatter for the device is done after checking for
-     * scatter support in the device capabilites. */
+     * scatter support in the device capabilities. */
     if (dev->mtu > RTE_ETHER_MTU) {
         if (dev->hw_ol_features & NETDEV_RX_HW_SCATTER) {
             conf.rxmode.offloads |= DEV_RX_OFFLOAD_SCATTER;
@@ -1093,7 +1093,7 @@  dpdk_eth_dev_init(struct netdev_dpdk *dev)
     int diag;
     int n_rxq, n_txq;
     uint32_t tx_tso_offload_capa = DPDK_TX_TSO_OFFLOAD_FLAGS;
-    uint32_t rx_chksm_offload_capa = DEV_RX_OFFLOAD_UDP_CKSUM |
+    uint32_t rx_chksum_offload_capa = DEV_RX_OFFLOAD_UDP_CKSUM |
                                      DEV_RX_OFFLOAD_TCP_CKSUM |
                                      DEV_RX_OFFLOAD_IPV4_CKSUM;
 
@@ -1106,8 +1106,8 @@  dpdk_eth_dev_init(struct netdev_dpdk *dev)
         dev->hw_ol_features &= ~NETDEV_RX_HW_CRC_STRIP;
     }
 
-    if ((info.rx_offload_capa & rx_chksm_offload_capa) !=
-            rx_chksm_offload_capa) {
+    if ((info.rx_offload_capa & rx_chksum_offload_capa) !=
+            rx_chksum_offload_capa) {
         VLOG_WARN("Rx checksum offload is not supported on port "
                   DPDK_PORT_ID_FMT, dev->port_id);
         dev->hw_ol_features &= ~NETDEV_RX_CHECKSUM_OFFLOAD;
@@ -1258,7 +1258,7 @@  common_construct(struct netdev *netdev, dpdk_port_t port_no,
     /* Initialize the flow control to NULL */
     memset(&dev->fc_conf, 0, sizeof dev->fc_conf);
 
-    /* Initilize the hardware offload flags to 0 */
+    /* Initialize the hardware offload flags to 0 */
     dev->hw_ol_features = 0;
 
     dev->flags = NETDEV_UP | NETDEV_PROMISC;
@@ -1617,7 +1617,7 @@  netdev_dpdk_configure_xstats(struct netdev_dpdk *dev)
                                             sizeof *dev->rte_xstats_names);
 
             if (dev->rte_xstats_names) {
-                /* Retreive xstats names */
+                /* Retrieve xstats names */
                 rte_xstats_len =
                         rte_eth_xstats_get_names(dev->port_id,
                                                  dev->rte_xstats_names,
@@ -1640,7 +1640,7 @@  netdev_dpdk_configure_xstats(struct netdev_dpdk *dev)
                 rte_xstats = xmalloc(rte_xstats_len * sizeof *rte_xstats);
                 memset(rte_xstats, 0xff, sizeof *rte_xstats * rte_xstats_len);
 
-                /* Retreive xstats values */
+                /* Retrieve xstats values */
                 if (rte_eth_xstats_get(dev->port_id, rte_xstats,
                                        rte_xstats_len) > 0) {
                     dev->rte_xstats_ids_size = 0;
@@ -3136,7 +3136,7 @@  netdev_dpdk_get_stats(const struct netdev *netdev, struct netdev_stats *stats)
     rte_xstats_names = xcalloc(rte_xstats_len, sizeof *rte_xstats_names);
     rte_xstats = xcalloc(rte_xstats_len, sizeof *rte_xstats);
 
-    /* Retreive xstats names */
+    /* Retrieve xstats names */
     rte_xstats_new_len = rte_eth_xstats_get_names(dev->port_id,
                                                   rte_xstats_names,
                                                   rte_xstats_len);
@@ -3145,7 +3145,7 @@  netdev_dpdk_get_stats(const struct netdev *netdev, struct netdev_stats *stats)
                   dev->port_id);
         goto out;
     }
-    /* Retreive xstats values */
+    /* Retrieve xstats values */
     memset(rte_xstats, 0xff, sizeof *rte_xstats * rte_xstats_len);
     rte_xstats_ret = rte_eth_xstats_get(dev->port_id, rte_xstats,
                                         rte_xstats_len);
@@ -3438,7 +3438,7 @@  netdev_dpdk_get_ifindex(const struct netdev *netdev)
 
     ovs_mutex_lock(&dev->mutex);
     /* Calculate hash from the netdev name. Ensure that ifindex is a 24-bit
-     * postive integer to meet RFC 2863 recommendations.
+     * positive integer to meet RFC 2863 recommendations.
      */
     int ifindex = hash_string(netdev->name, 0) % 0xfffffe + 1;
     ovs_mutex_unlock(&dev->mutex);
diff --git a/lib/netdev-dummy.c b/lib/netdev-dummy.c
index 1f386b8..45ce130 100644
--- a/lib/netdev-dummy.c
+++ b/lib/netdev-dummy.c
@@ -67,7 +67,7 @@  enum dummy_packet_conn_type {
 enum dummy_netdev_conn_state {
     CONN_STATE_CONNECTED,      /* Listener connected. */
     CONN_STATE_NOT_CONNECTED,  /* Listener not connected.  */
-    CONN_STATE_UNKNOWN,        /* No relavent information.  */
+    CONN_STATE_UNKNOWN,        /* No relevant information.  */
 };
 
 struct dummy_packet_pconn {
diff --git a/lib/netdev-linux.c b/lib/netdev-linux.c
index 97bd21b..d61e13a 100644
--- a/lib/netdev-linux.c
+++ b/lib/netdev-linux.c
@@ -399,7 +399,7 @@  struct tc_ops {
                      struct smap *details);
 
     /* Configures or reconfigures 'queue_id' on 'netdev->tc' according to
-     * 'details', perfoming any required Netlink calls to complete the
+     * 'details', performing any required Netlink calls to complete the
      * reconfiguration.  The caller ensures that 'queue_id' is less than
      * 'n_queues'.
      *
diff --git a/lib/netdev-offload-dpdk.c b/lib/netdev-offload-dpdk.c
index 9fee757..65b8753 100644
--- a/lib/netdev-offload-dpdk.c
+++ b/lib/netdev-offload-dpdk.c
@@ -133,7 +133,7 @@  ufid_to_rte_flow_disassociate(struct ufid_to_rte_flow_data *data)
 }
 
 /*
- * To avoid individual xrealloc calls for each new element, a 'curent_max'
+ * To avoid individual xrealloc calls for each new element, a 'current_max'
  * is used to keep track of current allocated number of elements. Starts
  * by 8 and doubles on each xrealloc call.
  */
diff --git a/lib/netdev-offload-provider.h b/lib/netdev-offload-provider.h
index 348ca70..aaad1ff 100644
--- a/lib/netdev-offload-provider.h
+++ b/lib/netdev-offload-provider.h
@@ -93,7 +93,7 @@  struct netdev_flow_api {
      * takes ownership of a packet if errno != EOPNOTSUPP. */
     int (*hw_miss_packet_recover)(struct netdev *, struct dp_packet *);
 
-    /* Initializies the netdev flow api.
+    /* Initializes the netdev flow api.
      * Return 0 if successful, otherwise returns a positive errno value. */
     int (*init_flow_api)(struct netdev *);
 };
diff --git a/lib/netdev-offload.h b/lib/netdev-offload.h
index e7fceda..be4589c 100644
--- a/lib/netdev-offload.h
+++ b/lib/netdev-offload.h
@@ -65,11 +65,11 @@  struct offload_info {
     ovs_be16 tp_dst_port; /* Destination port for tunnel in SET action */
     uint8_t tunnel_csum_on; /* Tunnel header with checksum */
 
-    bool recirc_id_shared_with_tc;  /* Indicates whever tc chains will be in
+    bool recirc_id_shared_with_tc;  /* Indicates whether tc chains will be in
                                      * sync with datapath recirc ids. */
 
     /*
-     * The flow mark id assigened to the flow. If any pkts hit the flow,
+     * The flow mark id assigned to the flow. If any pkts hit the flow,
      * it will be in the pkt meta data.
      */
     uint32_t flow_mark;
diff --git a/lib/netdev-provider.h b/lib/netdev-provider.h
index b542094..16fdc75 100644
--- a/lib/netdev-provider.h
+++ b/lib/netdev-provider.h
@@ -776,7 +776,7 @@  struct netdev_class {
      * configuration knowing that the upper layer will not call rxq_recv() or
      * send() until this function returns.
      *
-     * On error, the configuration is indeterminant and the device cannot be
+     * On error, the configuration is indeterminate and the device cannot be
      * used to send and receive packets until a successful configuration is
      * applied. */
     int (*reconfigure)(struct netdev *netdev);
diff --git a/lib/netdev.h b/lib/netdev.h
index acf1749..041cdd1 100644
--- a/lib/netdev.h
+++ b/lib/netdev.h
@@ -81,7 +81,7 @@  enum netdev_pt_mode {
 
     /* The netdev sends and receives only Ethernet frames.  The netdev cannot
      * carry packets other than Ethernet frames.  This is a legacy mode for
-     * backward compability with controllers that are not prepared to handle
+     * backward compatibility with controllers that are not prepared to handle
      * OpenFlow 1.5+ "packet_type". */
     NETDEV_PT_LEGACY_L2,
 
@@ -90,8 +90,8 @@  enum netdev_pt_mode {
      *
      * IPv4 and IPv6 packets carried over the netdev are treated as Ethernet:
      * when they are received, they are converted to Ethernet by adding a dummy
-     * header with the proper Ethertype; on tranmission, the Ethernet header is
-     * stripped.  This is a legacy mode for backward compability with
+     * header with the proper Ethertype; on transmission, the Ethernet header is
+     * stripped.  This is a legacy mode for backward compatibility with
      * controllers that are not prepared to handle OpenFlow 1.5+
      * "packet_type". */
     NETDEV_PT_LEGACY_L3,
diff --git a/lib/netlink-conntrack.c b/lib/netlink-conntrack.c
index 78f1bf6..2ebc6fd 100644
--- a/lib/netlink-conntrack.c
+++ b/lib/netlink-conntrack.c
@@ -152,7 +152,7 @@  nl_ct_dump_start(struct nl_ct_dump_state **statep, const uint16_t *zone,
 
 /* Receive the next 'entry' from the conntrack netlink dump with 'state'.
  * Returns 'EOF' when no more entries are available, 0 otherwise.  'entry' may
- * be uninitilized memory on entry, and must be uninitialized with
+ * be uninitialized memory on entry, and must be uninitialized with
  * ct_dpif_entry_uninit() afterwards by the caller.  In case the same 'entry' is
  * passed to this function again, the entry must also be uninitialized before
  * the next call. */
diff --git a/lib/odp-util.c b/lib/odp-util.c
index fbdfc7a..2604d2c 100644
--- a/lib/odp-util.c
+++ b/lib/odp-util.c
@@ -2391,7 +2391,7 @@  parse_odp_action__(struct parse_odp_context *context, const char *s,
         if (size == nl_attr_get_size(key)) {
             /* Change to masked set action if not fully masked. */
             if (!is_all_ones(mask + 1, size)) {
-                /* Remove padding of eariler key payload  */
+                /* Remove padding of earlier key payload  */
                 actions->size -= NLA_ALIGN(key->nla_len) - key->nla_len;
 
                 /* Put mask payload right after key payload */
diff --git a/lib/ofp-actions.c b/lib/ofp-actions.c
index ecf914e..8a13efb 100644
--- a/lib/ofp-actions.c
+++ b/lib/ofp-actions.c
@@ -8015,7 +8015,7 @@  ofpact_is_allowed_in_actions_set(const struct ofpact *a)
  *   provided in 'in' as many set actions applied to a field has the same
  *   affect as only applying the last action that sets a field and
  *   duplicates are removed by do_xlate_actions().
- *   This has an unwanted side-effect of compsoting multiple
+ *   This has an unwanted side-effect of compositing multiple
  *   LOAD_REG actions that touch different regions of the same field. */
 void
 ofpacts_execute_action_set(struct ofpbuf *action_list,
diff --git a/lib/ofp-flow.c b/lib/ofp-flow.c
index ff03968..ec72ada 100644
--- a/lib/ofp-flow.c
+++ b/lib/ofp-flow.c
@@ -1911,7 +1911,7 @@  parse_ofp_flow_mod_file(const char *file_name,
  * form FIELD=VALUE[,FIELD=VALUE]... where each FIELD is the name of a
  * mf_field.  Fields must be specified in a natural order for satisfying
  * prerequisites. If 'wc' is specified, masks the field in 'wc' for each of the
- * field specified in flow. If the map, 'names_portno' is specfied, converts
+ * field specified in flow. If the map, 'names_portno' is specified, converts
  * the in_port name into port no while setting the 'flow'.
  *
  * Returns NULL on success, otherwise a malloc()'d string that explains the
diff --git a/lib/ofp-match.c b/lib/ofp-match.c
index 86a082d..d916709 100644
--- a/lib/ofp-match.c
+++ b/lib/ofp-match.c
@@ -159,7 +159,7 @@  ofputil_match_from_ofp10_match(const struct ofp10_match *ofmatch,
          * If OFPFW10_DL_VLAN_PCP is matched, the flow match is contradictory,
          * because we can't have a specific PCP without an 802.1Q header.
          * However, older versions of OVS treated this as matching packets
-         * withut an 802.1Q header, so we do here too. */
+         * without an 802.1Q header, so we do here too. */
         match->flow.vlans[0].tci = htons(0);
         match->wc.masks.vlans[0].tci = htons(0xffff);
     } else {
diff --git a/lib/ovs-atomic-i586.h b/lib/ovs-atomic-i586.h
index 9a385ce..87bffbf 100644
--- a/lib/ovs-atomic-i586.h
+++ b/lib/ovs-atomic-i586.h
@@ -134,7 +134,7 @@  typedef enum {
  * volatile atomic variable means that the compiler optimizations should not
  * cause problems.  That is, the compiler should not speculate the value of
  * the atomic_read, as it is going to read it from the memory anyway.
- * This allows omiting the compiler memory barrier on atomic_reads with
+ * This allows omitting the compiler memory barrier on atomic_reads with
  * memory_order_consume.  This matches the definition of
  * smp_read_barrier_depends() in Linux kernel as a nop for x86, and its usage
  * in rcu_dereference().
@@ -239,7 +239,7 @@  atomic_signal_fence(memory_order order)
 
 #if defined(__SSE__)
 /* SSE registers are 128-bit wide, and moving the lowest 64-bits of an SSE
- * register to proerly aligned memory is atomic.  See ATOMIC(TYPE) above. */
+ * register to properly aligned memory is atomic.  See ATOMIC(TYPE) above. */
 #define atomic_store_8__(DST, SRC)                 \
     asm volatile("movq %1,%0 ; # atomic_store_8__" \
                  : "=m" (*DST)   /* 0 */           \
diff --git a/lib/ovs-atomic-x86_64.h b/lib/ovs-atomic-x86_64.h
index 1e7d427..fe27ea7 100644
--- a/lib/ovs-atomic-x86_64.h
+++ b/lib/ovs-atomic-x86_64.h
@@ -135,7 +135,7 @@  typedef enum {
  * volatile atomic variable means that the compiler optimizations should not
  * cause problems.  That is, the compiler should not speculate the value of
  * the atomic_read, as it is going to read it from the memory anyway.
- * This allows omiting the compiler memory barrier on atomic_reads with
+ * This allows omitting the compiler memory barrier on atomic_reads with
  * memory_order_consume.  This matches the definition of
  * smp_read_barrier_depends() in Linux kernel as a nop for x86, and its usage
  * in rcu_dereference().
diff --git a/lib/ovs-atomic.h b/lib/ovs-atomic.h
index 11fa192..f0e1ebd 100644
--- a/lib/ovs-atomic.h
+++ b/lib/ovs-atomic.h
@@ -427,7 +427,7 @@  typedef ATOMIC(int64_t)   atomic_int64_t;
  *
  * Typically a counter is not used to synchronize the state of any other
  * variables (with the notable exception of reference count, below).
- * This abstraction releaves the user from the memory order considerations,
+ * This abstraction relieves the user from the memory order considerations,
  * and may make the code easier to read.
  *
  * We only support the unsigned int counters, as those are the most common. */
diff --git a/lib/ovs-rcu.c b/lib/ovs-rcu.c
index 1866bd3..11e9804 100644
--- a/lib/ovs-rcu.c
+++ b/lib/ovs-rcu.c
@@ -286,7 +286,7 @@  ovsrcu_exit(void)
  * next grace period.
  *
  * The call is guaranteed to happen after the next time all participating
- * threads have quiesced at least once, but there is no quarantee that all
+ * threads have quiesced at least once, but there is no guarantee that all
  * registered functions are called as early as possible, or that the functions
  * registered by different threads would be called in the order the
  * registrations took place.  In particular, even if two threads provably
diff --git a/lib/ovs-rcu.h b/lib/ovs-rcu.h
index ecc4c92..b2ee19a 100644
--- a/lib/ovs-rcu.h
+++ b/lib/ovs-rcu.h
@@ -58,7 +58,7 @@ 
  * A newly created thread is initially active, not quiescent. When a process
  * becomes multithreaded, the main thread becomes active, not quiescent.
  *
- * When a quiescient state has occurred in every thread, we say that a "grace
+ * When a quiescent state has occurred in every thread, we say that a "grace
  * period" has occurred.  Following a grace period, all of the callbacks
  * postponed before the start of the grace period MAY be invoked.  OVS takes
  * care of this automatically through the RCU mechanism: while a process still
@@ -68,7 +68,7 @@ 
  *
  * Please note that while a postponed function call is guaranteed to happen
  * after the next time all participating threads have quiesced at least once,
- * there is no quarantee that all postponed functions are called as early as
+ * there is no guarantee that all postponed functions are called as early as
  * possible, or that the functions postponed by different threads would be
  * called in the order the registrations took place.  In particular, even if
  * two threads provably postpone a function each in a specific order, the
diff --git a/lib/ovs-replay.c b/lib/ovs-replay.c
index f386246..b08c182 100644
--- a/lib/ovs-replay.c
+++ b/lib/ovs-replay.c
@@ -93,7 +93,7 @@  ovs_replay_file_name(const char *name, int seqno)
     /* Replace all the numbers and special symbols with single underscore.
      * Numbers might be PIDs or port numbers that could change between record
      * and replay phases, special symbols might be not good as a filename.
-     * We have a unique seuqence number as part of the name, so we don't care
+     * We have a unique sequence number as part of the name, so we don't care
      * keeping too much information. */
     for (c = p = local_name; *p; p++) {
          if (!isalpha((unsigned char) *p)) {
diff --git a/lib/ovs-replay.h b/lib/ovs-replay.h
index cd8323c..f0b4739 100644
--- a/lib/ovs-replay.h
+++ b/lib/ovs-replay.h
@@ -110,7 +110,7 @@  void ovs_replay_file_close(replay_file_t f);
 /* Writes a new record of 'n' bytes from 'buffer' to a replay file.
  * 'is_read' should be true if the record belongs to 'read' operation
  * Depending on 'is_read', creates 'read' or 'write' record.  'write' records
- * contains only the size of a bufer ('n').
+ * contains only the size of a buffer ('n').
  * If 'n' is negative, writes 'n' as an error status.
  *
  * On success returns 0.  Otherwise, positive errno. */
diff --git a/lib/ovsdb-cs.c b/lib/ovsdb-cs.c
index fcb6fe1..66fd3be 100644
--- a/lib/ovsdb-cs.c
+++ b/lib/ovsdb-cs.c
@@ -971,7 +971,7 @@  ovsdb_cs_set_condition(struct ovsdb_cs *cs, const char *table,
  * connection.
  *
  * ovsdb_cs_set_condition() sets a new condition that is different from the
- * current condtion, the next expected "sequence number" is returned.
+ * current condition, the next expected "sequence number" is returned.
  *
  * Whenever ovsdb_cs_get_condition_seqno() returns a value that matches the
  * return value of ovsdb_cs_set_condition(), the client is assured that:
diff --git a/lib/ovsdb-data.c b/lib/ovsdb-data.c
index 2832e94..79393dc 100644
--- a/lib/ovsdb-data.c
+++ b/lib/ovsdb-data.c
@@ -2193,7 +2193,7 @@  ovsdb_datum_added_removed(struct ovsdb_datum *added,
 }
 
 
-/* Generate a difference ovsdb_dataum between 'old' and 'new'.
+/* Generate a difference ovsdb_datum between 'old' and 'new'.
  * 'new' can be regenerated by applying the difference to the 'old'.
  *
  * The diff operation is reversible. Given 'old',
diff --git a/lib/ovsdb-idl.c b/lib/ovsdb-idl.c
index b7ba25e..d4548d2 100644
--- a/lib/ovsdb-idl.c
+++ b/lib/ovsdb-idl.c
@@ -531,7 +531,7 @@  ovsdb_idl_get_seqno(const struct ovsdb_idl *idl)
  * connection.
  *
  * ovsdb_idl_set_condition() sets a new condition that is different from
- * the current condtion, the next expected "sequence number" is returned.
+ * the current condition, the next expected "sequence number" is returned.
  *
  * Whenever ovsdb_idl_get_cond_seqno() returns a value that matches
  * the return value of ovsdb_idl_set_condition(),  The client is
@@ -1219,7 +1219,7 @@  ovsdb_idl_table_get_seqno(const struct ovsdb_idl *idl,
 }
 
 /* For each row that contains tracked columns, IDL stores the most
- * recent IDL change sequence numbers associateed with insert, modify
+ * recent IDL change sequence numbers associated with insert, modify
  * and delete updates to the table.
  */
 unsigned int
@@ -1232,7 +1232,7 @@  ovsdb_idl_row_get_seqno(const struct ovsdb_idl_row *row,
 /* Turns on OVSDB_IDL_TRACK for 'column' in 'idl', ensuring that
  * all rows whose 'column' is modified are traced. Similarly, insert
  * or delete of rows having 'column' are tracked. Clients are able
- * to retrive the tracked rows with the ovsdb_idl_track_get_*()
+ * to retrieve the tracked rows with the ovsdb_idl_track_get_*()
  * functions.
  *
  * This function should be called between ovsdb_idl_create() and
diff --git a/lib/packets.c b/lib/packets.c
index 4a7643c..15411d3 100644
--- a/lib/packets.c
+++ b/lib/packets.c
@@ -1103,7 +1103,7 @@  packet_set_ipv4_addr(struct dp_packet *packet,
 }
 
 /* Returns true, if packet contains at least one routing header where
- * segements_left > 0.
+ * segments_left > 0.
  *
  * This function assumes that L3 and L4 offsets are set in the packet. */
 static bool
@@ -1740,7 +1740,7 @@  compose_nd_na(struct dp_packet *b,
 /* Compose an IPv6 Neighbor Discovery Router Advertisement message with
  * Source Link-layer Address Option and MTU Option.
  * Caller can call packet_put_ra_prefix_opt to append Prefix Information
- * Options to composed messags in 'b'. */
+ * Options to composed massages in 'b'. */
 void
 compose_nd_ra(struct dp_packet *b,
               const struct eth_addr eth_src, const struct eth_addr eth_dst,
diff --git a/lib/perf-counter.c b/lib/perf-counter.c
index e4eca58..4ec5e7c 100644
--- a/lib/perf-counter.c
+++ b/lib/perf-counter.c
@@ -124,7 +124,7 @@  perf_counters_to_ds(struct ds *ds)
 
     err_str = NULL;
     if (fd__ == -1) {
-        err_str = "performance counter is not supported on this platfrom";
+        err_str = "performance counter is not supported on this platform";
     } else if (!shash_count(&perf_counters)) {
         err_str = "performance counter has never been hit";
     }
diff --git a/lib/perf-counter.h b/lib/perf-counter.h
index bdfb672..bec3439 100644
--- a/lib/perf-counter.h
+++ b/lib/perf-counter.h
@@ -58,7 +58,7 @@ 
  * For example, if we are interested in performance of perf_func():
  *
  *    int perf_func() {
- *        <implemenation>
+ *        <implementation>
  *    }
  *
  *    void func() {
diff --git a/lib/pvector.c b/lib/pvector.c
index cc527fd..26ec565 100644
--- a/lib/pvector.c
+++ b/lib/pvector.c
@@ -122,7 +122,7 @@  pvector_insert(struct pvector *pvec, void *ptr, int priority)
     ovs_assert(ptr != NULL);
 
     /* There is no possible concurrent writer. Insertions must be protected
-     * by mutex or be always excuted from the same thread. */
+     * by mutex or be always executed from the same thread. */
     atomic_read_relaxed(&old->size, &size);
 
     /* Check if can add to the end without reallocation. */
diff --git a/lib/rconn.c b/lib/rconn.c
index a96b2eb..8bdd57c 100644
--- a/lib/rconn.c
+++ b/lib/rconn.c
@@ -1433,7 +1433,7 @@  is_admitted_msg(const struct ofpbuf *b)
 
 /* Returns true if 'rc' is currently logging information about connection
  * attempts, false if logging should be suppressed because 'rc' hasn't
- * successuflly connected in too long. */
+ * successfully connected in too long. */
 static bool
 rconn_logging_connection_attempts__(const struct rconn *rc)
     OVS_REQUIRES(rc->mutex)
diff --git a/lib/seq.h b/lib/seq.h
index c88b9d1..c55a92c 100644
--- a/lib/seq.h
+++ b/lib/seq.h
@@ -25,7 +25,7 @@ 
  *
  * It is sometimes desirable to take an action whenever an object changes.
  * Suppose we associate a sequence number with an object and increment the
- * sequence number whenver we change the object.  An observer can then record
+ * sequence number whenever we change the object.  An observer can then record
  * the sequence number it sees.  Later on, if the current sequence number
  * differs from the one it saw last, then the observer knows to examine the
  * object for changes.
diff --git a/lib/sflow.h b/lib/sflow.h
index 95bedd9..77498cf 100644
--- a/lib/sflow.h
+++ b/lib/sflow.h
@@ -123,7 +123,7 @@  typedef struct _SFLSampled_ipv6 {
 /* Extended switch data */
 
 typedef struct _SFLExtended_switch {
-    u_int32_t src_vlan;       /* The 802.1Q VLAN id of incomming frame */
+    u_int32_t src_vlan;       /* The 802.1Q VLAN id of incoming frame */
     u_int32_t src_priority;   /* The 802.1p priority */
     u_int32_t dst_vlan;       /* The 802.1Q VLAN id of outgoing frame */
     u_int32_t dst_priority;   /* The 802.1p priority */
@@ -211,7 +211,7 @@  typedef struct _SFLExtended_mpls {
 /* Extended NAT data
    Packet header records report addresses as seen at the sFlowDataSource.
    The extended_nat structure reports on translated source and/or destination
-   addesses for this packet. If an address was not translated it should
+   addresses for this packet. If an address was not translated it should
    be equal to that reported for the header. */
 
 typedef struct _SFLExtended_nat {
@@ -219,7 +219,7 @@  typedef struct _SFLExtended_nat {
     SFLAddress dst;    /* Destination address */
 } SFLExtended_nat;
 
-/* additional Extended MPLS stucts */
+/* additional Extended MPLS struts */
 
 typedef struct _SFLExtended_mpls_tunnel {
     SFLString tunnel_lsp_name;  /* Tunnel name */
diff --git a/lib/sflow_agent.c b/lib/sflow_agent.c
index c95f654..67de098 100644
--- a/lib/sflow_agent.c
+++ b/lib/sflow_agent.c
@@ -329,7 +329,7 @@  static void sfl_agent_jumpTableRemove(SFLAgent *agent, SFLSampler *sampler)
   fast lookup (pointers cached in hash table).  If there are multiple
   sampler instances for a given ifIndex, then this fn will return
   the one with the lowest instance number.  Since the samplers
-  list is sorted, this means the other instances will be accesible
+  list is sorted, this means the other instances will be accessible
   by following the sampler->nxt pointer (until the ds_class
   or ds_index changes).  This is helpful if you need to offer
   the same flowSample to multiple samplers.
@@ -410,8 +410,8 @@  SFLReceiver *sfl_agent_getReceiver(SFLAgent *agent, u_int32_t receiverIndex)
 
 SFLSampler *sfl_agent_getNextSampler(SFLAgent *agent, SFLDataSource_instance *pdsi)
 {
-    /* return the one lexograpically just after it - assume they are sorted
-       correctly according to the lexographical ordering of the object ids */
+    /* return the one lexicographically just after it - assume they are sorted
+       correctly according to the lexicographical ordering of the object ids */
     SFLSampler *sm = sfl_agent_getSampler(agent, pdsi);
     return sm ? sm->nxt : NULL;
 }
@@ -423,8 +423,8 @@  SFLSampler *sfl_agent_getNextSampler(SFLAgent *agent, SFLDataSource_instance *pd
 
 SFLPoller *sfl_agent_getNextPoller(SFLAgent *agent, SFLDataSource_instance *pdsi)
 {
-    /* return the one lexograpically just after it - assume they are sorted
-       correctly according to the lexographical ordering of the object ids */
+    /* return the one lexicographically just after it - assume they are sorted
+       correctly according to the lexicographical ordering of the object ids */
     SFLPoller *pl = sfl_agent_getPoller(agent, pdsi);
     return pl ? pl->nxt : NULL;
 }
diff --git a/lib/sflow_poller.c b/lib/sflow_poller.c
index 9e6a487..860954f 100644
--- a/lib/sflow_poller.c
+++ b/lib/sflow_poller.c
@@ -76,14 +76,14 @@  void sfl_poller_set_sFlowCpInterval(SFLPoller *poller, u_int32_t sFlowCpInterval
         /* Set the countersCountdown to be a randomly selected value between 1 and
 	   sFlowCpInterval. That way the counter polling will be desynchronised
 	   (on a 200-port switch, polling all the counters in one second could be harmful).
-	   In a large network, even this might not be ideal if time-synchroniziation
+	   In a large network, even this might not be ideal if time-synchronization
 	   between devices is close and counters are always polled on second boundaries. If
 	   1000 different devices all send an sFlow datagram on the same second boundary
 	   it could result in an antisocial burst.
 	   However when counter-samples are packed into the export datagram they do not
 	   always result in that datagram being sent immediately. It is more likely that
 	   a subsequent packet-sample will be the one that triggers the datagram to be sent.
-	   The packet-sample events are not sychronized to any clock, so that results in
+	   The packet-sample events are not synchronized to any clock, so that results in
 	   excellent desynchronization (http://blog.sflow.com/2009/05/measurement-traffic.html).
 	   Another smoothing factor is that the tick() function called here is usually
 	   driven from a fairly "soft" polling loop rather than a hard real-time event.
@@ -92,7 +92,7 @@  void sfl_poller_set_sFlowCpInterval(SFLPoller *poller, u_int32_t sFlowCpInterval
     }
     else {
         /* Setting sFlowCpInterval to 0 disables counter polling altogether.  Thanks to
-	   Andy Kitchingman for spotting this ommission. */
+	   Andy Kitchingman for spotting this omission. */
         poller->countersCountdown = 0;
     }
 }
diff --git a/lib/sflow_receiver.c b/lib/sflow_receiver.c
index 4162518..30b03cf 100644
--- a/lib/sflow_receiver.c
+++ b/lib/sflow_receiver.c
@@ -205,7 +205,7 @@  inline static void putString(SFLReceiver *receiver, SFLString *s)
 }
 
 inline static u_int32_t stringEncodingLength(SFLString *s) {
-    // answer in bytes,  so remember to mulitply by 4 after rounding up to nearest 4-byte boundary
+    // answer in bytes,  so remember to multiply by 4 after rounding up to nearest 4-byte boundary
     return 4 + (((s->len + 3) / 4) * 4);
 }
 
@@ -499,7 +499,7 @@  int sfl_receiver_writeFlowSample(SFLReceiver *receiver, SFL_FLOW_SAMPLE_TYPE *fs
 
     // check in case this one sample alone is too big for the datagram
     // in fact - if it is even half as big then we should ditch it. Very
-    // important to avoid overruning the packet buffer.
+    // important to avoid overrunning the packet buffer.
     if(packedSize > (int)(receiver->sFlowRcvrMaximumDatagramSize / 2)) {
 	sflError(receiver, "flow sample too big for datagram");
 	return -1;
@@ -682,7 +682,7 @@  int sfl_receiver_writeCountersSample(SFLReceiver *receiver, SFL_COUNTERS_SAMPLE_
 
     // check in case this one sample alone is too big for the datagram
     // in fact - if it is even half as big then we should ditch it. Very
-    // important to avoid overruning the packet buffer.
+    // important to avoid overrunning the packet buffer.
     if(packedSize > (int)(receiver->sFlowRcvrMaximumDatagramSize / 2)) {
 	sflError(receiver, "counters sample too big for datagram");
 	return -1;
diff --git a/lib/stream.c b/lib/stream.c
index fcaddf1..687245d 100644
--- a/lib/stream.c
+++ b/lib/stream.c
@@ -811,7 +811,7 @@  stream_guess_content(const uint8_t *data, ssize_t size)
     return STREAM_UNKNOWN;
 }
 
-/* Returns a string represenation of 'type'. */
+/* Returns a string representation of 'type'. */
 static const char *
 stream_content_type_to_string(enum stream_content_type type)
 {
diff --git a/lib/tc.c b/lib/tc.c
index 38a1dfc..0cd08da 100644
--- a/lib/tc.c
+++ b/lib/tc.c
@@ -2426,7 +2426,7 @@  calc_offsets(struct tc_flower *flower, struct flower_key_to_pedit *m,
 static inline int
 csum_update_flag(struct tc_flower *flower,
                  enum pedit_header_type htype) {
-    /* Explictily specifiy the csum flags so HW can return EOPNOTSUPP
+    /* Explicitly specify the csum flags so HW can return EOPNOTSUPP
      * if it doesn't support a checksum recalculation of some headers.
      * And since OVS allows a flow such as
      * eth(dst=<mac>),eth_type(0x0800) actions=set(ipv4(src=<new_ip>))
diff --git a/lib/tun-metadata.c b/lib/tun-metadata.c
index af0bcbd..797677f 100644
--- a/lib/tun-metadata.c
+++ b/lib/tun-metadata.c
@@ -344,7 +344,7 @@  metadata_loc_from_match(const struct tun_table *map, struct match *match,
  * 'mask' may be NULL; if so, then 'mf' is made exact-match.
  *
  * If non-NULL, 'err_str' returns a malloc'ed string describing any errors
- * with the request or NULL if there is no error. The caller is reponsible
+ * with the request or NULL if there is no error. The caller is responsible
  * for freeing the string.
  */
 void
diff --git a/lib/util.c b/lib/util.c
index 1195c79..6a48c2e 100644
--- a/lib/util.c
+++ b/lib/util.c
@@ -292,7 +292,7 @@  xmalloc_size_align(size_t size, size_t alignment)
 
     runt = PAD_SIZE((uintptr_t) p, alignment) < sizeof(void *);
     /* When the padding size < sizeof(void*), we don't have enough room for
-     * pointer 'q'. As a reuslt, need to move 'r' to the next alignment.
+     * pointer 'q'. As a result, need to move 'r' to the next alignment.
      * So ROUND_UP when xmalloc above, and ROUND_UP again when calculate 'r'
      * below.
      */
diff --git a/lib/wmi.c b/lib/wmi.c
index 44c1d75..557fd79 100644
--- a/lib/wmi.c
+++ b/lib/wmi.c
@@ -328,7 +328,7 @@  get_first_element(IEnumWbemClassObject *penumerate,
 
 /* This function is a wrapper that transforms a char * into a wchar_t * */
 static boolean
-tranform_wide(char *name, wchar_t *wide_name)
+transform_wide(char *name, wchar_t *wide_name)
 {
     unsigned long size = strlen(name) + 1;
     long long ret = 0;
@@ -408,7 +408,7 @@  delete_wmi_port(char *name)
 
     wide_name = xmalloc((strlen(name) + 1) * sizeof(wchar_t));
 
-    if (!tranform_wide(name, wide_name)) {
+    if (!transform_wide(name, wide_name)) {
         retval = false;
         goto error;
     }
@@ -690,7 +690,7 @@  create_wmi_port(char *name) {
 
     wide_name = xmalloc((strlen(name) + 1) * sizeof(wchar_t));
 
-    if (!tranform_wide(name, wide_name)) {
+    if (!transform_wide(name, wide_name)) {
         retval = false;
         goto error;
     }
diff --git a/m4/openvswitch.m4 b/m4/openvswitch.m4
index 772825a..8711b1b 100644
--- a/m4/openvswitch.m4
+++ b/m4/openvswitch.m4
@@ -397,7 +397,7 @@  dnl Checks for binutils/assembler known issue with AVX512.
 dnl Due to backports, we probe assembling a reproducer instead of checking
 dnl binutils version string. More details, including ASM dumps and debug here:
 dnl   GCC: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90028
-dnl The checking of binutils funcationality instead of LD version is similar
+dnl The checking of binutils functionality instead of LD version is similar
 dnl to as how DPDK proposes to solve this issue:
 dnl   http://patches.dpdk.org/patch/71723/
 AC_DEFUN([OVS_CHECK_BINUTILS_AVX512],
@@ -474,7 +474,7 @@  static thread_local int var;], [return var;])],
    if test $ovs_cv_thread_local = yes; then
      AC_DEFINE([HAVE_THREAD_LOCAL], [1],
                [Define to 1 if the C compiler and linker supports the C11
-                thread_local matcro defined in <threads.h>.])
+                thread_local macro defined in <threads.h>.])
    else
      AC_CACHE_CHECK(
        [whether $CC supports __thread],
@@ -486,7 +486,7 @@  static thread_local int var;], [return var;])],
      if test $ovs_cv___thread = yes; then
        AC_DEFINE([HAVE___THREAD], [1],
                  [Define to 1 if the C compiler and linker supports the
-                  GCC __thread extenions.])
+                  GCC __thread extensions.])
      fi
    fi])
 
diff --git a/m4/pkg.m4 b/m4/pkg.m4
index 82bea96..0a28e5f 100644
--- a/m4/pkg.m4
+++ b/m4/pkg.m4
@@ -86,7 +86,7 @@  dnl Check to see whether a particular set of modules exists. Similar to
 dnl PKG_CHECK_MODULES(), but does not set variables or print errors.
 dnl
 dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
-dnl only at the first occurence in configure.ac, so if the first place
+dnl only at the first occurrence in configure.ac, so if the first place
 dnl it's called might be skipped (such as if it is within an "if", you
 dnl have to call PKG_CHECK_EXISTS manually
 AC_DEFUN([PKG_CHECK_EXISTS],
diff --git a/ofproto/bond.c b/ofproto/bond.c
index cdfdf0b..86ed2cf 100644
--- a/ofproto/bond.c
+++ b/ofproto/bond.c
@@ -141,7 +141,7 @@  struct bond {
                                  * it is stored into OVSDB */
 
     /* Interface name may not be persistent across an OS reboot, use
-     * MAC address for identifing the active member. */
+     * MAC address for identifying the active member. */
     struct eth_addr active_member_mac; /* MAC address of the active member. */
     /* Legacy compatibility. */
     bool lacp_fallback_ab; /* Fallback to active-backup on LACP failure. */
@@ -1956,7 +1956,7 @@  choose_output_member(const struct bond *bond, const struct flow *flow,
     balance = bond->balance;
     if (bond->lacp_status == LACP_CONFIGURED) {
         /* LACP has been configured on this bond but negotiations were
-         * unsuccussful. If lacp_fallback_ab is enabled use active-
+         * unsuccessful. If lacp_fallback_ab is enabled use active-
          * backup mode else drop all traffic. */
         if (!bond->lacp_fallback_ab) {
             return NULL;
diff --git a/ofproto/connmgr.c b/ofproto/connmgr.c
index fa8f6cd..f808029 100644
--- a/ofproto/connmgr.c
+++ b/ofproto/connmgr.c
@@ -1623,7 +1623,7 @@  connmgr_send_flow_removed(struct connmgr *mgr,
  * informed with the OFPT_TABLE_STATUS message. The reason values
  * OFPTR_VACANCY_DOWN and OFPTR_VACANCY_UP identify a vacancy message. The
  * vacancy events are generated when the remaining space in the flow table
- * changes and crosses one of the vacancy thereshold specified by
+ * changes and crosses one of the vacancy threshold specified by
  * OFPT_TABLE_MOD. */
 void
 connmgr_send_table_status(struct connmgr *mgr,
diff --git a/ofproto/ipfix.xml b/ofproto/ipfix.xml
index 845722f..c0ec69c 100644
--- a/ofproto/ipfix.xml
+++ b/ofproto/ipfix.xml
@@ -5841,7 +5841,7 @@ 
           A description of the anonymization technique applied
           to a referenced Information Element within a referenced Template.
           Each technique may be applicable only to certain Information
-          Elements and recommended only for certain Infomation Elements;
+          Elements and recommended only for certain Information Elements;
           these restrictions are noted in the table below.
         </paragraph>
         <artwork>
diff --git a/ofproto/netflow.c b/ofproto/netflow.c
index ed58de1..fd64357 100644
--- a/ofproto/netflow.c
+++ b/ofproto/netflow.c
@@ -44,7 +44,7 @@  struct netflow {
     uint8_t engine_id;            /* Value of engine_id to use. */
     long long int boot_time;      /* Time when netflow_create() was called. */
     struct collectors *collectors; /* NetFlow collectors. */
-    bool add_id_to_iface;         /* Put the 7 least significiant bits of
+    bool add_id_to_iface;         /* Put the 7 least significant bits of
                                    * 'engine_id' into the most significant
                                    * bits of the interface fields. */
     uint32_t netflow_cnt;         /* Flow sequence number for NetFlow. */
diff --git a/ofproto/ofproto-dpif-ipfix.c b/ofproto/ofproto-dpif-ipfix.c
index 796eb6f..f4eeba9 100644
--- a/ofproto/ofproto-dpif-ipfix.c
+++ b/ofproto/ofproto-dpif-ipfix.c
@@ -758,7 +758,7 @@  dpif_ipfix_exporter_set_options(struct dpif_ipfix_exporter *exporter,
     exporter->cache_max_flows = cache_max_flows;
     virtual_obs_len = virtual_obs_id ? strlen(virtual_obs_id) : 0;
     if (virtual_obs_len > IPFIX_VIRTUAL_OBS_MAX_LEN) {
-        VLOG_WARN_RL(&rl, "Virtual obsevation ID too long (%d bytes), "
+        VLOG_WARN_RL(&rl, "Virtual observation ID too long (%d bytes), "
                      "should not be longer than %d bytes.",
                      exporter->virtual_obs_len, IPFIX_VIRTUAL_OBS_MAX_LEN);
         dpif_ipfix_exporter_clear(exporter);
@@ -2710,7 +2710,7 @@  dpif_ipfix_bridge_sample(struct dpif_ipfix *di, const struct dp_packet *packet,
     /* Skip BFD packets:
      * Bidirectional Forwarding Detection(BFD) packets are for monitoring
      * the tunnel link status and consumed by ovs itself. No need to
-     * smaple them.
+     * sample them.
      * CF  IETF RFC 5881, BFD control packet is the UDP packet with
      * destination port 3784, and BFD echo packet is the UDP packet with
      * destination port 3785.
diff --git a/ofproto/ofproto-dpif-rid.c b/ofproto/ofproto-dpif-rid.c
index 29aafc2..64eaf2b 100644
--- a/ofproto/ofproto-dpif-rid.c
+++ b/ofproto/ofproto-dpif-rid.c
@@ -95,7 +95,7 @@  recirc_find__(uint32_t id)
     return node ? CONTAINER_OF(node, struct recirc_id_node, id_node) : NULL;
 }
 
-/* Lockless RCU protected lookup.  If node is needed accross RCU quiescent
+/* Lockless RCU protected lookup.  If node is needed across RCU quiescent
  * state, caller should copy the contents. */
 const struct recirc_id_node *
 recirc_id_node_find(uint32_t id)
@@ -168,7 +168,7 @@  frozen_state_equal(const struct frozen_state *a, const struct frozen_state *b)
             && uuid_equals(&a->xport_uuid, &b->xport_uuid));
 }
 
-/* Lockless RCU protected lookup.  If node is needed accross RCU quiescent
+/* Lockless RCU protected lookup.  If node is needed across RCU quiescent
  * state, caller should take a reference. */
 static struct recirc_id_node *
 recirc_find_equal(const struct frozen_state *target, uint32_t hash)
diff --git a/ofproto/ofproto-dpif-sflow.c b/ofproto/ofproto-dpif-sflow.c
index 864c136..25c489c 100644
--- a/ofproto/ofproto-dpif-sflow.c
+++ b/ofproto/ofproto-dpif-sflow.c
@@ -67,7 +67,7 @@  enum dpif_sflow_tunnel_type {
 struct dpif_sflow_port {
     struct hmap_node hmap_node; /* In struct dpif_sflow's "ports" hmap. */
     SFLDataSource_instance dsi; /* sFlow library's notion of port number. */
-    struct ofport *ofport;      /* To retrive port stats. */
+    struct ofport *ofport;      /* To retrieve port stats. */
     odp_port_t odp_port;
     enum dpif_sflow_tunnel_type tunnel_type;
 };
@@ -220,7 +220,7 @@  sflow_get_dp_stats(struct dpif_sflow *ds OVS_UNUSED,
 }
 
 /* If there are multiple bridges defined then we need some
-   minimal artibration to decide which one should send the
+   minimal arbitration to decide which one should send the
    global counters.  This function allows each sub-agent to
    ask if he should do it or not. */
 static bool
diff --git a/ofproto/ofproto-dpif-xlate.c b/ofproto/ofproto-dpif-xlate.c
index f814666..45d247c 100644
--- a/ofproto/ofproto-dpif-xlate.c
+++ b/ofproto/ofproto-dpif-xlate.c
@@ -5673,7 +5673,7 @@  xlate_sample_action(struct xlate_ctx *ctx,
  * can be reversed by another datapath action.
  *
  * Openflow actions that do not emit datapath actions are trivially
- * reversible. Reversiblity of other actions depends on nature of
+ * reversible. Reversibility of other actions depends on nature of
  * action and their translation.  */
 static bool
 reversible_actions(const struct ofpact *ofpacts, size_t ofpacts_len)
diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c
index bc3df8e..a6150aa 100644
--- a/ofproto/ofproto-dpif.c
+++ b/ofproto/ofproto-dpif.c
@@ -1467,7 +1467,7 @@  check_max_dp_hash_alg(struct dpif_backer *backer)
     ofpbuf_use_stack(&key, &keybuf, sizeof keybuf);
     odp_flow_key_from_flow(&odp_parms, &key);
 
-    /* All datapaths support algortithm 0 (OVS_HASH_ALG_L4). */
+    /* All datapaths support algorithm 0 (OVS_HASH_ALG_L4). */
     for (int alg = 1; alg < __OVS_HASH_MAX; alg++) {
         struct ofpbuf actions;
         bool ok;
@@ -3435,7 +3435,7 @@  bundle_set(struct ofproto *ofproto_, void *aux,
         bundle->bond = NULL;
     }
 
-    /* Set proteced port mode */
+    /* Set protected port mode */
     if (s->protected != bundle->protected) {
         bundle->protected = s->protected;
         need_flush = true;
@@ -4376,7 +4376,7 @@  ofproto_dpif_credit_table_stats(struct ofproto_dpif *ofproto, uint8_t table_id,
 
 /* Look up 'flow' in 'ofproto''s classifier version 'version', starting from
  * table '*table_id'.  Returns the rule that was found, which may be one of the
- * special rules according to packet miss hadling.  If 'may_packet_in' is
+ * special rules according to packet miss handling.  If 'may_packet_in' is
  * false, returning of the miss_rule (which issues packet ins for the
  * controller) is avoided.  Updates 'wc', if nonnull, to reflect the fields
  * that were used during the lookup.
@@ -6169,7 +6169,7 @@  struct dpif_support_field {
     enum dpif_support_field_type type;
 };
 
-#define DPIF_SUPPORT_FIELD_INTIALIZER(RT_PTR, BT_PTR, TITLE, TYPE) \
+#define DPIF_SUPPORT_FIELD_INITIALIZER(RT_PTR, BT_PTR, TITLE, TYPE) \
     (struct dpif_support_field) {RT_PTR, BT_PTR, TITLE, TYPE}
 
 static void
@@ -6227,7 +6227,7 @@  dpif_set_support(struct dpif_backer_support *rt_support,
 #define DPIF_SUPPORT_FIELD(TYPE, NAME, TITLE) \
     {\
       struct dpif_support_field *f = xmalloc(sizeof *f);            \
-      *f = DPIF_SUPPORT_FIELD_INTIALIZER(&rt_support->NAME,         \
+      *f = DPIF_SUPPORT_FIELD_INITIALIZER(&rt_support->NAME,        \
                                          &bt_support->NAME,         \
                                          TITLE,                     \
                                          DPIF_SUPPORT_FIELD_##TYPE);\
@@ -6239,7 +6239,7 @@  dpif_set_support(struct dpif_backer_support *rt_support,
 #define ODP_SUPPORT_FIELD(TYPE, NAME, TITLE) \
     {\
         struct dpif_support_field *f = xmalloc(sizeof *f);            \
-        *f = DPIF_SUPPORT_FIELD_INTIALIZER(&rt_support->odp.NAME,     \
+        *f = DPIF_SUPPORT_FIELD_INITIALIZER(&rt_support->odp.NAME,    \
                                            &bt_support->odp.NAME,     \
                                            TITLE,                     \
                                            DPIF_SUPPORT_FIELD_##TYPE);\
@@ -6273,7 +6273,7 @@  dpif_set_support(struct dpif_backer_support *rt_support,
                 *(bool *)field->rt_ptr = true;
                 changed = true;
             } else {
-                ds_put_cstr(ds, "Can not enable features not supported by the datapth");
+                ds_put_cstr(ds, "Can not enable features not supported by the datapath");
             }
         } else if (!strcasecmp(value, "false")) {
             *(bool *)field->rt_ptr = false;
diff --git a/ofproto/ofproto-provider.h b/ofproto/ofproto-provider.h
index 14b9099..173297c 100644
--- a/ofproto/ofproto-provider.h
+++ b/ofproto/ofproto-provider.h
@@ -1469,7 +1469,7 @@  struct ofproto_class {
         const struct ofproto_ipfix_flow_exporter_options
             *flow_exporters_options, size_t n_flow_exporters_options);
 
-    /* Gets IPFIX stats on 'ofproto' according to the exporter of birdge
+    /* Gets IPFIX stats on 'ofproto' according to the exporter of bridge
      * IPFIX or flow-based IPFIX.
      *
      * OFPERR_NXST_NOT_CONFIGURED as a return value indicates that bridge
diff --git a/ofproto/ofproto.c b/ofproto/ofproto.c
index 56aeac7..6c8b180 100644
--- a/ofproto/ofproto.c
+++ b/ofproto/ofproto.c
@@ -1502,7 +1502,7 @@  ofproto_get_n_tables(const struct ofproto *ofproto)
 
 /* Returns the number of Controller visible OpenFlow tables
  * in 'ofproto'. This number will exclude Hidden tables.
- * This funtion's return value should be less or equal to that of
+ * This function's return value should be less or equal to that of
  * ofproto_get_n_tables() . */
 uint8_t
 ofproto_get_n_visible_tables(const struct ofproto *ofproto)
@@ -2970,7 +2970,7 @@  ofproto_rule_try_ref(struct rule *rule)
  *
  * Use of RCU allows short term use (between RCU quiescent periods) without
  * keeping a reference.  A reference must be taken if the rule needs to
- * stay around accross the RCU quiescent periods. */
+ * stay around across the RCU quiescent periods. */
 void
 ofproto_rule_unref(struct rule *rule)
 {
@@ -3597,7 +3597,7 @@  ofproto_packet_out_init(struct ofproto *ofproto,
     /* Ensure that the L3 header is 32-bit aligned. */
     opo->packet = dp_packet_clone_data_with_headroom(po->packet,
                                                      po->packet_len, 2);
-    /* Take the received packet_tpye as packet_type of the packet. */
+    /* Take the received packet_type as packet_type of the packet. */
     opo->packet->packet_type = po->flow_metadata.flow.packet_type;
 
     /* Store struct flow. */
diff --git a/ovsdb/jsonrpc-server.c b/ovsdb/jsonrpc-server.c
index 351c39d..351e9d0 100644
--- a/ovsdb/jsonrpc-server.c
+++ b/ovsdb/jsonrpc-server.c
@@ -345,7 +345,7 @@  ovsdb_jsonrpc_server_free_remote_status(
  * for logging (it may be NULL to suppress logging).  Frees 'comment'.
  *
  * If 'force' is true, disconnects all sessions.  Otherwise, disconnects only
- * sesions that aren't database change aware. */
+ * sessions that aren't database change aware. */
 void
 ovsdb_jsonrpc_server_reconnect(struct ovsdb_jsonrpc_server *svr, bool force,
                                char *comment)
@@ -655,7 +655,7 @@  ovsdb_jsonrpc_session_close_all(struct ovsdb_jsonrpc_remote *remote)
  * NULL to suppress logging.
  *
  * If 'force' is true, disconnects all sessions.  Otherwise, disconnects only
- * sesions that aren't database change aware. */
+ * sessions that aren't database change aware. */
 static void
 ovsdb_jsonrpc_session_reconnect_all(struct ovsdb_jsonrpc_remote *remote,
                                     bool force, const char *comment)
@@ -1457,7 +1457,7 @@  ovsdb_jsonrpc_monitor_create(struct ovsdb_jsonrpc_session *s, struct ovsdb *db,
 
     dbmon = ovsdb_monitor_add(m->dbmon);
     if (dbmon != m->dbmon) {
-        /* Found an exisiting dbmon, reuse the current one. */
+        /* Found an existing dbmon, reuse the current one. */
         ovsdb_monitor_remove_jsonrpc_monitor(m->dbmon, m, NULL);
         ovsdb_monitor_add_jsonrpc_monitor(dbmon, m);
         m->dbmon = dbmon;
diff --git a/ovsdb/log.h b/ovsdb/log.h
index 90714ea..3269c7e 100644
--- a/ovsdb/log.h
+++ b/ovsdb/log.h
@@ -27,7 +27,7 @@ 
  * Log writes are atomic.  A client may use ovsdb_log_commit() to ensure that
  * they are durable.
  *
- * Logs provide a mechansim to allow the client to tell when they have grown
+ * Logs provide a mechanism to allow the client to tell when they have grown
  * enough that compacting may be warranted.  After reading existing log
  * contents, the client uses ovsdb_log_mark_base() to mark the "base" to be
  * considered as the initial size of the log.  Thereafter, a client may call
diff --git a/ovsdb/monitor.c b/ovsdb/monitor.c
index ab814cf..081467c 100644
--- a/ovsdb/monitor.c
+++ b/ovsdb/monitor.c
@@ -286,7 +286,7 @@  compare_ovsdb_monitor_column(const void *a_, const void *b_)
     const struct ovsdb_monitor_column *a = a_;
     const struct ovsdb_monitor_column *b = b_;
 
-    /* put all monitored columns at the begining */
+    /* put all monitored columns at the beginning */
     if (a->monitored != b->monitored) {
         return a->monitored ? -1 : 1;
     }
@@ -680,7 +680,7 @@  ovsdb_monitor_session_condition_set_mode(
     cond->conditional = false;
 }
 
-/* Returnes an empty allocated session's condition state holder */
+/* Returns an empty allocated session's condition state holder */
 struct ovsdb_monitor_session_condition *
 ovsdb_monitor_session_condition_create(void)
 {
diff --git a/ovsdb/ovsdb-client.c b/ovsdb/ovsdb-client.c
index f1b8d64..1f823ff 100644
--- a/ovsdb/ovsdb-client.c
+++ b/ovsdb/ovsdb-client.c
@@ -450,7 +450,7 @@  usage(void)
            "\n  wait [SERVER] DATABASE STATE\n"
            "    wait until DATABASE reaches STATE "
            "(\"added\" or \"connected\" or \"removed\")\n"
-           "    in DATBASE on SERVER.\n"
+           "    in DATABASE on SERVER.\n"
            "\n  dump [SERVER] [DATABASE]\n"
            "    dump contents of DATABASE on SERVER to stdout\n"
            "\n  backup [SERVER] [DATABASE] > SNAPSHOT\n"
diff --git a/ovsdb/ovsdb-server.c b/ovsdb/ovsdb-server.c
index 9fe9059..4e93df3 100644
--- a/ovsdb/ovsdb-server.c
+++ b/ovsdb/ovsdb-server.c
@@ -1658,7 +1658,7 @@  ovsdb_server_remove_remote(struct unixctl_conn *conn, int argc OVS_UNUSED,
     }
 }
 
-/* "ovsdb-server/list-remotes": outputs a list of configured rmeotes. */
+/* "ovsdb-server/list-remotes": outputs a list of configured remotes. */
 static void
 ovsdb_server_list_remotes(struct unixctl_conn *conn, int argc OVS_UNUSED,
                           const char *argv[] OVS_UNUSED, void *remotes_)
diff --git a/ovsdb/ovsdb-tool.1.in b/ovsdb/ovsdb-tool.1.in
index 3dda999..be57a58 100644
--- a/ovsdb/ovsdb-tool.1.in
+++ b/ovsdb/ovsdb-tool.1.in
@@ -111,9 +111,9 @@  file, the new database will have the same schema and contents.
 .IP
 Leader election will be initiated by a follower if there is no heartbeat
 received from the cluster leader within the specified election timer.
-The default leader election timer is 1000 miliseconds. To use a different value
+The default leader election timer is 1000 milliseconds. To use a different value
 when creating the database, specify \fB\-\-election\-timer=\fIms\fR, where
-\fIms\fR is a value in miliseconds between 100 and 600000 inclusive.
+\fIms\fR is a value in milliseconds between 100 and 600000 inclusive.
 .
 .IP "[\fB\-\-cid=\fIuuid\fR] \fBjoin\-cluster\fI db name local remote\fR..."
 Use this command to initialize each server after the first one in an
diff --git a/ovsdb/ovsdb-tool.c b/ovsdb/ovsdb-tool.c
index d4a9e34..53f9b17 100644
--- a/ovsdb/ovsdb-tool.c
+++ b/ovsdb/ovsdb-tool.c
@@ -370,7 +370,7 @@  write_standalone_db(const char *file_name, const char *comment,
 }
 
 /* Reads 'src_name' and writes it back, compacted, to 'dst_name', adding the
- * specified 'comment'.  If 'new_schema' is nonull, converts the databse to
+ * specified 'comment'.  If 'new_schema' is nonull, converts the database to
  * that schema.
  *
  * Standalone databases only. */
diff --git a/ovsdb/ovsdb.c b/ovsdb/ovsdb.c
index e6d8661..0bad03e 100644
--- a/ovsdb/ovsdb.c
+++ b/ovsdb/ovsdb.c
@@ -163,7 +163,7 @@  ovsdb_parse_version(const char *s, struct ovsdb_version *version)
 }
 
 /* Returns true if 's' is a version string in the format "<x>.<y>.<z>",
- * otherwie false. */
+ * otherwise false. */
 bool
 ovsdb_is_valid_version(const char *s)
 {
@@ -470,7 +470,7 @@  ovsdb_destroy(struct ovsdb *db)
         /* Destroy txn history. */
         ovsdb_txn_history_destroy(db);
 
-        /* Cancell all the forwarded transactions.  There should not be
+        /* Cancel all the forwarded transactions.  There should not be
          * any as all triggers should be already cancelled. */
         ovsdb_txn_forward_cancel_all(db, false);
         ovs_assert(hmap_is_empty(&db->txn_forward_sent));
diff --git a/ovsdb/ovsdb.h b/ovsdb/ovsdb.h
index ec2d235..07fedbc 100644
--- a/ovsdb/ovsdb.h
+++ b/ovsdb/ovsdb.h
@@ -87,7 +87,7 @@  struct ovsdb {
 
     struct ovsdb_table *rbac_role;
 
-    /* History trasanctions for incremental monitor transfer. */
+    /* History transactions for incremental monitor transfer. */
     bool need_txn_history;     /* Need to maintain history of transactions. */
     unsigned int n_txn_history; /* Current number of history transactions. */
     unsigned int n_txn_history_atoms; /* Total number of atoms in history. */
diff --git a/ovsdb/raft.c b/ovsdb/raft.c
index ce40c5b..96640e8 100644
--- a/ovsdb/raft.c
+++ b/ovsdb/raft.c
@@ -449,7 +449,7 @@  raft_alloc(void)
  * new server.
  *
  * The optional election_timer argument, when greater than zero, sets the given
- * leader election timer for the new cluster, in miliseconds. If non-zero, it
+ * leader election timer for the new cluster, in milliseconds. If non-zero, it
  * must be between 100 and 600000 inclusive.
  *
  * Returns null if successful, otherwise an ovsdb_error describing the
@@ -1122,7 +1122,7 @@  raft_get_memory_usage(const struct raft *raft, struct simap *usage)
     simap_increase(usage, "raft-log", raft->log_end - raft->log_start);
 }
 
-/* Returns an error if the election timer (in miliseconds) is out of bounds.
+/* Returns an error if the election timer (in milliseconds) is out of bounds.
  * Values smaller than 100ms or bigger than 10min don't make sense.
  */
 struct ovsdb_error *
diff --git a/ovsdb/relay.c b/ovsdb/relay.c
index ef0e44d..7471ddd 100644
--- a/ovsdb/relay.c
+++ b/ovsdb/relay.c
@@ -111,7 +111,7 @@  ovsdb_relay_compose_monitor_request(const struct json *schema_json, void *ctx_)
             ovsdb_schema_destroy(ctx->new_schema);
         }
         /* We will update the schema later when we will receive actual data
-         * from the mointor in order to avoid sitting with an empty database
+         * from the monitor in order to avoid sitting with an empty database
          * until the monitor reply. */
         ctx->new_schema = schema;
     } else {
diff --git a/ovsdb/replication.c b/ovsdb/replication.c
index d8b56d8..f0126fd 100644
--- a/ovsdb/replication.c
+++ b/ovsdb/replication.c
@@ -292,7 +292,7 @@  replication_run(void)
                     VLOG_WARN("unexpected schema %s", schema->name);
                     state = RPL_S_ERR;
                 } else if (!ovsdb_schema_equal(schema, rdb->db->schema)) {
-                    /* Schmea version mismatch. */
+                    /* Schema version mismatch. */
                     VLOG_INFO("Schema version mismatch, checking if %s can "
                               "still be replicated or not.",
                               schema->name);
@@ -460,7 +460,7 @@  get_excluded_tables(void)
     /* Output the table list in an sorted order, so that
      * the output string will not depend on the hash function
      * that used to implement the hmap data structure. This is
-     * only useful for writting unit tests.  */
+     * only useful for writing unit tests.  */
     const char **sorted = sset_sort(&set);
     struct ds ds = DS_EMPTY_INITIALIZER;
     size_t i;
diff --git a/ovsdb/replication.h b/ovsdb/replication.h
index 6d1be82..357e958 100644
--- a/ovsdb/replication.h
+++ b/ovsdb/replication.h
@@ -52,7 +52,7 @@  void replication_run(void);
 void replication_wait(void);
 void replication_destroy(void);
 void replication_usage(void);
-void replication_add_local_db(const char *databse, struct ovsdb *db);
+void replication_add_local_db(const char *database, struct ovsdb *db);
 bool replication_is_alive(void);
 int replication_get_last_error(void);
 char *replication_status(void);
diff --git a/poc/playbook-centos-builder.yml b/poc/playbook-centos-builder.yml
index e902db7..1cbd05c 100644
--- a/poc/playbook-centos-builder.yml
+++ b/poc/playbook-centos-builder.yml
@@ -32,7 +32,7 @@ 
   - name: Remove untracked files from Open vSwitch GIT repository
     command: chdir=/git/ovs/ git clean -xdf
 
-  - name: Reset Open vSwitch GIT repository to last comitted state
+  - name: Reset Open vSwitch GIT repository to last committed state
     command: chdir=/git/ovs/ git reset --hard
 
   - name: Generate spec files for easy build dependency retrieval
diff --git a/poc/playbook-fedora-builder.yml b/poc/playbook-fedora-builder.yml
index 70f0b6f..f1c2243 100644
--- a/poc/playbook-fedora-builder.yml
+++ b/poc/playbook-fedora-builder.yml
@@ -44,7 +44,7 @@ 
   - name: Remove untracked files from Open vSwitch GIT repository
     command: chdir=/git/ovs/ git clean -xdf
 
-  - name: Reset Open vSwitch GIT repository to last comitted state
+  - name: Reset Open vSwitch GIT repository to last committed state
     command: chdir=/git/ovs/ git reset --hard
 
   - name: Generate spec files for easy build dependency retrieval
diff --git a/poc/playbook-ubuntu-builder.yml b/poc/playbook-ubuntu-builder.yml
index 5a13c60..9c4e215 100644
--- a/poc/playbook-ubuntu-builder.yml
+++ b/poc/playbook-ubuntu-builder.yml
@@ -31,7 +31,7 @@ 
   - name: Remove untracked files from Open vSwitch GIT repository
     command: chdir=/git/ovs/ git clean -xdf
 
-  - name: Reset Open vSwitch GIT repository to last comitted state
+  - name: Reset Open vSwitch GIT repository to last committed state
     command: chdir=/git/ovs/ git reset --hard
 
   - name: Parse out Open vSwitch version from "configure.ac"
diff --git a/python/ovs/compat/sortedcontainers/sorteddict.py b/python/ovs/compat/sortedcontainers/sorteddict.py
index 910f260..9d8b7d9 100644
--- a/python/ovs/compat/sortedcontainers/sorteddict.py
+++ b/python/ovs/compat/sortedcontainers/sorteddict.py
@@ -336,7 +336,7 @@  class SortedDict(dict):
 
     @classmethod
     def fromkeys(cls, iterable, value=None):
-        """Return a new sorted dict initailized from `iterable` and `value`.
+        """Return a new sorted dict initialized from `iterable` and `value`.
 
         Items in the sorted dict have keys from `iterable` and values equal to
         `value`.
diff --git a/python/ovs/db/idl.py b/python/ovs/db/idl.py
index 60e58b0..06ba3cd 100644
--- a/python/ovs/db/idl.py
+++ b/python/ovs/db/idl.py
@@ -380,7 +380,7 @@  class Idl(object):
             elif (msg.type == ovs.jsonrpc.Message.T_REPLY
                   and self._db_change_aware_request_id is not None
                   and self._db_change_aware_request_id == msg.id):
-                # Reply to us notifying the server of our change awarness.
+                # Reply to us notifying the server of our change awareness.
                 self._db_change_aware_request_id = None
             elif (msg.type == ovs.jsonrpc.Message.T_REPLY
                   and self._lock_request_id is not None
@@ -515,7 +515,7 @@  class Idl(object):
 
         :param event:   The event that was triggered
         :type event:    ROW_CREATE, ROW_UPDATE, or ROW_DELETE
-        :param row:     The row as it is after the operation has occured
+        :param row:     The row as it is after the operation has occurred
         :type row:      Row
         :param updates: For updates, row with only old values of the changed
                         columns
@@ -985,7 +985,7 @@  class Row(object):
       "default" value return by Datum.default() for the column's type.  (It is
       important to know this because the default value may violate constraints
       for the column's type, e.g. the default integer value is 0 even if column
-      contraints require the column's value to be positive.)
+      constraints require the column's value to be positive.)
 
       When a transaction is active, column attributes may also be assigned new
       values.  Committing the transaction will then cause the new value to be
@@ -2025,7 +2025,7 @@  class SchemaHelper(object):
         """Creates a new Schema object.
 
         'location' file path to ovs schema. None means default location
-        'schema_json' schema in json preresentation in memory
+        'schema_json' schema in json presentation in memory
         """
 
         if location and schema_json:
diff --git a/python/ovs/stream.py b/python/ovs/stream.py
index ac5b0fd..d5fd607 100644
--- a/python/ovs/stream.py
+++ b/python/ovs/stream.py
@@ -205,7 +205,7 @@  class Stream(object):
 
     @staticmethod
     def _open(suffix, dscp):
-        raise NotImplementedError("This method must be overrided by subclass")
+        raise NotImplementedError("This method must be overridden by subclass")
 
     @staticmethod
     def open_block(error_stream, timeout=None):
diff --git a/python/ovs/vlog.py b/python/ovs/vlog.py
index 61f5928..0bc7fd8 100644
--- a/python/ovs/vlog.py
+++ b/python/ovs/vlog.py
@@ -210,7 +210,7 @@  class Vlog(object):
 
     @staticmethod
     def init(log_file=None):
-        """Intializes the Vlog module.  Causes Vlog to write to 'log_file' if
+        """Initializes the Vlog module.  Causes Vlog to write to 'log_file' if
         not None.  Should be called after all Vlog objects have been created.
         No logging will occur until this function is called."""
 
diff --git a/python/ovstest/rpcserver.py b/python/ovstest/rpcserver.py
index 05b6b1b..5480de7 100644
--- a/python/ovstest/rpcserver.py
+++ b/python/ovstest/rpcserver.py
@@ -314,13 +314,13 @@  class TestArena(xmlrpc.XMLRPC):
 
     def xmlrpc_interface_assign_ip(self, iface, ip_address, mask):
         """
-        This function allows to assing ip address to the given interface.
+        This function allows to passing ip address to the given interface.
         """
         return util.interface_assign_ip(iface, ip_address, mask)
 
     def xmlrpc_interface_remove_ip(self, iface, ip_address, mask):
         """
-        This function allows to assing ip address to the given interface.
+        This function allows to passing ip address to the given interface.
         """
         return util.interface_remove_ip(iface, ip_address, mask)
 
diff --git a/rhel/kmod-openvswitch-rhel6.spec.in b/rhel/kmod-openvswitch-rhel6.spec.in
index de69863..a5adb43 100644
--- a/rhel/kmod-openvswitch-rhel6.spec.in
+++ b/rhel/kmod-openvswitch-rhel6.spec.in
@@ -31,7 +31,7 @@  BuildRoot:      %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
 # Use -D 'kversion 2.6.32-131.6.1.el6.x86_64' to build package
 # for specified kernel version.
 # Use -D 'kversion 3.10.0-693.1.1.el7.x86_64 3.10.0-693.17.1.el7.x86_64'
-# to build package for mulitple kernel versions in the same package
+# to build package for multiple kernel versions in the same package
 # This only works for kernel 3.10.0 major revision 693 (RHEL 7.4)
 # and major revision 327 (RHEL 7.2)
 # By default, build against the latest installed kernel-devel
diff --git a/rhel/openvswitch-fedora.spec.in b/rhel/openvswitch-fedora.spec.in
index 90f242b..4b979f9 100644
--- a/rhel/openvswitch-fedora.spec.in
+++ b/rhel/openvswitch-fedora.spec.in
@@ -135,7 +135,7 @@  Summary: Open vSwitch OpenFlow development package (library, headers)
 License: ASL 2.0
 
 %description devel
-This provides shared library, libopenswitch.so and the openvswitch header
+This provides shared library, libopenvswitch.so and the openvswitch header
 files needed to build an external application.
 
 %if 0%{?rhel} > 7 || 0%{?fedora} > 28
diff --git a/rhel/openvswitch-kmod-fedora.spec.in b/rhel/openvswitch-kmod-fedora.spec.in
index e5f7870..d62994d 100644
--- a/rhel/openvswitch-kmod-fedora.spec.in
+++ b/rhel/openvswitch-kmod-fedora.spec.in
@@ -11,7 +11,7 @@ 
 
 # Use the kversion macro such as
 # RPMBUILD_OPT='-D "kversion 3.10.0-693.1.1.el7.x86_64 3.10.0-693.17.1.el7.x86_64"'
-# to build package for mulitple kernel versions in the same package
+# to build package for multiple kernel versions in the same package
 # This only works for the following kernels.
 #   - 3.10.0 major revision 327  (RHEL 7.2)
 #   - 3.10.0 major revision 693  (RHEL 7.4)
@@ -70,11 +70,11 @@  for kv in %{kversion}; do
     for module in $RPM_BUILD_ROOT/lib/modules/${kv}/extra/openvswitch/*.ko
     do
         modname="$(basename ${module})"
-        grep -qsPo "^\s*override ${modname%.ko} \* extra\/openvwitch" \
+        grep -qsPo "^\s*override ${modname%.ko} \* extra\/openvswitch" \
             $RPM_BUILD_ROOT/etc/depmod.d/kmod-openvswitch.conf || \
             echo "override ${modname%.ko} * extra/openvswitch" >> \
             $RPM_BUILD_ROOT/etc/depmod.d/kmod-openvswitch.conf
-        grep -qsPo "^\s*override ${modname%.ko} \* weak-updates\/openvwitch" \
+        grep -qsPo "^\s*override ${modname%.ko} \* weak-updates\/openvswitch" \
             $RPM_BUILD_ROOT/etc/depmod.d/kmod-openvswitch.conf || \
             echo "override ${modname%.ko} * weak-updates/openvswitch" >> \
             $RPM_BUILD_ROOT/etc/depmod.d/kmod-openvswitch.conf
diff --git a/tests/atlocal.in b/tests/atlocal.in
index a0ad239..7653583 100644
--- a/tests/atlocal.in
+++ b/tests/atlocal.in
@@ -142,7 +142,7 @@  find_l7_lib ftp
 # HAVE_TFTP
 find_l7_lib tftp
 
-# Look for a commnand in the system. If it is found, defines
+# Look for a command in the system. If it is found, defines
 # HAVE_COMMAND="yes", otherwise HAVE_COMMAND="no".
 find_command()
 {
diff --git a/tests/bfd.at b/tests/bfd.at
index f5c6409..be1ac61 100644
--- a/tests/bfd.at
+++ b/tests/bfd.at
@@ -277,7 +277,7 @@  OVS_VSWITCHD_START([add-br br1 -- set bridge br1 datapath-type=dummy -- \
 
 ovs-appctl time/stop
 
-# wait for a while to stablize everything.
+# wait for a while to stabilize everything.
 ovs-appctl time/warp 10000 500
 BFD_CHECK([p0], [true], [false], [none], [up], [No Diagnostic], [none], [up], [No Diagnostic])
 BFD_CHECK([p1], [true], [false], [none], [up], [No Diagnostic], [none], [up], [No Diagnostic])
@@ -391,7 +391,7 @@  BFD_CHECK([p0], [false], [false], [none], [down], [Control Detection Time Expire
 BFD_CHECK_TX([p0], [1000ms], [1000ms], [0ms])
 BFD_CHECK_RX([p0], [300ms], [300ms], [1ms])
 
-# resume the bfd on p1. the bfd should not go to decay mode direclty.
+# resume the bfd on p1. the bfd should not go to decay mode directly.
 AT_CHECK([ovs-vsctl set Interface p1 bfd:enable=true])
 ovs-appctl time/warp 1500 500
 BFD_CHECK_TX([p0], [500ms], [300ms], [500ms])
@@ -469,7 +469,7 @@  OVS_VSWITCHD_START([add-br br1 -- set bridge br1 datapath-type=dummy -- \
                     add-port br1 p2 -- set Interface p2 type=internal ofport_request=3])
 
 ovs-appctl time/stop
-# advance the clock, to stablize the states.
+# advance the clock, to stabilize the states.
 ovs-appctl time/warp 5000 500
 
 # enable forwarding_if_rx.
@@ -510,7 +510,7 @@  BFD_CHECK([p0], [false], [false], [none], [down], [Control Detection Time Expire
 
 # re-enable bfd on the other end. the states should be up.
 AT_CHECK([ovs-vsctl set Interface p1 bfd:enable=true bfd:min_tx=300 bfd:min_rx=300])
-# advance the clock, to stablize the states.
+# advance the clock, to stabilize the states.
 ovs-appctl time/warp 5000 500
 BFD_CHECK([p0], [true], [false], [none], [up], [Control Detection Time Expired], [none], [up], [No Diagnostic])
 BFD_CHECK([p1], [true], [false], [none], [up], [No Diagnostic], [none], [up], [Control Detection Time Expired])
@@ -534,7 +534,7 @@  OVS_VSWITCHD_START([add-br br1 -- set bridge br1 datapath-type=dummy -- \
                     set Interface p1 bfd:enable=true bfd:min_tx=500 bfd:min_rx=500])
 
 ovs-appctl time/stop
-# advance the clock, to stablize the states.
+# advance the clock, to stabilize the states.
 ovs-appctl time/warp 10000 500
 BFD_CHECK([p0], [true], [false], [none], [up], [No Diagnostic], [none], [up], [No Diagnostic])
 BFD_CHECK([p1], [true], [false], [none], [up], [No Diagnostic], [none], [up], [No Diagnostic])
@@ -598,7 +598,7 @@  BFD_CHECK([p0], [false], [false], [none], [down], [Control Detection Time Expire
 
 # re-enable bfd on the other end. the states should be up.
 AT_CHECK([ovs-vsctl set Interface p1 bfd:enable=true bfd:min_tx=300 bfd:min_rx=300])
-# advance the clock, to stablize the states.
+# advance the clock, to stabilize the states.
 ovs-appctl time/warp 10000 500
 BFD_CHECK([p0], [true], [false], [none], [up], [Control Detection Time Expired], [none], [up], [No Diagnostic])
 BFD_CHECK([p1], [true], [false], [none], [up], [No Diagnostic], [none], [up], [Control Detection Time Expired])
@@ -622,7 +622,7 @@  OVS_VSWITCHD_START([add-br br1 -- set bridge br1 datapath-type=dummy -- \
                     set Interface p1 bfd:enable=true bfd:min_tx=500 bfd:min_rx=500])
 
 ovs-appctl time/stop
-# advance the clock, to stablize the states.
+# advance the clock, to stabilize the states.
 ovs-appctl time/warp 10000 500
 BFD_CHECK([p0], [true], [false], [none], [up], [No Diagnostic], [none], [up], [No Diagnostic])
 BFD_CHECK([p1], [true], [false], [none], [up], [No Diagnostic], [none], [up], [No Diagnostic])
@@ -700,7 +700,7 @@  ovs-appctl time/stop
 # stats and ovs-vsctl cmd closing the jsonrpc session.
 AT_CHECK([ovs-vsctl set Open_vSwitch . other_config:stats-update-interval=50000000])
 
-# Part-1 wait for a while to stablize bfd.
+# Part-1 wait for a while to stabilize bfd.
 ovs-appctl time/warp 10100 100
 BFD_CHECK([p0], [true], [false], [none], [up], [No Diagnostic], [none], [up], [No Diagnostic])
 BFD_CHECK([p1], [true], [false], [none], [up], [No Diagnostic], [none], [up], [No Diagnostic])
@@ -880,7 +880,7 @@  ovs-appctl time/stop
 # stats and ovs-vsctl cmd closing the jsonrpc session.
 AT_CHECK([ovs-vsctl set Open_vSwitch . other_config:stats-update-interval=50000000])
 
-# wait for a while to stablize bfd.
+# wait for a while to stabilize bfd.
 ovs-appctl time/warp 10100 100
 BFD_CHECK([p0], [true], [false], [none], [up], [No Diagnostic], [none], [up], [No Diagnostic])
 BFD_CHECK([p1], [true], [false], [none], [up], [No Diagnostic], [none], [up], [No Diagnostic])
@@ -951,7 +951,7 @@  ovs-appctl time/stop
 # stats and ovs-vsctl cmd closing the jsonrpc session.
 AT_CHECK([ovs-vsctl set Open_vSwitch . other_config:stats-update-interval=50000000])
 
-# wait for a while to stablize bfd.
+# wait for a while to stabilize bfd.
 ovs-appctl time/warp 10100 100
 BFD_CHECK([p0], [true], [false], [none], [up], [No Diagnostic], [none], [up], [No Diagnostic])
 BFD_CHECK([p1], [true], [false], [none], [up], [No Diagnostic], [none], [up], [No Diagnostic])
@@ -1022,7 +1022,7 @@  ovs-appctl time/stop
 # stats and ovs-vsctl cmd closing the jsonrpc session.
 AT_CHECK([ovs-vsctl set Open_vSwitch . other_config:stats-update-interval=50000000])
 
-# wait for a while to stablize bfd.
+# wait for a while to stabilize bfd.
 ovs-appctl time/warp 10100 100
 BFD_CHECK([p0], [true], [false], [none], [up], [No Diagnostic], [none], [up], [No Diagnostic])
 BFD_CHECK([p1], [true], [false], [none], [up], [No Diagnostic], [none], [up], [No Diagnostic])
diff --git a/tests/cfm.at b/tests/cfm.at
index 053be5d..ac8d78c 100644
--- a/tests/cfm.at
+++ b/tests/cfm.at
@@ -125,7 +125,7 @@  OVS_VSWITCHD_START([add-br br1 -- \
                     set Interface p1 cfm_mpid=2 other_config:cfm_interval=300 other_config:cfm_extended=true ])
 
 ovs-appctl time/stop
-# wait for a while to stablize cfm.
+# wait for a while to stabilize cfm.
 ovs-appctl time/warp 10100 100
 CFM_CHECK_EXTENDED([p0], [1], [100], [up], [up], [300ms], [2], [up])
 CFM_CHECK_EXTENDED([p1], [2], [100], [up], [up], [300ms], [1], [up])
@@ -167,7 +167,7 @@  OVS_VSWITCHD_START([add-br br1 -- \
                     set Interface p1 cfm_mpid=2 other_config:cfm_interval=300 other_config:cfm_extended=true other_config:cfm_demand=true])
 
 ovs-appctl time/stop
-# wait for a while to stablize cfm. (need a longer time, since in demand mode
+# wait for a while to stabilize cfm. (need a longer time, since in demand mode
 # the fault interval is (MAX(ccm_interval_ms, 500) * 3.5) ms)
 ovs-appctl time/warp 20100 100
 CFM_CHECK_EXTENDED([p0], [1], [100], [up], [up], [300ms], [2], [up])
@@ -230,7 +230,7 @@  OVS_VSWITCHD_START([add-br br1 -- \
 
 ovs-appctl time/stop
 
-# wait for a while to stablize cfm.
+# wait for a while to stabilize cfm.
 ovs-appctl time/warp 10100 100
 CFM_CHECK_EXTENDED([p0], [1], [100], [up], [up], [100ms], [2], [up])
 CFM_CHECK_EXTENDED([p1], [2], [100], [up], [up], [100ms], [1], [up])
@@ -261,7 +261,7 @@  OVS_VSWITCHD_START([add-br br1 -- \
                     set Interface p1 cfm_mpid=2 other_config:cfm_interval=100 other_config:cfm_extended=true])
 
 ovs-appctl time/stop
-# wait for a while to stablize cfm.
+# wait for a while to stabilize cfm.
 ovs-appctl time/warp 10100 100
 CFM_CHECK_EXTENDED([p0], [1], [100], [up], [up], [100ms], [2], [up])
 CFM_CHECK_EXTENDED([p1], [2], [100], [up], [up], [100ms], [1], [up])
@@ -363,7 +363,7 @@  AT_CHECK([ovs-vsctl \
           set Interface p0 cfm_mpid=1 other_config:cfm_interval=100 other_config:cfm_extended=true -- \
           set Interface p1 cfm_mpid=2 other_config:cfm_interval=100 other_config:cfm_extended=true])
 ovs-appctl time/stop
-# wait for a while to stablize cfm.
+# wait for a while to stabilize cfm.
 ovs-appctl time/warp 10100 100
 CFM_CHECK_EXTENDED([p0], [1], [100], [up], [up], [100ms], [2], [up])
 CFM_CHECK_EXTENDED([p1], [2], [100], [up], [up], [100ms], [1], [up])
@@ -425,7 +425,7 @@  AT_CHECK([ovs-vsctl \
           set Interface p0 cfm_mpid=1 other_config:cfm_interval=100 other_config:cfm_extended=true -- \
           set Interface p1 cfm_mpid=2 other_config:cfm_interval=100 other_config:cfm_extended=true])
 ovs-appctl time/stop
-# wait for a while to stablize cfm.
+# wait for a while to stabilize cfm.
 ovs-appctl time/warp 10100 100
 CFM_CHECK_EXTENDED([p0], [1], [100], [up], [up], [100ms], [2], [up])
 CFM_CHECK_EXTENDED([p1], [2], [100], [up], [up], [100ms], [1], [up])
@@ -487,7 +487,7 @@  AT_CHECK([ovs-vsctl \
           set Interface p0 cfm_mpid=1 other_config:cfm_interval=100 other_config:cfm_extended=true -- \
           set Interface p1 cfm_mpid=2 other_config:cfm_interval=100 other_config:cfm_extended=true])
 ovs-appctl time/stop
-# wait for a while to stablize cfm.
+# wait for a while to stabilize cfm.
 ovs-appctl time/warp 10100 100
 CFM_CHECK_EXTENDED([p0], [1], [100], [up], [up], [100ms], [2], [up])
 CFM_CHECK_EXTENDED([p1], [2], [100], [up], [up], [100ms], [1], [up])
diff --git a/tests/dpif-netdev.at b/tests/dpif-netdev.at
index 53eee18..564a3d1 100644
--- a/tests/dpif-netdev.at
+++ b/tests/dpif-netdev.at
@@ -437,7 +437,7 @@  recirc_id(0),in_port(1),packet_type(ns=0,id=0),eth_type(0x0800),ipv4(frag=no), a
    # Inject the same packet again.
    AT_CHECK([ovs-appctl netdev-dummy/receive p1 $packet --len 64], [0])
 
-   # Check for succesfull packet matching with installed offloaded flow.
+   # Check for successful packet matching with installed offloaded flow.
    AT_CHECK([filter_hw_packet_netdev_dummy < ovs-vswitchd.log | strip_xout], [0], [dnl
 p1: packet: ip,vlan_tci=0x0000,dl_src=00:06:07:08:09:0a,dl_dst=00:01:02:03:04:05,nw_src=127.0.0.1,nw_dst=127.0.0.1,nw_proto=0,nw_tos=0,nw_ecn=0,nw_ttl=64 matches with flow: recirc_id=0,eth,ip,vlan_tci=0x0000,nw_frag=no with mark: 1
 ])
@@ -504,7 +504,7 @@  recirc_id(0),in_port(1),packet_type(ns=0,id=0),eth_type(0x8100),vlan(vid=99,pcp=
    # Inject the same packet again.
    AT_CHECK([ovs-appctl netdev-dummy/receive p1 $packet --len 64], [0])
 
-   # Check for succesfull packet matching with installed offloaded flow.
+   # Check for successful packet matching with installed offloaded flow.
    AT_CHECK([filter_hw_packet_netdev_dummy < ovs-vswitchd.log | strip_xout], [0], [dnl
 p1: packet: udp,dl_vlan=99,dl_vlan_pcp=7,vlan_tci1=0x0000,dl_src=00:06:07:08:09:0a,dl_dst=00:01:02:03:04:05,nw_src=127.0.0.1,nw_dst=127.0.0.1,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=81,tp_dst=82 dnl
 matches with flow: recirc_id=0,eth,udp,dl_vlan=99,dl_vlan_pcp=7,nw_src=127.0.0.1,nw_frag=no,tp_dst=82 with mark: 1
@@ -581,7 +581,7 @@  recirc_id(0),in_port(1),packet_type(ns=0,id=0),eth_type(0x8100),vlan(vid=99,pcp=
    # Inject the same packet again.
    AT_CHECK([ovs-appctl netdev-dummy/receive p1 $packet --len 64], [0])
 
-   # Check for succesfull packet matching with installed offloaded flow.
+   # Check for successful packet matching with installed offloaded flow.
    AT_CHECK([filter_hw_packet_netdev_dummy < ovs-vswitchd.log | strip_xout], [0], [dnl
 p1: packet: arp,dl_vlan=99,dl_vlan_pcp=7,vlan_tci1=0x0000,dl_src=00:06:07:08:09:0a,dl_dst=00:01:02:03:04:05,arp_spa=127.0.0.1,arp_tpa=127.0.0.1,arp_op=1,arp_sha=00:0b:0c:0d:0e:0f,arp_tha=00:00:00:00:00:00 dnl
 matches with flow: recirc_id=0,eth,arp,dl_vlan=99,dl_vlan_pcp=7 with mark: 1
diff --git a/tests/json.at b/tests/json.at
index 527ce8e..926243c 100644
--- a/tests/json.at
+++ b/tests/json.at
@@ -101,7 +101,7 @@  JSON_CHECK_NEGATIVE([\u must be followed by 4 hex digits (2)],
 JSON_CHECK_NEGATIVE([isolated leading surrogate not allowed],
                     [[["\ud834xxx"]]],
                     [error: malformed escaped surrogate pair])
-JSON_CHECK_NEGATIVE([surrogatess must paired properly],
+JSON_CHECK_NEGATIVE([surrogates must paired properly],
                     [[["\ud834\u1234"]]],
                     [error: second half of escaped surrogate pair is not trailing surrogate])
 JSON_CHECK_NEGATIVE([null bytes not allowed], 
diff --git a/tests/mpls-xlate.at b/tests/mpls-xlate.at
index aafa89b..de9576a 100644
--- a/tests/mpls-xlate.at
+++ b/tests/mpls-xlate.at
@@ -48,7 +48,7 @@  AT_CHECK([tail -1 stdout], [0],
   [Datapath actions: push_mpls(label=10,tc=0,ttl=64,bos=1,eth_type=0x8847),1
 ])
 
-dnl Test MPLS pop then output (actions do not trigger reciculation)
+dnl Test MPLS pop then output (actions do not trigger recirculation)
 AT_CHECK([ovs-appctl ofproto/trace ovs-dummy 'in_port(1),eth(src=f8:bc:12:44:34:b6,dst=f8:bc:12:46:58:e0),eth_type(0x8847),mpls(label=20,tc=0,ttl=64,bos=1)'], [0], [stdout])
 AT_CHECK([tail -1 stdout], [0],
   [Datapath actions: pop_mpls(eth_type=0x800),100
diff --git a/tests/ofproto-dpif.at b/tests/ofproto-dpif.at
index 1660b08..7887a22 100644
--- a/tests/ofproto-dpif.at
+++ b/tests/ofproto-dpif.at
@@ -608,7 +608,7 @@  Datapath actions: 10,set(ipv4(src=192.168.3.91)),11,set(ipv4(src=192.168.3.90)),
 OVS_VSWITCHD_STOP
 AT_CLEANUP
 
-AT_SETUP([ofproto-dpif - modify IPv6 Neighbor Solitication (ND)])
+AT_SETUP([ofproto-dpif - modify IPv6 Neighbor Solicitation (ND)])
 OVS_VSWITCHD_START
 add_of_ports br0 1 10 11 12 13
 AT_DATA([flows.txt], [dnl
@@ -1080,7 +1080,7 @@  in_port=9,reg0=0xdeadbeef  actions=output:20
 in_port=10,reg1=0xdeadbeef actions=output:21
 in_port=11,reg2=0xeef22dea actions=output:22
 
-dnl Sanilty check all registers
+dnl Sanity check all registers
 in_port=12 actions=load:0x10->NXM_NX_REG0[[]],load:0x11->NXM_NX_REG1[[]],load:0x12->NXM_NX_REG2[[]]
 in_port=13 actions=load:0x13->NXM_NX_REG3[[]],load:0x14->NXM_NX_REG4[[]],load:0x15->NXM_NX_REG5[[]]
 in_port=14 actions=load:0x16->NXM_NX_REG6[[]],load:0x17->NXM_NX_REG7[[]]
@@ -5983,7 +5983,7 @@  AT_CHECK([ovs-appctl ofproto/trace ovs-dummy "$odp_flow"], [0], [stdout])
 AT_CHECK([tail -1 stdout], [0], [dnl
 Datapath actions: 2
 ])
-# Test commmand: ofproto/trace br_name br_flow
+# Test command: ofproto/trace br_name br_flow
 AT_CHECK([ovs-appctl ofproto/trace br0 "$br_flow"], [0], [stdout])
 AT_CHECK([tail -1 stdout], [0], [dnl
 Datapath actions: 2
@@ -9261,7 +9261,7 @@  OVS_VSWITCHD_START([add-br br1 -- set bridge br1 datapath-type=dummy -- \
                     set Interface p1 bfd:enable=true bfd:min_tx=500 bfd:min_rx=500])
 
 ovs-appctl time/stop
-# advance the clock to stablize everything.
+# advance the clock to stabilize everything.
 ovs-appctl time/warp 5000 100
 # cfm/show should show 'recv' fault.
 AT_CHECK([ovs-appctl cfm/show | sed -n '/^.*fault:.*/p'], [0], [dnl
@@ -9284,7 +9284,7 @@  AT_CHECK([ovs-appctl bond/show | sed -n '/^.*may_enable:.*/p'], [0], [dnl
 
 # now disable the bfd on p1.
 AT_CHECK([ovs-vsctl set Interface p1 bfd:enable=false])
-# advance the clock to stablize everything.
+# advance the clock to stabilize everything.
 ovs-appctl time/warp 5000 100
 # cfm/show should show 'recv' fault.
 AT_CHECK([ovs-appctl cfm/show | sed -n '/^.*fault:.*/p'], [0], [dnl
@@ -9304,7 +9304,7 @@  AT_CHECK([ovs-appctl bond/show br0bond | sed -n '/^.*may_enable:.*/p'], [0], [dn
 # now enable the bfd on p1 and disable bfd on p0.
 AT_CHECK([ovs-vsctl set Interface p1 bfd:enable=true])
 AT_CHECK([ovs-vsctl set Interface p0 bfd:enable=false])
-# advance the clock to stablize everything.
+# advance the clock to stabilize everything.
 ovs-appctl time/warp 5000 100
 # cfm/show should show 'recv' fault.
 AT_CHECK([ovs-appctl cfm/show | sed -n '/^.*fault:.*/p'], [0], [dnl
@@ -11309,7 +11309,7 @@  AT_CHECK([ovs-vsctl set Interface p1 mtu_request=1600])
 
 # Check that the new MTU is applied
 AT_CHECK([ovs-vsctl wait-until Interface p1 mtu=1600])
-# The internal port 'br0' should have the same MTU value as p1, becase it's
+# The internal port 'br0' should have the same MTU value as p1, because it's
 # the new bridge minimum.
 AT_CHECK([ovs-vsctl wait-until Interface br0 mtu=1600])
 
@@ -11324,7 +11324,7 @@  AT_CHECK([ovs-vsctl wait-until Interface p2 mtu=1600])
 AT_CHECK([ovs-vsctl wait-until Interface br0 mtu=1600])
 
 # Explicitly set mtu_request on the internal member.  This should prevent
-# the MTU from being overriden.
+# the MTU from being overridden.
 AT_CHECK([ovs-vsctl set int br0 mtu_request=1700])
 AT_CHECK([ovs-vsctl wait-until Interface br0 mtu=1700])
 
diff --git a/tests/ofproto.at b/tests/ofproto.at
index 08c0a20..40e4592 100644
--- a/tests/ofproto.at
+++ b/tests/ofproto.at
@@ -2127,7 +2127,7 @@  ovs-appctl -t ovs-ofctl ofctl/set-output-file monitor.log
 AT_CAPTURE_FILE([monitor.log])
 
 # This bundle adds a flow using that group and then a packet-out that
-# needs them both.  Finally the bundle adds another flow that referes
+# needs them both.  Finally the bundle adds another flow that refers
 # to a non-existing group, causing the bundle to fail, and the
 # packet-in should not get executed.
 AT_DATA([bundle.txt], [dnl
@@ -2168,7 +2168,7 @@  ovs-appctl -t ovs-ofctl ofctl/set-output-file monitor.log
 AT_CAPTURE_FILE([monitor.log])
 
 # This bundle adds a flow using that group and then a packet-out that
-# needs them both.  Finally the bundle adds another flow that referes
+# needs them both.  Finally the bundle adds another flow that refers
 # to a non-existing group, causing the bundle to fail, and the
 # packet-in should not get executed.
 AT_DATA([bundle.txt], [dnl
@@ -3519,7 +3519,7 @@  OFPT_PORT_STATUS (OF1.4): MOD: ${INDEX}(test): addr:aa:55:aa:55:00:0x
 
         # Turn on vacancy events, then add flows until we're full.
         # With initial vacancy of 100% and vacancy_up of 80%, so that
-        # vacancy >= vacancy_up, this enables VACANY_DOWN events, so
+        # vacancy >= vacancy_up, this enables VACANCY_DOWN events, so
         # we get a single such message when vacancy dips below 20%.
         ovs_ofctl -O OpenFlow14 mod-table br0 1 vacancy:20,80
         ovs_ofctl -O OpenFlow14 add-flow br0 table=1,in_port=1,actions=2
diff --git a/tests/ovs-macros.at b/tests/ovs-macros.at
index 66545da..795aaf8 100644
--- a/tests/ovs-macros.at
+++ b/tests/ovs-macros.at
@@ -308,7 +308,7 @@  on_exit () {
 }
 ])
 
-dnl Autoconf 2.63 compatibility verison of macro introduced in Autoconf 2.64:
+dnl Autoconf 2.63 compatibility version of macro introduced in Autoconf 2.64:
 m4_ifndef([AS_VAR_APPEND],
   [m4_divert_text([PREPARE_TESTS],
     [as_var_append () {
@@ -317,19 +317,19 @@  m4_ifndef([AS_VAR_APPEND],
 ])
    m4_define([AS_VAR_APPEND], [as_var_append $1 $2])])
 
-dnl Autoconf 2.63 compatibility verison of macro introduced in Autoconf 2.64:
+dnl Autoconf 2.63 compatibility version of macro introduced in Autoconf 2.64:
 m4_ifndef([AT_CHECK_UNQUOTED],
   [m4_define([AT_CHECK_UNQUOTED],
   [_AT_CHECK([$1], [$2], AS_ESCAPE(m4_dquote(m4_expand([$3])), [""]),
     AS_ESCAPE(m4_dquote(m4_expand([$4])),[""]), [$5], [$6])])])
 
-dnl Autoconf 2.63 compatibility verison of macro introduced in Autoconf 2.64:
+dnl Autoconf 2.63 compatibility version of macro introduced in Autoconf 2.64:
 m4_ifndef([AT_SKIP_IF],
   [m4_define([AT_SKIP_IF],
     [AT_CHECK([($1) \
     && exit 77 || exit 0], [0], [ignore], [ignore])])])
 
-dnl Autoconf 2.63 compatibility verison of macro introduced in Autoconf 2.64:
+dnl Autoconf 2.63 compatibility version of macro introduced in Autoconf 2.64:
 m4_ifndef([AT_FAIL_IF],
   [m4_define([AT_FAIL_IF],
     [AT_CHECK([($1) \
diff --git a/tests/ovs-ofctl.at b/tests/ovs-ofctl.at
index 586e558..2d78c53 100644
--- a/tests/ovs-ofctl.at
+++ b/tests/ovs-ofctl.at
@@ -3001,7 +3001,7 @@  AT_CHECK([tail -1 stdout], [0],
   [Datapath actions: 2
 ])
 
-dnl Outbopund web traffic with ACK bit
+dnl Outbound web traffic with ACK bit
 AT_CHECK([ovs-appctl ofproto/trace ovs-dummy 'in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=80),tcp_flags(0x110)'], [0], [stdout])
 AT_CHECK([tail -1 stdout], [0],
   [Datapath actions: 2
diff --git a/tests/ovs-vswitchd.at b/tests/ovs-vswitchd.at
index bba4fea..f99f9bd 100644
--- a/tests/ovs-vswitchd.at
+++ b/tests/ovs-vswitchd.at
@@ -208,7 +208,7 @@  else
 fi
 
 # Create a bridge with an ordinary name and make sure that the management
-# socket gets creatd.
+# socket gets created.
 AT_CHECK([ovs-vsctl add-br a -- set bridge a datapath-type=dummy])
 AT_CHECK([test -$S a.mgmt])
 
diff --git a/tests/ovsdb-idl.at b/tests/ovsdb-idl.at
index 3adb9d6..3c20771 100644
--- a/tests/ovsdb-idl.at
+++ b/tests/ovsdb-idl.at
@@ -1907,7 +1907,7 @@  m4_define([OVSDB_CHECK_IDL_COMPOUND_INDEX_SINGLE_COLUMN_C],
    AT_CHECK([test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10 -c idl-compound-index unix:socket $3],
             [0], [stdout], [ignore])
 # Filter the rows of data that corresponds to the string index eliminating the extra columns of data.
-# This is done to verifiy that the output data is in the correct and expected order.
+# This is done to verify that the output data is in the correct and expected order.
    AT_CHECK([[cat stdout | grep -oh '[0-9]\{3\}: s=.*' | sed -e 's/ i=.*//g']],
             [0], [$4])
 # Here, the data is filtered and sorted in order to have all the rows in the index and be
@@ -1915,7 +1915,7 @@  m4_define([OVSDB_CHECK_IDL_COMPOUND_INDEX_SINGLE_COLUMN_C],
    AT_CHECK([[cat stdout | grep -oh '[0-9]\{3\}: s=.*' | sort -k 1,1n -k 2,2 -k 3,3]],
             [0], [$5])
 # Filter the rows of data that corresponds to the integer index eliminating the extra columns of data.
-# This is done to verifiy that the output data is in the correct and expected order.
+# This is done to verify that the output data is in the correct and expected order.
    AT_CHECK([[cat stdout | grep -oh '[0-9]\{3\}: i=.*' | sed -e 's/ s=.*//g']],
             [0], [$6])
 # Here again, the data is filtered and sorted in order to have all the rows in the index and be
@@ -2054,7 +2054,7 @@  m4_define([OVSDB_CHECK_IDL_COMPOUND_INDEX_DOUBLE_COLUMN_C],
    AT_CHECK([test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10 -c idl-compound-index unix:socket $3],
             [0], [stdout], [ignore])
 # Filter the rows of data that corresponds to the string-integer index eliminating the extra columns of data.
-# This is done to verifiy that the output data is in the correct and expected order.
+# This is done to verify that the output data is in the correct and expected order.
    AT_CHECK([[cat stdout | grep -oh '[0-9]\{3\}: s=.*' | sed -e 's/ b=.*//g']],
             [0], [$4])
 # Here, the data is filtered and sorted in order to have all the rows in the index and be
@@ -2062,7 +2062,7 @@  m4_define([OVSDB_CHECK_IDL_COMPOUND_INDEX_DOUBLE_COLUMN_C],
    AT_CHECK([[cat stdout | grep -oh '[0-9]\{3\}: s=.*' | sort -k 1,1n -k 2,2 -k 3,3]],
             [0], [$5])
 # Filter the rows of data that corresponds to the integer index eliminating the extra columns of data.
-# This is done to verifiy that the output data is in the correct and expected order.
+# This is done to verify that the output data is in the correct and expected order.
    AT_CHECK([[cat stdout | grep -oh '[0-9]\{3\}: i=.*' | sed -e 's/ b=.*//g']],
             [0], [$6])
 # Here again, the data is filtered and sorted in order to have all the rows in the index and be
@@ -2411,7 +2411,7 @@  on_exit 'kill `cat ovsdb-server2.pid`'
 
 dnl In this test, test-ovsdb first connects to the server with schema
 dnl idltest2.ovsschema and outputs the presence of tables and columns.
-dnl And then it connectes to the server with the schema idltest.ovsschema
+dnl And then it connects to the server with the schema idltest.ovsschema
 dnl and does the same.
 AT_CHECK([test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10 dnl
                  idl-table-column-check unix:socket unix:socket2], [0], [dnl
diff --git a/tests/ovsdb-lock.at b/tests/ovsdb-lock.at
index a3acd2f..470ed74 100644
--- a/tests/ovsdb-lock.at
+++ b/tests/ovsdb-lock.at
@@ -1,10 +1,10 @@ 
 AT_BANNER([OVSDB -- lock])
 
-# OVSDB_CHECK_LOCK_SETUP(TITILE, KEYWORDS)
+# OVSDB_CHECK_LOCK_SETUP(TITLE, KEYWORDS)
 #
 # Starts an OVSDB server and the default lock transaction, acquire "lock0",
 # using the ovsdb-client tool.  Execute additional <LOCK_TRANSACTIONS>,
-# and compare output file catured from ovsdb-client tools to <OUTPUT>.
+# and compare output file captured from ovsdb-client tools to <OUTPUT>.
 
 m4_define([OVSDB_CHECK_LOCK_SETUP],
    [AT_SETUP([ovsdb lock -- $1])
diff --git a/tests/ovsdb-query.at b/tests/ovsdb-query.at
index 0814fda..b93ad3b 100644
--- a/tests/ovsdb-query.at
+++ b/tests/ovsdb-query.at
@@ -534,7 +534,7 @@  query 26: ababa
 query 27: a-a-a],
   [query])
 
-OVSDB_CHECK_NEGATIVE([parse colunn set containing bad name],
+OVSDB_CHECK_NEGATIVE([parse column set containing bad name],
   [[query-distinct \
     '{"columns": {"i": {"type": "integer"}}}' \
     '[{"i": 0}]' \
diff --git a/tests/ovsdb-server.at b/tests/ovsdb-server.at
index 2b742f7..44d35de 100644
--- a/tests/ovsdb-server.at
+++ b/tests/ovsdb-server.at
@@ -72,7 +72,7 @@  AT_CHECK([ovsdb-server --remote=punix:socket db --run="sh txnfile"], [0], [stdou
 AT_CHECK([grep 'syntax error: db: parse error.* in header line "xxx"' stderr],
   [0], [ignore])
 cat stdout >> output
-dnl Run a final transaction to verify that both transactions succeeeded.
+dnl Run a final transaction to verify that both transactions succeeded.
 dnl The crap that we added should have been truncated by the previous run,
 dnl so ovsdb-server shouldn't log a warning this time.
 AT_DATA([txnfile], [[ovsdb-client transact unix:socket \
@@ -120,7 +120,7 @@  AT_CHECK([ovsdb-server --remote=punix:socket db --run="sh txnfile"], [0], [stdou
 AT_CHECK([grep 'syntax "{"invalid":{}}": unknown table: No table named invalid.' stderr],
   [0], [ignore])
 cat stdout >> output
-dnl Run a final transaction to verify that both transactions succeeeded.
+dnl Run a final transaction to verify that both transactions succeeded.
 dnl The crap that we added should have been truncated by the previous run,
 dnl so ovsdb-server shouldn't log a warning this time.
 AT_DATA([txnfile], [[ovsdb-client transact unix:socket \
@@ -1195,7 +1195,7 @@  AT_CAPTURE_FILE([ovsdb-client-nonblock.err])
 
 # Start an ovsdb-client monitoring all changes to the database,
 # By default, it is non-blocking, and will get update message
-# for each ovsdb-server transaactions.
+# for each ovsdb-server transactions.
 AT_CHECK([ovsdb-client --detach --no-chdir --pidfile=nonblock.pid monitor ALL >ovsdb-client-nonblock.out 2>ovsdb-client-nonblock.err])
 
 # Start an ovsdb-client monitoring all changes to the database,
@@ -1921,7 +1921,7 @@  dnl Flip the role of 'db1' and 'db2'.  'db1' becomes backup, and db2 becomes act
 AT_CHECK([ovs-appctl -t "`pwd`"/unixctl2 ovsdb-server/disconnect-active-ovsdb-server])
 AT_CHECK([ovs-appctl -t "`pwd`"/unixctl ovsdb-server/connect-active-ovsdb-server])
 
-dnl Verify the change happend
+dnl Verify the change happened
 OVS_WAIT_UNTIL([ovs-appctl -t "`pwd`"/unixctl ovsdb-server/sync-status |grep replicating])
 AT_CHECK([ovs-appctl -t "`pwd`"/unixctl2 ovsdb-server/sync-status], [0], [state: active
 ])
diff --git a/tests/ovstest.c b/tests/ovstest.c
index 068dcbb..1aaabe6 100644
--- a/tests/ovstest.c
+++ b/tests/ovstest.c
@@ -14,7 +14,7 @@ 
  * limitations under the License.
  */
 
-/* The mother of all test programs that links with libopevswitch.la */
+/* The mother of all test programs that links with libopenvswitch.la */
 
 #include <config.h>
 #undef NDEBUG
diff --git a/tests/ovstest.h b/tests/ovstest.h
index ddd7f3e..88f74c9 100644
--- a/tests/ovstest.h
+++ b/tests/ovstest.h
@@ -39,7 +39,7 @@ 
  * 'ovstest --help' will list all test programs can be invoked.
  *
  * The 'Usage' section below documents how to add a new sub program
- * to ovstest using OVSTEST_REIGSTER macros.
+ * to ovstest using OVSTEST_REGISTER macros.
  */
 
 typedef void (*ovstest_func)(int argc, char *argv[]);
diff --git a/tests/packet-type-aware.at b/tests/packet-type-aware.at
index 054dcc9..06f14bc 100644
--- a/tests/packet-type-aware.at
+++ b/tests/packet-type-aware.at
@@ -512,7 +512,7 @@  OVS_VSWITCHD_STOP(["/The Open vSwitch kernel module is probably not loaded/d"])
 AT_CLEANUP
 
 
-AT_SETUP([ptap - check decap() prerequisits])
+AT_SETUP([ptap - check decap() prerequisites])
 OVS_VSWITCHD_START
 
 # Decap IP header, then set IP destination address. This should fail.
@@ -568,7 +568,7 @@  AT_CHECK([
 recirc_id(0),in_port(1),packet_type(ns=0,id=0),eth_type(0x0800),ipv4(frag=no), packets:1, bytes:98, used:0.0s, actions:drop
 ])
 
-# Encap(ethernet) on Ethernet frame -> should be droped
+# Encap(ethernet) on Ethernet frame -> should be dropped
 AT_CHECK([
     ovs-ofctl del-flows br0
     ovs-ofctl add-flow br0 -OOpenFlow13 "in_port=1,actions=3"
@@ -590,7 +590,7 @@  AT_CHECK([
 recirc_id(0),in_port(1),packet_type(ns=0,id=0),eth_type(0x0800),ipv4(frag=no), packets:1, bytes:98, used:0.0s, actions:drop
 ])
 
-# Encap(ethernet) on VLAN tagged Ethernet frame -> should be droped
+# Encap(ethernet) on VLAN tagged Ethernet frame -> should be dropped
 AT_CHECK([
     ovs-ofctl del-flows br0
     ovs-ofctl add-flow br0 -OOpenFlow13 "in_port=1,actions=push_vlan:0x8100,mod_vlan_vid:100,encap(ethernet),3"
diff --git a/tests/pmd.at b/tests/pmd.at
index c875a74..dad8cab 100644
--- a/tests/pmd.at
+++ b/tests/pmd.at
@@ -43,7 +43,7 @@  m4_define([CHECK_CPU_DISCOVERED], [
 
 dnl CHECK_PMD_THREADS_CREATED([n_threads], [numa_id], [+line])
 dnl
-dnl Whaits for creation of 'n_threads' or at least 1 thread if $1 not
+dnl Waits for creation of 'n_threads' or at least 1 thread if $1 not
 dnl passed. Checking starts from line number 'line' in ovs-vswithd.log .
 m4_define([CHECK_PMD_THREADS_CREATED], [
     PATTERN="There are [[0-9]]* pmd threads on numa node $2"
@@ -1005,7 +1005,7 @@  dnl Trigger reconfiguration of the datapath
 AT_CHECK([ovs-vsctl set Interface p1 options:n_rxq=2])
 AT_CHECK([ovs-vsctl set Interface p2 options:n_rxq=2])
 
-dnl Make sure that reconfiguration succeded
+dnl Make sure that reconfiguration succeeded
 AT_CHECK([ovs-appctl dpif-netdev/pmd-rxq-show | parse_pmd_rxq_show], [0], [dnl
 p1 0 0 0
 p1 1 0 0
diff --git a/tests/stp.at b/tests/stp.at
index 7ddacfc..dea1e0b 100644
--- a/tests/stp.at
+++ b/tests/stp.at
@@ -534,7 +534,7 @@  port <>: STP state changed from learning to forwarding
 port <>: STP state changed from learning to forwarding
 ])
 
-# When topology is changed or the root brdige receives the TCN BPDU, the
+# When topology is changed or the root bridge receives the TCN BPDU, the
 # root bridge will start the topology change timer. We should wait the
 # topology change timer to stop after 35s (max age 20 + forward delay 15).
 # After 35s, the root bridge will stop send CONF BPDU with
@@ -542,7 +542,7 @@  port <>: STP state changed from learning to forwarding
 # importantly, we should make time warp (in a second) because the hold timer
 # of stp ports will stop after 1s. So the root bridge can send quickly
 # topology change ack (other bridges may send TCN BPDU to root bridge) for
-# avoiding root brdige to flush fdb and mdb frequently.
+# avoiding root bridge to flush fdb and mdb frequently.
 ovs-appctl time/warp 36000 1000
 
 # root bridge sends query packet
diff --git a/tests/system-interface.at b/tests/system-interface.at
index 784bada..cbef28b 100644
--- a/tests/system-interface.at
+++ b/tests/system-interface.at
@@ -1,4 +1,4 @@ 
-AT_BANNER([system-inteface])
+AT_BANNER([system-interface])
 
 dnl add a veth interface to br0, then delete and re-create
 dnl the veth interface with the same name in the system
diff --git a/tests/system-offloads-traffic.at b/tests/system-offloads-traffic.at
index be63057..d2a53d8 100644
--- a/tests/system-offloads-traffic.at
+++ b/tests/system-offloads-traffic.at
@@ -2,7 +2,7 @@  AT_BANNER([datapath offloads])
 
 # DUMP_CLEAN_SORTED([])
 #
-# Normilizes output ports, recirc_id, packets and macs.
+# Normalizes output ports, recirc_id, packets and macs.
 #
 m4_define([DUMP_CLEAN_SORTED], [sed -e 's/used:[[0-9]].[[0-9]]*s/used:0.001s/;s/eth(src=[[a-z0-9:]]*,dst=[[a-z0-9:]]*)/eth(macs)/;s/actions:[[0-9,]]*/actions:output/;s/recirc_id(0),//' | sort])
 
diff --git a/tests/system-traffic.at b/tests/system-traffic.at
index d79753a..2627e02 100644
--- a/tests/system-traffic.at
+++ b/tests/system-traffic.at
@@ -665,7 +665,7 @@  NS_CHECK_EXEC([at_ns0], [ping -q -c 3 10.1.1.100 | FORMAT_PING], [0], [dnl
 3 packets transmitted, 3 received, 0% packet loss, time 0ms
 ])
 
-dnl Test OVS handles TLV map modifictions properly when restores frozen state.
+dnl Test OVS handles TLV map modifications properly when restores frozen state.
 NS_CHECK_EXEC([at_ns0], [ping 10.1.1.100 > /dev/null &])
 
 AT_CHECK([ovs-ofctl add-tlv-map br0 "{class=0xffff,type=0x88,len=4}->tun_metadata1"])
@@ -5002,7 +5002,7 @@  table=0 priority=0 action=drop
 dnl
 dnl Table 1: port 1 -> 2
 dnl
-dnl Allow new FTP connections. These need to be commited.
+dnl Allow new FTP connections. These need to be committed.
 table=1 ct_state=+new, tcp, tp_dst=21, nw_src=10.1.1.1, action=ct(alg=ftp,commit,nat(src=$2)),2
 dnl Allow established TCP connections, make sure they are NATted already.
 table=1 ct_state=+est, tcp, nw_src=$2,     action=2
@@ -5016,7 +5016,7 @@  dnl Table 2: port 2 -> 1
 dnl
 dnl Allow established TCP connections, make sure they are reverse NATted
 table=2 ct_state=+est, tcp, nw_dst=10.1.1.1, action=1
-dnl Allow (new) related (data) connections.  These need to be commited.
+dnl Allow (new) related (data) connections.  These need to be committed.
 table=2 ct_state=+new+rel, tcp, nw_dst=$2, action=ct(commit,nat),1
 dnl Allow related ICMP packets, make sure they are reverse NATted
 table=2 ct_state=+rel, icmp, nw_dst=10.1.1.1, action=1
@@ -5078,14 +5078,14 @@  table=0 priority=0 action=drop
 dnl
 dnl Table 1
 dnl
-dnl Allow new FTP connections. These need to be commited.
+dnl Allow new FTP connections. These need to be committed.
 dnl This does helper for new packets.
 table=1 in_port=1 ct_state=+new, tcp, tp_dst=21, action=ct(alg=ftp,commit,nat(src=$2)),2
 dnl Allow and NAT established TCP connections
 table=1 in_port=1 ct_state=+est, tcp,     action=ct(nat),2
 table=1 in_port=2 ct_state=+est, tcp,     action=ct(nat),1
 dnl Allow and NAT (new) related active (data) connections.
-dnl These need to be commited.
+dnl These need to be committed.
 table=1 in_port=2 ct_state=+new+rel, tcp, action=ct(commit,nat),1
 dnl Allow related ICMP packets.
 table=1 in_port=2 ct_state=+rel, icmp,    action=ct(nat),1
@@ -5129,7 +5129,7 @@  dnl Checks the implementation of conntrack original direction tuple matching
 dnl with FTP ALGs in combination with NAT, with flow tables that implement
 dnl the NATing before the first round of recirculation - that is, the first
 dnl flow ct(nat, table=foo) then a subsequent flow will implement the
-dnl commiting of NATed and other connections with ct(nat..),output:foo.
+dnl committing of NATed and other connections with ct(nat..),output:foo.
 dnl
 dnl IP_ADDR must specify the NAT address in standard "10.1.1.x" format,
 dnl and IP_ADDR_AS_HEX must specify the same address as hex, eg 0x0a0101xx.
@@ -5958,7 +5958,7 @@  AT_CHECK([ovs-ofctl -O OpenFlow15 -vwarn add-group br0 "group_id=234,type=select
 AT_DATA([flows.txt], [dnl
 dnl Track connections to the virtual IP address.
 table=0 priority=100 ip nw_dst=10.1.1.64 action=group:234
-dnl All other IP traffic is allowed but the connection state is no commited.
+dnl All other IP traffic is allowed but the connection state is no committed.
 table=0 priority=90 ip action=ct(table=4,nat)
 dnl
 dnl Allow ARP, but generate responses for virtual addresses
@@ -6048,7 +6048,7 @@  AT_CHECK([ovs-ofctl -O OpenFlow15 -vwarn add-group br0 "group_id=234,type=select
 AT_DATA([flows.txt], [dnl
 dnl Track connections to the virtual IP address.
 table=0 priority=100 ip nw_dst=10.1.1.64 action=group:234
-dnl All other IP traffic is allowed but the connection state is no commited.
+dnl All other IP traffic is allowed but the connection state is no committed.
 table=0 priority=90 ip action=ct(table=4,nat)
 dnl
 dnl Allow ARP, but generate responses for virtual addresses
diff --git a/tests/test-classifier.c b/tests/test-classifier.c
index cff00c8..d248868 100644
--- a/tests/test-classifier.c
+++ b/tests/test-classifier.c
@@ -1316,7 +1316,7 @@  run_benchmarks(struct ovs_cmdl_context *ctx)
             "                 special cases a table may consist of only one kind of\n"
             "                 rules, so there will be only one subtable.\n"
             "<n_threads>    - How many lookup threads to use.  Using one thread should\n"
-            "                 give less variance accross runs, but classifier\n"
+            "                 give less variance across runs, but classifier\n"
             "                 scaling can be tested with multiple threads.\n"
             "<n_lookups>    - How many lookups each thread should perform.\n"
             "\n", program_name);
diff --git a/tests/test-json.c b/tests/test-json.c
index 072a537..b5248f1 100644
--- a/tests/test-json.c
+++ b/tests/test-json.c
@@ -165,7 +165,7 @@  json_string_benchmark_main(int argc OVS_UNUSED, char *argv[] OVS_UNUSED)
 {
     struct {
         int n;
-        int quote_probablility;
+        int quote_probability;
         int special_probability;
         int iter;
     } configs[] = {
@@ -194,14 +194,14 @@  json_string_benchmark_main(int argc OVS_UNUSED, char *argv[] OVS_UNUSED)
             if (r < configs[i].special_probability) {
                 str[j] = random_range(' ' - 1) + 1;
             } else if (r < (configs[i].special_probability
-                            + configs[i].quote_probablility)) {
+                            + configs[i].quote_probability)) {
                 str[j] = '"';
             } else {
                 str[j] = random_range(256 - ' ') + ' ';
             }
         }
 
-        printf("%-11d %-2d %-2d: ", n, configs[i].quote_probablility,
+        printf("%-11d %-2d %-2d: ", n, configs[i].quote_probability,
                                        configs[i].special_probability);
         fflush(stdout);
 
diff --git a/tests/test-netlink-policy.c b/tests/test-netlink-policy.c
index 5f2bf71..eae108f 100644
--- a/tests/test-netlink-policy.c
+++ b/tests/test-netlink-policy.c
@@ -25,7 +25,7 @@ 
 #include "util.h"
 
 /* nla_len is an inline function in the kernel net/netlink header, which we
- * don't necessarilly have at build time, so provide our own with
+ * don't necessarily have at build time, so provide our own with
  * non-conflicting name. */
 static int
 _nla_len(const struct nlattr *nla) {
diff --git a/tests/test-ovsdb.c b/tests/test-ovsdb.c
index a40318c..bdba2ce 100644
--- a/tests/test-ovsdb.c
+++ b/tests/test-ovsdb.c
@@ -186,7 +186,7 @@  usage(void)
            "  evaluate-conditions TABLE [CONDITION,...] [ROW,...]\n"
            "    test CONDITIONS on TABLE against each ROW, print results\n"
            "  evaluate-conditions-any TABLE [CONDITION,...] [ROW,...]\n"
-           "    test CONDITIONS to match any of the CONDITONS on TABLE\n"
+           "    test CONDITIONS to match any of the CONDITIONS on TABLE\n"
            "    against each ROW, print results\n"
            "  compare-conditions TABLE [CONDITION,...]\n"
            "    mutually compare all of the CONDITION, print results for\n"
@@ -500,7 +500,7 @@  do_diff_data(struct ovs_cmdl_context *ctx)
         /* Generate the diff.  */
         ovsdb_datum_diff(&diff, &old, &new, &type);
 
-        /* Apply diff to 'old' to create'reincarnation'. */
+        /* Apply diff to 'old' to create 'reincarnation'. */
         error = ovsdb_datum_apply_diff(&reincarnation, &old, &diff, &type);
         if (error) {
             char *string = ovsdb_error_to_string_free(error);
diff --git a/tests/test-ovsdb.py b/tests/test-ovsdb.py
index 5bc0bf6..1d17bb3 100644
--- a/tests/test-ovsdb.py
+++ b/tests/test-ovsdb.py
@@ -407,7 +407,7 @@  def idl_set(idl, commands, step):
             elif args[1] == "r":
                 s.r = float(args[2])
             else:
-                sys.stderr.write('"set" comamnd asks for unknown column %s\n'
+                sys.stderr.write('"set" command asks for unknown column %s\n'
                                  % args[2])
                 sys.stderr.exit(1)
         elif name == "insert":
@@ -598,7 +598,7 @@  def idl_set(idl, commands, step):
         sys.stdout.write(", increment=%d" % txn.get_increment_new_value())
     if events:
         # Event notifications from operations in a single transaction are
-        # not in a gauranteed order due to update messages being dicts
+        # not in a guaranteed order due to update messages being dicts
         sys.stdout.write(", events=" + ", ".join(sorted(events)))
     sys.stdout.write("\n")
     sys.stdout.flush()
@@ -920,7 +920,7 @@  idl SCHEMA SERVER [?T1:C1,C2...[?T2:C1,C2,...]...] [TRANSACTION...]
       ?<table-name>:<column-name>,<column-name>,...
   e.g.:
       ?simple:b - Monitor column "b" in table "simple"
-  Entries for multiple tables are seperated by "?":
+  Entries for multiple tables are separated by "?":
       ?<table-name>:<column-name>,...?<table-name>:<column-name>,...
   e.g.:
       ?simple:b?link1:i,k - Monitor column "b" in table "simple",
diff --git a/tests/test-util.c b/tests/test-util.c
index f0fd042..674ca00 100644
--- a/tests/test-util.c
+++ b/tests/test-util.c
@@ -493,11 +493,11 @@  test_bitwise_rscan(struct ovs_cmdl_context *ctx OVS_UNUSED)
     uint8_t s2[3] = {0x0f, 0xff, 0xff};
     /* Target is in the first byte but not the first bit */
     ovs_assert(19 == bitwise_rscan(s2, 3, 1, 23, -1));
-    /* Target exists before the start postion */
+    /* Target exists before the start position */
     ovs_assert(18 == bitwise_rscan(s2, 3, 1, 18, -1));
-    /* Target exists after the end postion, return end */
+    /* Target exists after the end position, return end */
     ovs_assert(20 == bitwise_rscan(s2, 3, 1, 23, 20));
-    /* Target is at the end postion, return end */
+    /* Target is at the end position, return end */
     ovs_assert(19 == bitwise_rscan(s2, 3, 1, 23, 19));
     /* start == end, target at start */
     ovs_assert(19 == bitwise_rscan(s2, 3, 1, 19, 19));
diff --git a/tests/tunnel-push-pop-ipv6.at b/tests/tunnel-push-pop-ipv6.at
index 59723e6..fc9dbdc 100644
--- a/tests/tunnel-push-pop-ipv6.at
+++ b/tests/tunnel-push-pop-ipv6.at
@@ -275,7 +275,7 @@  AT_CHECK([ovs-appctl tnl/arp/show | tail -n+3 | sort], [0], [dnl
 2001:cafe::92                                 f8:bc:12:44:34:c8   br0
 ])
 
-dnl Receiving Neighbot Advertisement with incorrect VLAN id should not alter tunnel neighbor cache
+dnl Receiving Neighbor Advertisement with incorrect VLAN id should not alter tunnel neighbor cache
 AT_CHECK([ovs-vsctl set port br0 tag=10])
 AT_CHECK([ovs-appctl netdev-dummy/receive p0 'in_port(1),eth(src=f8:bc:12:44:34:b6,dst=aa:55:aa:55:00:00),eth_type(0x8100),vlan(vid=99,pcp=7),encap(eth_type(0x86dd),ipv6(src=2001:cafe::92,dst=2001:cafe::88,label=0,proto=58,tclass=0,hlimit=255,frag=no),icmpv6(type=136,code=0),nd(target=2001:cafe::92,sll=00:00:00:00:00:00,tll=f8:bc:12:44:34:b6))'])
 
diff --git a/tests/tunnel.at b/tests/tunnel.at
index b8ae7ca..de76bff 100644
--- a/tests/tunnel.at
+++ b/tests/tunnel.at
@@ -713,7 +713,7 @@  AT_CHECK([tail -2 stdout], [0],
 Datapath actions: drop
 ])
 
-dnl test wildcard mask: recevie all v2 regardless of its metadata
+dnl test wildcard mask: receive all v2 regardless of its metadata
 AT_CHECK([ovs-ofctl del-flows br0 in_port=4,tun_erspan_ver=2,tun_erspan_dir=1,tun_erspan_hwid=0xf/0x1])
 AT_CHECK([ovs-ofctl add-flow br0 in_port=4,tun_erspan_ver=2,tun_erspan_dir=0/0,tun_erspan_hwid=0x0/0x0,actions=2])
 
diff --git a/utilities/bugtool/ovs-bugtool-ovs-ofctl-loop-over-bridges b/utilities/bugtool/ovs-bugtool-ovs-ofctl-loop-over-bridges
index e74f474..b0552be 100755
--- a/utilities/bugtool/ovs-bugtool-ovs-ofctl-loop-over-bridges
+++ b/utilities/bugtool/ovs-bugtool-ovs-ofctl-loop-over-bridges
@@ -25,9 +25,9 @@  do
         eval ovs-ofctl $1 "${bridge}" $2
     else
         LENGTHPRO="$(expr length "$PROTOCOLS")"
-        COMMAIND="$(expr index "$PROTOCOLS" ,)"
-        echo "ovs-ofctl $1 -O${PROTOCOLS:${COMMAIND}+2:${LENGTHPRO}-${COMMAIND}-4} ${bridge} $2"
-        eval ovs-ofctl $1 -O"${PROTOCOLS:${COMMAIND}+2:${LENGTHPRO}-${COMMAIND}-4}" "${bridge}" $2
+        COMMAND="$(expr index "$PROTOCOLS" ,)"
+        echo "ovs-ofctl $1 -O${PROTOCOLS:${COMMAND}+2:${LENGTHPRO}-${COMMAND}-4} ${bridge} $2"
+        eval ovs-ofctl $1 -O"${PROTOCOLS:${COMMAND}+2:${LENGTHPRO}-${COMMAND}-4}" "${bridge}" $2
     fi
     echo ""
 done
diff --git a/utilities/ovs-appctl-bashcomp.bash b/utilities/ovs-appctl-bashcomp.bash
index 4384be8..26bbbff 100755
--- a/utilities/ovs-appctl-bashcomp.bash
+++ b/utilities/ovs-appctl-bashcomp.bash
@@ -21,7 +21,7 @@ 
 #    - does not support parsing of nested option
 #      (e.g. ovsdb-tool create [db [schema]]).
 #
-#    - does not support expansion on repeatitive argument
+#    - does not support expansion on repetitive argument
 #      (e.g. ovs-dpctl show [dp...]).
 #
 #    - only support matching on long options, and only in the format
@@ -501,7 +501,7 @@  ovs_comp_helper() {
                     if [ -n "$(option_require_arg "${cmd_line_so_far[i]}")" ]; then
                         ((j++))
                         if [ -z "${cmd_line_so_far[j]}" ]; then
-                            printf_stderr "\nOption requires an arugment."
+                            printf_stderr "\nOption requires an argument."
                             return
                         fi
                     fi
diff --git a/utilities/ovs-appctl.c b/utilities/ovs-appctl.c
index ba0c172..685f44a 100644
--- a/utilities/ovs-appctl.c
+++ b/utilities/ovs-appctl.c
@@ -153,7 +153,7 @@  parse_command_line(int argc, char *argv[])
              * the command as non-option arguments and we say that -e has no
              * arguments, this just works in the common case. */
             if (e_options++) {
-                ovs_fatal(0, "-e or --execute may be speciifed only once");
+                ovs_fatal(0, "-e or --execute may be specified only once");
             }
             break;
 
diff --git a/utilities/ovs-ctl.in b/utilities/ovs-ctl.in
index e6e07f4..8db3680 100644
--- a/utilities/ovs-ctl.in
+++ b/utilities/ovs-ctl.in
@@ -441,7 +441,7 @@  File location options:
 Options for "enable-protocol":
   --protocol=PROTOCOL  protocol to enable with iptables (default: gre)
   --sport=PORT       source port to match (for tcp or udp protocol)
-  --dport=PORT       ddestination port to match (for tcp or udp protocol)
+  --dport=PORT       destination port to match (for tcp or udp protocol)
 
 Option for "start-ovs-ipsec":
   --ike-daemon=IKE_DAEMON
diff --git a/utilities/ovs-ofctl.8.in b/utilities/ovs-ofctl.8.in
index e903ca1..997cc7a 100644
--- a/utilities/ovs-ofctl.8.in
+++ b/utilities/ovs-ofctl.8.in
@@ -303,7 +303,7 @@  case, \fIflow\fR specifies a flow entry in the format described in
 \fBFlow Syntax\fR, below, \fIfile\fR is a text file that contains zero
 or more flows in the same syntax, one per line, and the optional
 \fB\-\-bundle\fR option operates the command as a single atomic
-transation, see option \fB\-\-bundle\fR, below.
+transaction, see option \fB\-\-bundle\fR, below.
 .
 .IP "[\fB\-\-bundle\fR] \fBadd\-flow \fIswitch flow\fR"
 .IQ "[\fB\-\-bundle\fR] \fBadd\-flow \fIswitch \fB\- < \fIfile\fR"
@@ -379,7 +379,7 @@  case, \fIgroup\fR specifies a group entry in the format described in
 \fBGroup Syntax\fR, below, and \fIfile\fR is a text file that contains
 zero or more groups in the same syntax, one per line, and the optional
 \fB\-\-bundle\fR option operates the command as a single atomic
-transation, see option \fB\-\-bundle\fR, below.
+transaction, see option \fB\-\-bundle\fR, below.
 .PP
 The group commands work only with switches that support OpenFlow 1.1
 or later or the Open vSwitch group extensions to OpenFlow 1.0 (added
@@ -1048,7 +1048,7 @@  case the effect is to remove all buckets from the group.
 .IP \fBfirst\fR
 Operate on the first bucket present in the group.
 In the case of the \fBinsert-buckets\fR command the effect is to
-insert new bucets just before the first bucket already present in the group;
+insert new buckets just before the first bucket already present in the group;
 or to replace the buckets of the group if there are no buckets already present
 in the group.
 In the case of the \fBremove-buckets\fR command the effect is to
@@ -1057,7 +1057,7 @@  buckets present in the group.
 .IP \fBlast\fR
 Operate on the last bucket present in the group.
 In the case of the \fBinsert-buckets\fR command the effect is to
-insert new bucets just after the last bucket already present in the group;
+insert new buckets just after the last bucket already present in the group;
 or to replace the buckets of the group if there are no buckets already present
 in the group.
 In the case of the \fBremove-buckets\fR command the effect is to
@@ -1090,7 +1090,7 @@  In those rare cases Open vSwitch 2.10 and later fall back to the \fBhash\fR
 method with the default set of hash fields.
 .RS
 .IP \fBdp_hash\fR
-Use a datapath computed hash value.  The hash algorithm varies accross
+Use a datapath computed hash value.  The hash algorithm varies across
 different datapath implementations.  \fBdp_hash\fR uses the upper 32
 bits of the \fBselection_method_param\fR as the datapath hash
 algorithm selector.  The supported values are \fB0\fR (corresponding to
@@ -1464,7 +1464,7 @@  output is sorted by priority.  Specify these options multiple times to
 sort by multiple fields.
 .IP
 Any given flow will not necessarily specify a value for a given
-field.  This requires special treatement:
+field.  This requires special treatment:
 .RS
 .IP \(bu
 A flow that does not specify any part of a field that is used for sorting is
diff --git a/utilities/ovs-pipegen.py b/utilities/ovs-pipegen.py
index a3b6a66..2a57a5b 100755
--- a/utilities/ovs-pipegen.py
+++ b/utilities/ovs-pipegen.py
@@ -90,7 +90,7 @@  def main():
 
         Open vSwitch relies heavily on flow caching to get good performance for
         packet processing.  While on average, this produces good results,
-        performance is heavily depedent on the slow path OpenFlow tables, and
+        performance is heavily dependent on the slow path OpenFlow tables, and
         how they're translated into datapath megaflows.  For this reason, when
         doing performance testing it's important to run with "realistic"
         OpenFlow tables to ensure results will stand up in the real world.
diff --git a/utilities/ovs-vsctl-bashcomp.bash b/utilities/ovs-vsctl-bashcomp.bash
index fc8245b..c10ad6e 100755
--- a/utilities/ovs-vsctl-bashcomp.bash
+++ b/utilities/ovs-vsctl-bashcomp.bash
@@ -499,7 +499,7 @@  declare -A _OVS_VSCTL_ARG_COMPLETION_FUNCS=(
 # $1: Argument type, may include vertical bars to mean OR
 # $2: Beginning of completion
 #
-# Note that this checks for existance in
+# Note that this checks for existence in
 # _OVS_VSCTL_ARG_COMPLETION_FUNCS; if the argument type ($1) is not
 # there it will fail gracefully.
 _ovs_vsctl_possible_completions_of_argument () {
@@ -649,7 +649,7 @@  _ovs_vsctl_trim_compreply() {
 #
 # Parsing up until the command word happens starts with everything
 # valid; as the syntax order of ovs-vsctl is fairly strict, when types
-# of words that preclude other words from happending can turn them
+# of words that preclude other words from happening can turn them
 # off; this is controlled by valid_globals, valid_opts, and
 # valid_commands.  given_opts is used to narrow down which commands
 # are valid based on the previously given options.
diff --git a/utilities/ovs-vsctl.c b/utilities/ovs-vsctl.c
index 37cc72d..437e295 100644
--- a/utilities/ovs-vsctl.c
+++ b/utilities/ovs-vsctl.c
@@ -91,7 +91,7 @@  static bool retry;
 static int leader_only = true;
 
 /* --shuffle-remotes, --no-shuffle-remotes: Shuffle the order of remotes that
- * are specified in the connetion method string.
+ * are specified in the connection method string.
  *
  * In a real Open vSwitch environment, it doesn't make much sense to cluster
  * the Open vSwitch database.  This option exists to enable using ovs-vsctl to
@@ -2787,7 +2787,7 @@  vsctl_parent_process_info(void)
     parent_pid = getppid();
     ds_init(&s);
 
-    /* Retrive the command line of the parent process, except the init
+    /* Retrieve the command line of the parent process, except the init
      * process since /proc/0 does not exist. */
     if (parent_pid) {
         char *procfile;
diff --git a/vswitchd/bridge.c b/vswitchd/bridge.c
index 5223aa8..927e633 100644
--- a/vswitchd/bridge.c
+++ b/vswitchd/bridge.c
@@ -181,7 +181,7 @@  struct datapath {
 /* All bridges, indexed by name. */
 static struct hmap all_bridges = HMAP_INITIALIZER(&all_bridges);
 
-/* All datapath configuartions, indexed by type. */
+/* All datapath configurations, indexed by type. */
 static struct hmap all_datapaths = HMAP_INITIALIZER(&all_datapaths);
 
 /* OVSDB IDL used to obtain configuration. */
@@ -1404,7 +1404,7 @@  bridge_configure_netflow(struct bridge *br)
         opts.active_timeout = -1;
     }
 
-    /* Add engine ID to interface number to disambiguate bridgs? */
+    /* Add engine ID to interface number to disambiguate bridges? */
     opts.add_id_to_iface = cfg->add_id_to_interface;
     if (opts.add_id_to_iface) {
         if (opts.engine_id > 0x7f) {
@@ -3893,7 +3893,7 @@  bridge_configure_remotes(struct bridge *br,
     /* The set of controllers to pass down to ofproto. */
     struct shash ocs = SHASH_INITIALIZER(&ocs);
 
-    /* Add managment controller. */
+    /* Add management controller. */
     struct ofproto_controller *oc = xmalloc(sizeof *oc);
     *oc = (struct ofproto_controller) {
         .type = OFCONN_SERVICE,
diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml
index 026b5e2..aff6dab 100644
--- a/vswitchd/vswitch.xml
+++ b/vswitchd/vswitch.xml
@@ -707,7 +707,7 @@ 
          iterations.
         </p>
         <p>
-         The defaul value is 1 min. If configured to 0 then it would be
+         The default value is 1 min. If configured to 0 then it would be
          converted to default value i.e. 1 min
         </p>
         <p>
@@ -1297,7 +1297,7 @@ 
 
       <column name="datapath_version">
           Reports the datapath version.  This column is maintained for
-          backwards compatibility.  The preferred locatation is the
+          backwards compatibility.  The preferred location is the
           <ref column="datapath_id" table="Datapath"/> column of the
           <ref table="Datapath"/> table.  The full documentation for this
           column is there.
@@ -1315,7 +1315,7 @@ 
         debugging purposes, e.g. <code>switch3 in room 3120</code>.
         The value is returned by the switch as a part of reply to OFPMP_DESC 
         request (ofp_desc). The OpenFlow specification (e.g. 1.3.5) describes
-        the ofp_desc structure to contaion "NULL terminated ASCII strings".
+        the ofp_desc structure to contain "NULL terminated ASCII strings".
         For the compatibility reasons no more than 255 ASCII characters should be used.
       </column>
 
@@ -2596,7 +2596,7 @@ 
             A client should ideally set this column's value in the same
             database transaction that it uses to create the interface.  Open
             vSwitch version 2.1 and later will honor a later request for a
-            specific port number, althuogh it might confuse some controllers:
+            specific port number, although it might confuse some controllers:
             OpenFlow does not have a way to announce a port number change, so
             Open vSwitch represents it over OpenFlow as a port deletion
             followed immediately by a port addition.
@@ -3878,7 +3878,7 @@  ovs-vsctl add-port br0 p0 -- set Interface p0 type=patch options:peer=p1 \
 
         <column name="bfd" key="cpath_down" type='{"type": "boolean"}'>
           Set to true to notify the remote endpoint that traffic should not be
-          forwarded to this system for some reason other than a connectivty
+          forwarded to this system for some reason other than a connectivity
           failure on the interface being monitored.  The typical underlying
           reason is ``concatenated path down,'' that is, that connectivity
           beyond the local system is down.  Defaults to false.
@@ -4667,7 +4667,7 @@  ovs-vsctl add-port br0 p0 -- set Interface p0 type=patch options:peer=p1 \
           traffic. It should be noted that when the rte_meter is configured as
           part of QoS there will be a performance overhead as the rte_meter
           itself will consume CPU cycles in order to police traffic. These CPU
-          cycles ordinarily are used for packet proccessing. As such the drop
+          cycles ordinarily are used for packet processing. As such the drop
           in performance will be noticed in terms of overall aggregate traffic
           throughput.
         </dd>
@@ -5255,7 +5255,7 @@  ovs-vsctl add-port br0 p0 -- set Interface p0 type=patch options:peer=p1 \
 
     <group title="Asynchronous Messages">
       <p>
-        OpenFlow switches send certain messages to controllers spontanenously,
+        OpenFlow switches send certain messages to controllers spontaneously,
         that is, not in response to any request from the controller.  These
         messages are called ``asynchronous messages.''  These columns allow
         asynchronous messages to be limited or disabled to ensure the best use
diff --git a/vtep/ovs-vtep.in b/vtep/ovs-vtep.in
index 0ee23b1..eb59d3d 100755
--- a/vtep/ovs-vtep.in
+++ b/vtep/ovs-vtep.in
@@ -413,7 +413,7 @@  def add_bfd(remote_ip):
     # same machine (with different tunnel ids). But VTEP schema expects
     # a single BFD session between two physical locators. Therefore
     # create a separate bridge ('bfd_bridge') and create a single OVS tunnel
-    # between two phsyical locators (using reference counter).
+    # between two physical locators (using reference counter).
     if remote_ip in bfd_ref:
         bfd_ref[remote_ip] += 1
         return
diff --git a/vtep/vtep.xml b/vtep/vtep.xml
index 927efed..52a16c4 100644
--- a/vtep/vtep.xml
+++ b/vtep/vtep.xml
@@ -859,7 +859,7 @@ 
 
     <column name="ipaddr">
       The IP address to which this MAC corresponds. Optional field for
-      the purpose of ARP supression.
+      the purpose of ARP suppression.
     </column>
 
   </table>
@@ -892,7 +892,7 @@ 
 
     <column name="ipaddr">
       The IP address to which this MAC corresponds. Optional field for
-      the purpose of ARP supression.
+      the purpose of ARP suppression.
     </column>
 
   </table>
@@ -932,7 +932,7 @@ 
 
     <column name="ipaddr">
       The IP address to which this MAC corresponds. Optional field for
-      the purpose of ARP supression.
+      the purpose of ARP suppression.
     </column>
   </table>
 
@@ -984,7 +984,7 @@ 
 
     <column name="ipaddr">
       The IP address to which this MAC corresponds. Optional field for
-      the purpose of ARP supression.
+      the purpose of ARP suppression.
     </column>
 
   </table>
diff --git a/windows/ovs-windows-installer/ovs-windows-installer.wixproj b/windows/ovs-windows-installer/ovs-windows-installer.wixproj
index 241d605..45c956a 100644
--- a/windows/ovs-windows-installer/ovs-windows-installer.wixproj
+++ b/windows/ovs-windows-installer/ovs-windows-installer.wixproj
@@ -13,7 +13,7 @@ 
     <Version Condition=" '$(Version)' == '' ">1.0.0.0</Version>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
-    <TestOutOfProccess Condition=" '$(PROCESSOR_ARCHITECTURE)'!='x86' ">true</TestOutOfProccess>
+    <TestOutOfProcess Condition=" '$(PROCESSOR_ARCHITECTURE)'!='x86' ">true</TestOutOfProcess>
     <OutputPath>bin\$(Configuration)\</OutputPath>
     <IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
     <DefineConstants>BinariesPath=Binaries;SymbolsPath=Symbols;Version=$(Version)</DefineConstants>
@@ -22,7 +22,7 @@ 
     <SuppressSpecificWarnings>1076;</SuppressSpecificWarnings>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
-    <TestOutOfProccess Condition=" '$(PROCESSOR_ARCHITECTURE)'!='x86' ">true</TestOutOfProccess>
+    <TestOutOfProcess Condition=" '$(PROCESSOR_ARCHITECTURE)'!='x86' ">true</TestOutOfProcess>
     <DefineConstants>BinariesPath=Binaries;SymbolsPath=Symbols;Version=$(Version)</DefineConstants>
     <SuppressAllWarnings>False</SuppressAllWarnings>
     <Pedantic>False</Pedantic>
@@ -69,9 +69,9 @@ 
   </ItemGroup>
   <Import Project="$(WixTargetsPath)" />
   <Target Name="BeforeBuild">
-    <HeatDirectory RunAsSeparateProcess="$(TestOutOfProccess)" DirectoryRefId="BINARIESDIR" OutputFile="Binaries.wxs" Directory="Binaries" ComponentGroupName="BinariesComponentGroup" ToolPath="$(WixToolPath)" PreprocessorVariable="var.BinariesPath" GenerateGuidsNow="true" SuppressCom="true" SuppressRegistry="true" KeepEmptyDirectories="true" SuppressRootDirectory="true">
+    <HeatDirectory RunAsSeparateProcess="$(TestOutOfProcess)" DirectoryRefId="BINARIESDIR" OutputFile="Binaries.wxs" Directory="Binaries" ComponentGroupName="BinariesComponentGroup" ToolPath="$(WixToolPath)" PreprocessorVariable="var.BinariesPath" GenerateGuidsNow="true" SuppressCom="true" SuppressRegistry="true" KeepEmptyDirectories="true" SuppressRootDirectory="true">
     </HeatDirectory>
-    <HeatDirectory RunAsSeparateProcess="$(TestOutOfProccess)" DirectoryRefId="SYMBOLSDIR" OutputFile="Symbols.wxs" Directory="Symbols" ComponentGroupName="SymbolsComponentGroup" ToolPath="$(WixToolPath)" PreprocessorVariable="var.SymbolsPath" GenerateGuidsNow="true" SuppressCom="true" SuppressRegistry="true" KeepEmptyDirectories="true" SuppressRootDirectory="true">
+    <HeatDirectory RunAsSeparateProcess="$(TestOutOfProcess)" DirectoryRefId="SYMBOLSDIR" OutputFile="Symbols.wxs" Directory="Symbols" ComponentGroupName="SymbolsComponentGroup" ToolPath="$(WixToolPath)" PreprocessorVariable="var.SymbolsPath" GenerateGuidsNow="true" SuppressCom="true" SuppressRegistry="true" KeepEmptyDirectories="true" SuppressRootDirectory="true">
     </HeatDirectory>
   </Target>
   <!--
diff --git a/xenserver/opt_xensource_libexec_InterfaceReconfigure.py b/xenserver/opt_xensource_libexec_InterfaceReconfigure.py
index 74b784d..08a00bd 100644
--- a/xenserver/opt_xensource_libexec_InterfaceReconfigure.py
+++ b/xenserver/opt_xensource_libexec_InterfaceReconfigure.py
@@ -269,7 +269,7 @@  def _otherconfig_from_xml(n, attrs):
 # Each object is defined by a dictionary mapping an attribute name in
 # the xapi database to a tuple containing two items:
 #  - a function which takes this attribute and encodes it as XML.
-#  - a function which takes XML and decocdes it into a value.
+#  - a function which takes XML and decodes it into a value.
 #
 # other-config attributes are specified as a simple array of strings
 
diff --git a/xenserver/opt_xensource_libexec_interface-reconfigure b/xenserver/opt_xensource_libexec_interface-reconfigure
index 9c20725..ab0836d 100755
--- a/xenserver/opt_xensource_libexec_interface-reconfigure
+++ b/xenserver/opt_xensource_libexec_interface-reconfigure
@@ -441,7 +441,7 @@  def action_up(pif, force):
     pif_rename_physical_devices(pif)
 
     # if we are not forcing the interface up then attempt to tear down
-    # any existing devices which might interfere with brinign this one
+    # any existing devices which might interfere with bringing this one
     # up.
     if not force:
         ifdown(ipdev)