diff --git a/LINUX/README.md b/LINUX/README.md index 0c9e2c14f..6c47b7577 100644 --- a/LINUX/README.md +++ b/LINUX/README.md @@ -260,7 +260,7 @@ On the receiver, you should see about 14.88 Mpps use the kernel network stack on the other endpoint. This is not a missing feature, as the native veth datapath is implemented using netmap pipes, and it does not make sense (in terms of performance) for pipes to support - conversion betweeen netmap buffers and skbuffs. + conversion between netmap buffers and skbuffs. * pkt-gen traffic does not flow across a Linux bridge. Check that source MAC is not 00:00:00:00:00:00 (pkt-gen default), nor diff --git a/LINUX/archlinux/PKGBUILD b/LINUX/archlinux/PKGBUILD index 20b3033d5..f3f1d1d7c 100644 --- a/LINUX/archlinux/PKGBUILD +++ b/LINUX/archlinux/PKGBUILD @@ -50,7 +50,7 @@ build() { echo "SRCPKGDEST=$SRCPKGDEST" echo "PKGDEST=$PKGDEST" echo "BUILDDIR=$BUILDDIR" - # We force some makepkg variables, trying to ovverride yaourt default behaviour, + # We force some makepkg variables, trying to override yaourt default behaviour, # which is to download sources in $srcdir/../linux instead of the place where # makepkg is invoked SRCDEST=$NESTEDDIR SRCPKGDEST=$NESTEDDIR PKGDEST=$NESTEDDIR BUILDDIR=$NESTEDDIR \ diff --git a/LINUX/configure b/LINUX/configure index 2facbaa3b..fd3ef6cf0 100755 --- a/LINUX/configure +++ b/LINUX/configure @@ -301,7 +301,7 @@ Available options: --help print this message --kernel-dir= path to configured kernel directory --kernel-sources= path to full kernel sources - --kernel-version= specifiy the kernel version + --kernel-version= specify the kernel version (assuming everything is in the default place) --kernel-opts= additional options to pass to kernel make (you can call this several times) @@ -577,7 +577,7 @@ EOF } configh=netmap_linux_config.h -# succes/failure actions are expected to write some macros +# success/failure actions are expected to write some macros # in netma_linux_config.h. The following functions can be # used to simplify the task. @@ -1014,7 +1014,7 @@ for w in $DISABLED_WARNINGS; do done message " NOTE " <nr_hwcur = nm_i; /* note we migth break early */ + kring->nr_hwcur = nm_i; /* note we might break early */ } out: if (interrupts && vq->num_free < 32) diff --git a/LINUX/if_vmxnet3_netmap_v2.h b/LINUX/if_vmxnet3_netmap_v2.h index d1f1de1c0..0b4352680 100644 --- a/LINUX/if_vmxnet3_netmap_v2.h +++ b/LINUX/if_vmxnet3_netmap_v2.h @@ -469,7 +469,7 @@ vmxnet3_netmap_tq_config_tx_buf(struct vmxnet3_tx_queue *tq, PNMB(na, slot + si, &paddr); tbi->map_type = VMXNET3_MAP_NONE; - /* the buffer length will get overriden by the actual + /* the buffer length will get overridden by the actual packet length on transmit */ tbi->len = NETMAP_BUF_SIZE(na); tbi->dma_addr = (dma_addr_t)paddr; diff --git a/LINUX/ixgbe_netmap_linux.h b/LINUX/ixgbe_netmap_linux.h index 1ea571a23..14d37df28 100644 --- a/LINUX/ixgbe_netmap_linux.h +++ b/LINUX/ixgbe_netmap_linux.h @@ -239,7 +239,7 @@ ixgbe_netmap_reg(struct netmap_adapter *na, int onoff) } else { nm_clear_native_flags(na); } - /* XXX SRIOV migth need another 2sec wait */ + /* XXX SRIOV might need another 2sec wait */ if (netif_running(adapter->netdev)) NM_IXGBE_UP(adapter); /* also enables intr */ clear_bit(NM_IXGBE_RESETTING, &adapter->state); diff --git a/LINUX/netmap_linux.c b/LINUX/netmap_linux.c index b1619a241..98ae19b4d 100644 --- a/LINUX/netmap_linux.c +++ b/LINUX/netmap_linux.c @@ -378,7 +378,7 @@ nm_os_csum_ipv4(struct nm_iphdr *iph) } /* Compute and insert a TCP/UDP checksum over IPv4: 'iph' points to the IPv4 - * header, 'data' points to the TCP/UDP header, 'datalen' is the lenght of + * header, 'data' points to the TCP/UDP header, 'datalen' is the length of * TCP/UDP header + payload. */ void @@ -391,7 +391,7 @@ nm_os_csum_tcpudp_ipv4(struct nm_iphdr *iph, void *data, } /* Compute and insert a TCP/UDP checksum over IPv6: 'ip6h' points to the IPv6 - * header, 'data' points to the TCP/UDP header, 'datalen' is the lenght of + * header, 'data' points to the TCP/UDP header, 'datalen' is the length of * TCP/UDP header + payload. */ void diff --git a/LINUX/netmap_ptnet.c b/LINUX/netmap_ptnet.c index 0ffd7ddf3..b752a8ab9 100644 --- a/LINUX/netmap_ptnet.c +++ b/LINUX/netmap_ptnet.c @@ -776,7 +776,7 @@ ptnet_irqs_init(struct ptnet_info *pi) pi->msix_entries = kzalloc(sizeof(*pi->msix_entries) * pi->num_rings, GFP_KERNEL); if (!pi->msix_entries) { - pr_err("%s: Failed to allocate msix entires\n", __func__); + pr_err("%s: Failed to allocate msix entries\n", __func__); return -ENOMEM; } diff --git a/LINUX/scripts/np b/LINUX/scripts/np index 6164d8b21..274f62310 100755 --- a/LINUX/scripts/np +++ b/LINUX/scripts/np @@ -93,7 +93,7 @@ function need { [ -n "$v" -a -d "$v${2:+/$2}" ] || error "Variable $1 not set or not valid" } -## The following enviroment variables must be set: +## The following environment variables must be set: ## ## GITDIR: the absolute path of the netmap linux ## git repository, containing all the required netmap-* @@ -223,8 +223,8 @@ function get-src() ## ## extend -## checks wether the range of applicability of the -## given can be extented to include . +## checks whether the range of applicability of the +## given can be extended to include . ## It returns 0 on success and 1 on failure. function extend() { @@ -280,7 +280,7 @@ function minimize() # the original patches (in tmp-patches) are ordered by version number. # We consider one patch in turn (the 'pivot') and try # to extend its range to cover the range of the next - # patch. If this succedes, the merged patch is the new + # patch. If this succeeds, the merged patch is the new # pivot, otherwise the current pivot is output and the # next patch becomes the new pivot. The process # is repeated until there are no more patches to consider. @@ -306,7 +306,7 @@ function minimize() # the patch in its final location out=$(scripts/vers vanilla $drv $ple -c $pre -c -S4) cp $pivot final-patches/$out - # the new pivot becames the next patch (if any) + # the new pivot becomes the next patch (if any) pivot=$1 pre=$nre ple=$nle @@ -428,7 +428,7 @@ function check-patch() local v1=$(scripts/vers $_patch -s -p -C) # extract the right version local v2=$(scripts/vers $_patch -s -C) - # extract the uncoverted right version (might be 99999) + # extract the unconverted right version (might be 99999) local end=$(scripts/vers $_patch -s) # extract the driver name local driver=$(scripts/vers $_patch -s -p -p) diff --git a/LINUX/veth_netmap.h b/LINUX/veth_netmap.h index fdd1126e8..dfdce54e8 100644 --- a/LINUX/veth_netmap.h +++ b/LINUX/veth_netmap.h @@ -238,7 +238,7 @@ veth_netmap_attach(struct ifnet *ifp) na.nm_dtor = veth_netmap_dtor; na.num_tx_rings = na.num_rx_rings = 1; netmap_attach_ext(&na, sizeof(struct netmap_veth_adapter), - 0 /* do not ovveride reg */); + 0 /* do not override reg */); } /* end of file */ diff --git a/LINUX/virtio_netmap.h b/LINUX/virtio_netmap.h index bf5e37ff6..0c2eafa4d 100644 --- a/LINUX/virtio_netmap.h +++ b/LINUX/virtio_netmap.h @@ -429,7 +429,7 @@ virtio_netmap_txsync(struct netmap_kring *kring, int flags) virtqueue_kick(vq); /* Update hwcur depending on where we stopped. */ - kring->nr_hwcur = nm_i; /* note we migth break early */ + kring->nr_hwcur = nm_i; /* note we might break early */ } out: /* Ask the hypervisor for notifications, possibly only when it has diff --git a/README.md b/README.md index 0dad76b1e..1d6c99051 100644 --- a/README.md +++ b/README.md @@ -180,7 +180,7 @@ Netmap is able to send packets at very high rates, and for simple packet transmission and reception, speed generally not limited by the CPU but by other factors (link speed, bus or NIC hw limitations). -For a physical link, the maximum numer of packets per second can +For a physical link, the maximum number of packets per second can be computed with the formula: pps = line_rate / (672 + 8 * pkt_size) diff --git a/README.ptnetmap.md b/README.ptnetmap.md index 834e5734e..219597759 100644 --- a/README.ptnetmap.md +++ b/README.ptnetmap.md @@ -146,7 +146,7 @@ support the virtio-net header. Netmap is a framework for high performance network I/O. It exposes an hardware-independent API which allows userspace application to directly interact with NIC hardware rings, in order to receive and transmit Ethernet frames. -Rings are always accessed in the context of system calls and NIC interrups +Rings are always accessed in the context of system calls and NIC interrupts are used to notify applications about NIC processing completion. The performance boost of netmap w.r.t. traditional socket API primarily comes from: (i) batching, since it is possible to send/receive hundreds of packets @@ -227,5 +227,5 @@ A number of device registers are used for configuration (number of rings and slots, device MAC address, supported features, ...) while "kick" registers are used for guest-to-host notifications. The ptnetmap kthread infrastructure, moreover, has been already extended to -suppor an arbitrary number of rings, where currently each ring is served +support an arbitrary number of rings, where currently each ring is served by a different kernel thread. diff --git a/WINDOWS/README.txt b/WINDOWS/README.txt index 1636f89b4..5b1c1cdf9 100644 --- a/WINDOWS/README.txt +++ b/WINDOWS/README.txt @@ -15,7 +15,7 @@ which also build the standard netmap test program, pkt-gen. ports. Performance is similar to that on FreeBSD and Linux: 20Mpps on switch ports, over 100 Mpps on pipes. - To load the module, do the following (as adminstrator) + To load the module, do the following (as administrator) (cd Output-Win8.1Release/netmap-pkg; ./nm-loader l) @@ -42,7 +42,7 @@ which also build the standard netmap test program, pkt-gen. netmap:ethXX as the port name. XX is the Windows "interface index" that - can be shown with the followin command (or many other ways): + can be shown with the following command (or many other ways): netsh int ipv4 show interfaces @@ -82,7 +82,7 @@ a) Build with command line tools and MsBuild.exe make clean # will clean output directories - The output will be found in the directory ./Output- + The output will be found in the directory ./Output- Please look at the makefile to select different configurations @@ -161,7 +161,7 @@ native netmap mode available on FreeBSD and Linux). pkt-gen-b -i vale0:a{1 -f rx NETMAP to HOST ring about 2.3 Mpps if dropped, 1.8Mpps to windump - (replace the '5' with the inteface index from + (replace the '5' with the interface index from netsh int ipv4 show interfaces pkt-gen-b -i netmap:eth5^ -f tx # on one vm diff --git a/WINDOWS/includes/net/ethernet.h b/WINDOWS/includes/net/ethernet.h index 4bb61c550..dc0f635c2 100644 --- a/WINDOWS/includes/net/ethernet.h +++ b/WINDOWS/includes/net/ethernet.h @@ -43,7 +43,7 @@ #define M_HASFCS M_PROTO5 /* FCS included at end of frame */ /* - * Ethernet CRC32 polynomials (big- and little-endian verions). + * Ethernet CRC32 polynomials (big- and little-endian versions). */ #define ETHER_CRC_POLY_LE 0xedb88320 #define ETHER_CRC_POLY_BE 0x04c11db6 diff --git a/WINDOWS/nm-ndis/filter.c b/WINDOWS/nm-ndis/filter.c index a586d4e1f..06ed74ab1 100644 --- a/WINDOWS/nm-ndis/filter.c +++ b/WINDOWS/nm-ndis/filter.c @@ -478,7 +478,7 @@ Routine Description: Arguments: - FilterModuleContext - pointer to the filter context stucture + FilterModuleContext - pointer to the filter context structure PauseParameters - additional information about the pause Return Value: @@ -545,7 +545,7 @@ Routine Description: Arguments: - FilterModuleContext - pointer to the filter context stucture. + FilterModuleContext - pointer to the filter context structure. RestartParameters - additional information about the restart operation. Return Value: @@ -1838,7 +1838,7 @@ Routine Description: calls the NdisFCancelSendNetBufferLists to propagate the cancel operation. If your driver does not queue any send NBLs, you may omit this routine. - NDIS will propagate the cancelation on your behalf more efficiently. + NDIS will propagate the cancellation on your behalf more efficiently. Arguments: diff --git a/apps/dedup/dedup.c b/apps/dedup/dedup.c index 95bdf633a..ffa6f4212 100644 --- a/apps/dedup/dedup.c +++ b/apps/dedup/dedup.c @@ -201,7 +201,7 @@ dedup_fresh_packet(struct dedup *d, const struct netmap_slot *s) rfi -= d->fifo_size; fs = d->fifo_slot + rfi; - ND("checking %lu %lu: lenghts %u %u buf %d", fi, rfi, fs->len, s->len, + ND("checking %lu %lu: lengths %u %u buf %d", fi, rfi, fs->len, s->len, fs->buf_idx); if (fs->len != s->len) @@ -302,7 +302,7 @@ dedup_push_in(struct dedup *d, const struct timeval *now) if (out_space == 0) break; - /* if the FIFO is full, remove and possibily send + /* if the FIFO is full, remove and possibly send * the oldest packet */ if (dedup_fifo_full(d)) { diff --git a/apps/lb/lb.c b/apps/lb/lb.c index 37fe97cc6..778360d9e 100644 --- a/apps/lb/lb.c +++ b/apps/lb/lb.c @@ -498,7 +498,7 @@ init_groups(void) * when the need to drop arises, we roll it back to head. */ struct morefrag { - uint16_t last_flag; /* for intput rings */ + uint16_t last_flag; /* for input rings */ uint32_t last_hash; /* for input rings */ uint32_t shadow_head; /* for output rings */ }; diff --git a/apps/pkt-gen/pkt-gen.c b/apps/pkt-gen/pkt-gen.c index 559036faa..15909300e 100644 --- a/apps/pkt-gen/pkt-gen.c +++ b/apps/pkt-gen/pkt-gen.c @@ -3149,7 +3149,7 @@ main(int arc, char **argv) if (g.virt_header) { /* Set the virtio-net header length, since the user asked - * for it explicitely. */ + * for it explicitly. */ set_vnet_hdr_len(&g); } else { /* Check whether the netmap port we opened requires us to send diff --git a/apps/tlem/tlem.c b/apps/tlem/tlem.c index 7fd655e77..0913fee7a 100644 --- a/apps/tlem/tlem.c +++ b/apps/tlem/tlem.c @@ -64,7 +64,7 @@ In order to get good and predictable performance, it is important that threads are pinned to a single core, and it is preferable that prod() and cons() for each direction share the cache as much as possible. Putting them on two hyperthreads of the same core seems to give -good results but that shoud be investigated further. +good results but that should be investigated further. It also seems useful to use a scheduler (SCHED_FIFO or SCHED_RR) that gives more predictable cycles to the CPU, as well as try @@ -100,7 +100,7 @@ prod() q-c_reorder (set with the -R command line option) decides whether the packet should be temporary hold to emulate - packet reordering. To hold a packet, it shuld set + packet reordering. To hold a packet, it should set q->cur_hold_delay to a non-zero value. The packet will reenter the stream once the cur_hold_delay has expired. @@ -546,7 +546,7 @@ ec_next(int i) /* if fname is NULL tlem will run standalone, i.e., in server mode * with no possibility for clients to change the configuration. - * Otherwise, the first tlem instance that successully locks the + * Otherwise, the first tlem instance that successfully locks the * first four bytes of the configuration file becomes the server. * Clients write-lock the rest of the file, to guarantee mutual * exclusive configuration updates among them. @@ -663,7 +663,7 @@ ec_allowclients() return 0; } -static void ec_activate(struct _qs *q); // foward +static void ec_activate(struct _qs *q); // forward static int ec_init(struct _qs *q, struct _ecs *ec, int server) { @@ -863,7 +863,7 @@ struct arp_cmd_q { uint64_t tail ALIGN_CACHE; /* private to the producer */ }; -/* consumer: extract a new command. The command slot is not immediatly +/* consumer: extract a new command. The command slot is not immediately * released, so that at most ARP_CMD_QSIZE messages are read for each * cons() loop. */ @@ -1193,7 +1193,7 @@ setaffinity(int i) } maxprio = sched_get_priority_max(SCHED_RR); if (maxprio < 0) { - ED("Unable to retrive max RR priority, using 10"); + ED("Unable to retrieve max RR priority, using 10"); maxprio = 10; } bzero(&p, sizeof(p)); @@ -1774,7 +1774,7 @@ cons_update_macs(struct pipe_args *pa, void *pkt) injected = 1; } } - /* copy negated dst into eh (either brodcast or unicast) */ + /* copy negated dst into eh (either broadcast or unicast) */ *(uint32_t *)eh = ~e->eth1; *(uint16_t *)((char *)eh + 4) = ~e->eth2; /* copy local MAC address into source */ @@ -2238,7 +2238,7 @@ set_max(const char *arg, struct _qs *q) return 0; } -/* otions that can be specified for each direction */ +/* options that can be specified for each direction */ struct dir_opt { char opt; int flags; @@ -2434,7 +2434,7 @@ main(int argc, char **argv) argc -= optind; argv += optind; - /* map the session area and auto-detect wether we are server or client */ + /* map the session area and auto-detect whether we are server or client */ ecf = ec_map(sfname, &server); if (ecf == NULL) exit(1); diff --git a/apps/vale-ctl/vale-ctl.4 b/apps/vale-ctl/vale-ctl.4 index 09ba27121..a2ea6d693 100644 --- a/apps/vale-ctl/vale-ctl.4 +++ b/apps/vale-ctl/vale-ctl.4 @@ -97,7 +97,7 @@ The name must be different from any other network interface already present in the system. .It Fl r Ar interface Destroy the persistent VALE port with name -.Ar inteface . +.Ar interface . .It Fl l Ar valeSSS:PPP Show the internal bridge number and port number of the given switch port. .It Fl p Ar valeSSS:PPP @@ -150,7 +150,7 @@ Using this option you can let them share memory with other ports. Pass 1 as .Ar memid to use the global memory region already shared by all -harware netmap ports. +hardware netmap ports. .El .Sh SEE ALSO .Xr netmap 4 , diff --git a/extra/python/pktman.py b/extra/python/pktman.py index 4df06ada8..daa9f2429 100755 --- a/extra/python/pktman.py +++ b/extra/python/pktman.py @@ -235,7 +235,7 @@ def receive(idx, ifname, args, parser, queue): job = multiprocessing.Process(name = 'worker-' + str(i), target = handler[args.function], args = (ring_id, ifname, args, parser, queue)) - job.deamon = True # ensure work termination + job.daemon = True # ensure work termination jobs.append(job) # start all the workers diff --git a/libnetmap/libnetmap.h b/libnetmap/libnetmap.h index 984ca3795..62fa36996 100644 --- a/libnetmap/libnetmap.h +++ b/libnetmap/libnetmap.h @@ -417,7 +417,7 @@ struct nmreq_pools_info* nmport_extmem_getinfo(struct nmport_d *d); * @initial the initial offset for all the slots * @maxoff the maximum offset * @bits the number of bits of slot->ptr to use for the offsets - * @mingap the minimum gap betwen offsets (in shared buffers) + * @mingap the minimum gap between offsets (in shared buffers) * * With this option the lower @bits bits of the ptr field in the netmap_slot * can be used to specify an offset into the buffer. All offsets will be set @@ -439,7 +439,7 @@ struct nmreq_pools_info* nmport_extmem_getinfo(struct nmport_d *d); * starting o bytes in the buffer. Note that the address of the packet must * comply with any alignment constraints that the port may have, or the result * will be undefined. The user may read the alignment constraint in the new - * ring->buf_align field. It is also possibile that empty slots already come + * ring->buf_align field. It is also possible that empty slots already come * with a non-zero offset o specified in the offset field. In this case, the * user will have to write the packet at an offset o' >= o. * diff --git a/sys/dev/netmap/if_vtnet_netmap.h b/sys/dev/netmap/if_vtnet_netmap.h index cd652938b..a05781255 100644 --- a/sys/dev/netmap/if_vtnet_netmap.h +++ b/sys/dev/netmap/if_vtnet_netmap.h @@ -114,7 +114,7 @@ vtnet_netmap_txsync(struct netmap_kring *kring, int flags) virtqueue_notify(vq); /* Update hwcur depending on where we stopped. */ - kring->nr_hwcur = nm_i; /* note we migth break early */ + kring->nr_hwcur = nm_i; /* note we might break early */ } /* Free used slots. We only consider our own used buffers, recognized diff --git a/sys/dev/netmap/netmap.c b/sys/dev/netmap/netmap.c index a9ddb5fb5..4835c47d2 100644 --- a/sys/dev/netmap/netmap.c +++ b/sys/dev/netmap/netmap.c @@ -193,7 +193,7 @@ ports attached to the switch) * always attached to a bridge. * Persistent VALE ports must must be created separately, and i * then attached like normal NICs. The NIOCREGIF we are examining - * will find them only if they had previosly been created and + * will find them only if they had previously been created and * attached (see VALE_CTL below). * * - netmap_pipe_adapter [netmap_pipe.c] @@ -994,7 +994,7 @@ netmap_mem_restore(struct netmap_adapter *na) static void netmap_mem_drop(struct netmap_adapter *na) { - /* if the native allocator had been overrided on regif, + /* if the native allocator had been overridden on regif, * restore it now and drop the temporary one */ if (netmap_mem_deref(na->nm_mem, na)) { @@ -1072,7 +1072,7 @@ netmap_do_unregif(struct netmap_priv_d *priv) } } - /* possibily decrement counter of tx_si/rx_si users */ + /* possibly decrement counter of tx_si/rx_si users */ netmap_unset_ringid(priv); /* delete the nifp */ netmap_mem_if_delete(na, priv->np_nifp); @@ -1154,7 +1154,7 @@ netmap_dtor(void *data) * they will be forwarded to the hw TX rings, saving the application * from doing the same task in user-space. * - * Transparent fowarding can be enabled per-ring, by setting the NR_FORWARD + * Transparent forwarding can be enabled per-ring, by setting the NR_FORWARD * flag, or globally with the netmap_fwd sysctl. * * The transfer NIC --> host is relatively easy, just encapsulate @@ -1618,7 +1618,7 @@ netmap_get_na(struct nmreq_header *hdr, netmap_adapter_get(ret); /* - * if the adapter supports the host rings and it is not alread open, + * if the adapter supports the host rings and it is not already open, * try to set the number of host rings as requested by the user */ if (((*na)->na_flags & NAF_HOST_RINGS) && (*na)->active_fds == 0) { @@ -2042,7 +2042,7 @@ netmap_krings_get(struct netmap_priv_d *priv) priv->np_qlast[NR_RX]); /* first round: check that all the requested rings - * are neither alread exclusively owned, nor we + * are neither already exclusively owned, nor we * want exclusive ownership when they are already in use */ foreach_selected_ring(priv, t, i, kring) { @@ -2597,7 +2597,7 @@ netmap_do_regif(struct netmap_priv_d *priv, struct netmap_adapter *na, if (error) goto err_rel_excl; - /* compute and validate the buf lenghts */ + /* compute and validate the buf lengths */ error = netmap_compute_buf_len(priv); if (error) goto err_rel_excl; @@ -2719,7 +2719,7 @@ netmap_ioctl(struct netmap_priv_d *priv, u_long cmd, caddr_t data, } /* Make a kernel-space copy of the user-space nr_body. - * For convenince, the nr_body pointer and the pointers + * For convenience, the nr_body pointer and the pointers * in the options list will be replaced with their * kernel-space counterparts. The original pointers are * saved internally and later restored by nmreq_copyout @@ -3312,7 +3312,7 @@ nmreq_opt_size_by_type(uint32_t nro_reqtype, uint64_t nro_size) * The list of options is copied and the pointers adjusted. The * original pointers are saved before the option they belonged. * - * The option table has an entry for every availabe option. Entries + * The option table has an entry for every available option. Entries * for options that have not been passed contain NULL. * */ diff --git a/sys/dev/netmap/netmap_bdg.c b/sys/dev/netmap/netmap_bdg.c index 8701d9daf..729aee7f6 100644 --- a/sys/dev/netmap/netmap_bdg.c +++ b/sys/dev/netmap/netmap_bdg.c @@ -951,7 +951,7 @@ nm_bdg_ctl_polling_stop(struct netmap_adapter *na) bps->configured = false; nm_os_free(bps); bna->na_polling_state = NULL; - /* reenable interrupts */ + /* re-enable interrupts */ nma_intr_enable(bna->hwna, 1); return 0; } diff --git a/sys/dev/netmap/netmap_freebsd.c b/sys/dev/netmap/netmap_freebsd.c index a47cb508d..de3fbaaff 100644 --- a/sys/dev/netmap/netmap_freebsd.c +++ b/sys/dev/netmap/netmap_freebsd.c @@ -264,7 +264,7 @@ nm_os_csum_tcpudp_ipv4(struct nm_iphdr *iph, void *data, #ifdef INET uint16_t pseudolen = datalen + iph->protocol; - /* Compute and insert the pseudo-header cheksum. */ + /* Compute and insert the pseudo-header checksum. */ *check = in_pseudo(iph->saddr, iph->daddr, htobe16(pseudolen)); /* Compute the checksum on TCP/UDP header + payload diff --git a/sys/dev/netmap/netmap_generic.c b/sys/dev/netmap/netmap_generic.c index f99957673..2068e9fd4 100644 --- a/sys/dev/netmap/netmap_generic.c +++ b/sys/dev/netmap/netmap_generic.c @@ -446,7 +446,7 @@ generic_mbuf_destructor(struct mbuf *m) /* * First, clear the event mbuf. * In principle, the event 'm' should match the one stored - * on ring 'r'. However we check it explicitely to stay + * on ring 'r'. However we check it explicitly to stay * safe against lower layers (qdisc, driver, etc.) changing * MBUF_TXQ(m) under our feet. If the match is not found * on 'r', we try to see if it belongs to some other ring. diff --git a/sys/dev/netmap/netmap_kern.h b/sys/dev/netmap/netmap_kern.h index 0239a3852..cc452657d 100644 --- a/sys/dev/netmap/netmap_kern.h +++ b/sys/dev/netmap/netmap_kern.h @@ -294,7 +294,7 @@ struct nm_bridge; struct netmap_priv_d; struct nm_bdg_args; -/* os-specific NM_SELINFO_T initialzation/destruction functions */ +/* os-specific NM_SELINFO_T initialization/destruction functions */ int nm_os_selinfo_init(NM_SELINFO_T *, const char *name); void nm_os_selinfo_uninit(NM_SELINFO_T *); @@ -485,7 +485,7 @@ struct netmap_kring { struct netmap_adapter *na; /* the adapter that wants to be notified when this kring has - * new slots avaialable. This is usually the same as the above, + * new slots available. This is usually the same as the above, * but wrappers may let it point to themselves */ struct netmap_adapter *notify_na; @@ -562,7 +562,7 @@ struct netmap_kring { */ uint64_t hwbuf_len; - /* required aligment (in bytes) for the buffers used by this ring. + /* required alignment (in bytes) for the buffers used by this ring. * Netmap buffers are aligned to cachelines, which should suffice * for most NICs. If the user is passing offsets, though, we need * to check that the resulting buf address complies with any @@ -570,7 +570,7 @@ struct netmap_kring { */ uint64_t buf_align; - /* harware specific logic for the selection of the hwbuf_len */ + /* hardware specific logic for the selection of the hwbuf_len */ int (*nm_bufcfg)(struct netmap_kring *kring, uint64_t target); int (*save_notify)(struct netmap_kring *kring, int flags); @@ -709,7 +709,7 @@ struct nm_config_info { /* * default type for the magic field. - * May be overriden in glue code. + * May be overridden in glue code. */ #ifndef NM_OS_MAGIC #define NM_OS_MAGIC uint32_t @@ -827,7 +827,7 @@ struct netmap_adapter { * (l) and kring->buf_align fields. The l value is most important * for RX rings, where we want to disallow writes outside of the * netmap buffer. The l value must be computed taking into account - * the stipulated max_offset (o), possibily increased if there are + * the stipulated max_offset (o), possibly increased if there are * alignment constraints, the maxframe (m), if known, and the * current NETMAP_BUF_SIZE (b) of the memory region used by the * adapter. We want the largest supported l such that o + l <= b. @@ -1680,7 +1680,7 @@ extern int netmap_debug; /* for debugging */ #define netmap_debug (0) #endif /* !CONFIG_NETMAP_DEBUG */ enum { /* debug flags */ - NM_DEBUG_ON = 1, /* generic debug messsages */ + NM_DEBUG_ON = 1, /* generic debug messages */ NM_DEBUG_HOST = 0x2, /* debug host stack */ NM_DEBUG_RXSYNC = 0x10, /* debug on rxsync/txsync */ NM_DEBUG_TXSYNC = 0x20, diff --git a/sys/dev/netmap/netmap_kloop.c b/sys/dev/netmap/netmap_kloop.c index 0b89d89bf..8d9edd4be 100644 --- a/sys/dev/netmap/netmap_kloop.c +++ b/sys/dev/netmap/netmap_kloop.c @@ -222,7 +222,7 @@ netmap_sync_kloop_tx_ring(const struct sync_kloop_ring_args *a) if (unlikely(kring->nm_sync(kring, shadow_ring.flags))) { if (!a->busy_wait) { - /* Reenable notifications. */ + /* Re-enable notifications. */ csb_ktoa_kick_enable(csb_ktoa, 1); } nm_prerr("txsync() failed"); @@ -267,7 +267,7 @@ netmap_sync_kloop_tx_ring(const struct sync_kloop_ring_args *a) * go to sleep, waiting for a kick from the application when new * new slots are ready for transmission. */ - /* Reenable notifications. */ + /* Re-enable notifications. */ csb_ktoa_kick_enable(csb_ktoa, 1); /* Double check, with store-load memory barrier. */ nm_stld_barrier(); @@ -356,7 +356,7 @@ netmap_sync_kloop_rx_ring(const struct sync_kloop_ring_args *a) if (unlikely(kring->nm_sync(kring, shadow_ring.flags))) { if (!a->busy_wait) { - /* Reenable notifications. */ + /* Re-enable notifications. */ csb_ktoa_kick_enable(csb_ktoa, 1); } nm_prerr("rxsync() failed"); @@ -402,7 +402,7 @@ netmap_sync_kloop_rx_ring(const struct sync_kloop_ring_args *a) * go to sleep, waiting for a kick from the application when new receive * slots are available. */ - /* Reenable notifications. */ + /* Re-enable notifications. */ csb_ktoa_kick_enable(csb_ktoa, 1); /* Double check, with store-load memory barrier. */ nm_stld_barrier(); @@ -1000,7 +1000,7 @@ netmap_pt_guest_txsync(struct nm_csb_atok *atok, struct nm_csb_ktoa *ktoa, * space is available. */ if (nm_kr_wouldblock(kring) && !(kring->nr_kflags & NKR_NOINTR)) { - /* Reenable notifications. */ + /* Re-enable notifications. */ atok->appl_need_kick = 1; /* Double check, with store-load memory barrier. */ nm_stld_barrier(); @@ -1061,7 +1061,7 @@ netmap_pt_guest_rxsync(struct nm_csb_atok *atok, struct nm_csb_ktoa *ktoa, * completed. */ if (nm_kr_wouldblock(kring) && !(kring->nr_kflags & NKR_NOINTR)) { - /* Reenable notifications. */ + /* Re-enable notifications. */ atok->appl_need_kick = 1; /* Double check, with store-load memory barrier. */ nm_stld_barrier(); diff --git a/sys/dev/netmap/netmap_mem2.c b/sys/dev/netmap/netmap_mem2.c index 069e0fa75..5edfc38e1 100644 --- a/sys/dev/netmap/netmap_mem2.c +++ b/sys/dev/netmap/netmap_mem2.c @@ -167,7 +167,7 @@ struct netmap_mem_d { u_int flags; #define NETMAP_MEM_FINALIZED 0x1 /* preallocation done */ -#define NETMAP_MEM_HIDDEN 0x8 /* beeing prepared */ +#define NETMAP_MEM_HIDDEN 0x8 /* being prepared */ #define NETMAP_MEM_NOMAP 0x10 /* do not map/unmap pdevs */ int lasterr; /* last error for curr config */ int active; /* active users */ @@ -176,7 +176,7 @@ struct netmap_mem_d { struct netmap_obj_pool pools[NETMAP_POOLS_NR]; nm_memid_t nm_id; /* allocator identifier */ - int nm_grp; /* iommu groupd id */ + int nm_grp; /* iommu group id */ /* list of all existing allocators, sorted by nm_id */ struct netmap_mem_d *prev, *next; @@ -856,7 +856,7 @@ netmap_mem2_ofstophys(struct netmap_mem_d* nmd, vm_ooffset_t offset) * * 2a - cycle all the objects in every pool, get the list * of the physical address descriptors - * 2b - calculate the offset in the array of pages desciptor in the + * 2b - calculate the offset in the array of pages descriptor in the * main MDL * 2c - copy the descriptors of the object in the main MDL * @@ -1408,7 +1408,7 @@ netmap_finalize_obj_allocator(struct netmap_obj_pool *p) if (p->lut) { /* if the lut is already there we assume that also all the - * clusters have already been allocated, possibily by somebody + * clusters have already been allocated, possibly by somebody * else (e.g., extmem). In the latter case, the alloc_done flag * will remain at zero, so that we will not attempt to * deallocate the clusters by ourselves in @@ -1984,7 +1984,7 @@ netmap_mem2_rings_create(struct netmap_mem_d *nmd, struct netmap_adapter *na) u_int len, ndesc; if (!netmap_mem_ring_needed(kring)) { - /* uneeded, or already created by somebody else */ + /* unneeded, or already created by somebody else */ if (netmap_debug & NM_DEBUG_MEM) nm_prinf("NOT creating ring %s (ring %p, users %d neekring %d)", kring->name, ring, kring->users, kring->nr_kflags & NKR_NEEDRING); diff --git a/sys/dev/netmap/netmap_mem2.h b/sys/dev/netmap/netmap_mem2.h index c0e039b42..61eeb4569 100644 --- a/sys/dev/netmap/netmap_mem2.h +++ b/sys/dev/netmap/netmap_mem2.h @@ -57,7 +57,7 @@ * of the object, and from there locate the offset from the beginning * of the region. * - * The invididual allocators manage a pool of memory for objects of + * The individual allocators manage a pool of memory for objects of * the same size. * The pool is split into smaller clusters, whose size is a * multiple of the page size. The cluster size is chosen @@ -70,7 +70,7 @@ * Allocation scans the bitmap; this is done only on attach, so we are not * too worried about performance * - * For each allocator we can define (thorugh sysctl) the size and + * For each allocator we can define (through sysctl) the size and * number of each object. Memory is allocated at the first use of a * netmap file descriptor, and can be freed when all such descriptors * have been released (including unmapping the memory). diff --git a/sys/dev/netmap/netmap_monitor.c b/sys/dev/netmap/netmap_monitor.c index 9e5d57f7f..4827c2a75 100644 --- a/sys/dev/netmap/netmap_monitor.c +++ b/sys/dev/netmap/netmap_monitor.c @@ -483,7 +483,7 @@ netmap_monitor_stop(struct netmap_adapter *na) netmap_adapter_put(next->priv.np_na); /* nop if null */ next->priv.np_na = NULL; } - /* orhpan the zmon list */ + /* orphan the zmon list */ if (z->next != NULL) z->next->zmon_list[t].prev = NULL; z->next = NULL; @@ -601,7 +601,7 @@ netmap_zmon_parent_sync(struct netmap_kring *kring, int flags, enum txrx tx) mring = mkring->ring; mlim = mkring->nkr_num_slots - 1; - /* get the relased slots (rel_slots) */ + /* get the released slots (rel_slots) */ if (tx == NR_TX) { beg = kring->nr_hwtail + 1; error = kring->mon_sync(kring, flags); diff --git a/sys/dev/netmap/netmap_vale.c b/sys/dev/netmap/netmap_vale.c index db3321a4f..aac4cfe67 100644 --- a/sys/dev/netmap/netmap_vale.c +++ b/sys/dev/netmap/netmap_vale.c @@ -578,7 +578,7 @@ do { \ static __inline uint32_t nm_vale_rthash(const uint8_t *addr) { - uint32_t a = 0x9e3779b9, b = 0x9e3779b9, c = 0; // hask key + uint32_t a = 0x9e3779b9, b = 0x9e3779b9, c = 0; // hash key b += addr[5] << 8; b += addr[4]; @@ -1369,7 +1369,7 @@ nm_vi_destroy(const char *name) goto err; } - /* also make sure that nobody is using the inferface */ + /* also make sure that nobody is using the interface */ if (NETMAP_OWNED_BY_ANY(&vpna->up) || vpna->up.na_refcount > 1 /* any ref besides the one in nm_vi_create()? */) { error = EBUSY; diff --git a/sys/net/netmap.h b/sys/net/netmap.h index 6bd9e0205..6561174e0 100644 --- a/sys/net/netmap.h +++ b/sys/net/netmap.h @@ -147,7 +147,7 @@ * netmap:foo*, or another registration should be done to open at least a * NIC TX queue in netmap mode. * - * + Netmap is not currently able to deal with intercepted trasmit mbufs which + * + Netmap is not currently able to deal with intercepted transmit mbufs which * require offloadings like TSO, UFO, checksumming offloadings, etc. It is * responsibility of the user to disable those offloadings (e.g. using * ifconfig on FreeBSD or ethtool -K on Linux) for an interface that is being @@ -311,7 +311,7 @@ struct netmap_ring { /* the alignment requirement, in bytes, for the start * of the packets inside the buffers. * User programs should take this alignment into - * account when specifing buffer-offsets in TX slots. + * account when specifying buffer-offsets in TX slots. */ const uint64_t buf_align; @@ -494,7 +494,7 @@ struct netmap_if { /* Header common to all request options. */ struct nmreq_option { - /* Pointer ot the next option. */ + /* Pointer to the next option. */ uint64_t nro_next; /* Option type. */ uint32_t nro_reqtype; @@ -980,7 +980,7 @@ struct nmreq_opt_offsets { /* optional initial offset value, to be set in all slots. */ uint64_t nro_initial_offset; /* number of bits in the lower part of the 'ptr' field to be - * used as the offset field. On output the (possibily larger) + * used as the offset field. On output the (possibly larger) * effective number of bits is returned. * 0 means: use the whole ptr field. */ diff --git a/sys/net/netmap_user.h b/sys/net/netmap_user.h index fda076497..27f8592ee 100644 --- a/sys/net/netmap_user.h +++ b/sys/net/netmap_user.h @@ -55,7 +55,7 @@ * To compute the next index in a circular ring you can use * i = nm_ring_next(ring, i); * - * To ease porting apps from pcap to netmap we supply a few fuctions + * To ease porting apps from pcap to netmap we supply a few functions * that can be called to open, close, read and write on netmap in a way * similar to libpcap. Note that the read/write function depend on * an ioctl()/select()/poll() being issued to refill rings or push @@ -133,7 +133,7 @@ ((offset) & (ring)->offset_mask); } while (0) /* obtain the start of the buffer pointed to by a ring's slot, taking the - * offset field into accout + * offset field into account */ #define NETMAP_BUF_OFFSET(ring, slot) \ (NETMAP_BUF(ring, (slot)->buf_idx) + NETMAP_ROFFSET(ring, slot)) @@ -322,7 +322,7 @@ typedef void (*nm_cb_t)(u_char *, const struct nm_pkthdr *, const u_char *d); * nm_open() opens a file descriptor, binds to a port and maps memory. * * ifname (netmap:foo or vale:foo) is the port name - * a suffix can indicate the follwing: + * a suffix can indicate the following: * ^ bind the host (sw) ring pair * * bind host and NIC ring pairs * -NN bind individual NIC ring pair @@ -701,7 +701,7 @@ nm_parse(const char *ifname, struct nm_desc *d, char *err) nr_flags = NR_REG_PIPE_MASTER; p_state = P_GETNUM; break; - case '}': /* pipe (slave endoint) */ + case '}': /* pipe (slave endpoint) */ nr_flags = NR_REG_PIPE_SLAVE; p_state = P_GETNUM; break; diff --git a/utils/ctrl-api-test.c b/utils/ctrl-api-test.c index fac920547..41e75ab1f 100644 --- a/utils/ctrl-api-test.c +++ b/utils/ctrl-api-test.c @@ -842,7 +842,7 @@ pipe_slave(struct TestContext *ctx) } /* Test PORT_INFO_GET and POOLS_INFO_GET on a pipe. This is useful to test the - * registration request used internall by netmap. */ + * registration request used internally by netmap. */ static int pipe_port_info_get(struct TestContext *ctx) { @@ -1761,7 +1761,7 @@ static struct nmreq_parse_test nmreq_parse_tests[] = { * err > 0 => nmreq_header_parse should fail with the given error * err < 0 => nrmeq_header_parse should succeed, but nmreq_register_decode should * fail with error |err| - * err = 0 => should succeeed + * err = 0 => should succeed * - mode, ringid flags: what should go into the corresponding nr_* fields in the * nmreq_register struct in case of success */ @@ -1898,7 +1898,7 @@ nmreq_reg_parsing(struct TestContext *ctx, } return 0; } - printf ("!!! parse failed but it should have succeded\n"); + printf ("!!! parse failed but it should have succeeded\n"); return -1; } if (t->exp_error < 0) { @@ -1950,7 +1950,7 @@ nmreq_parsing(struct TestContext *ctx) nmctx = nmctx_get(); if (nmctx == NULL) { - printf("Failed to aquire nmctx: %s", strerror(errno)); + printf("Failed to acquire nmctx: %s", strerror(errno)); return -1; } test_nmctx = *nmctx; diff --git a/utils/fd_server-legacy.c b/utils/fd_server-legacy.c index b895b99ed..2f2862a11 100644 --- a/utils/fd_server-legacy.c +++ b/utils/fd_server-legacy.c @@ -239,7 +239,7 @@ handle_request(int accept_socket, int listen_socket) ret = send_fd(accept_socket, fd, &res, sizeof(struct fd_response)); if (ret == -1) { - printf("error while sending the reponse\n"); + printf("error while sending the response\n"); } return ret; } diff --git a/utils/fd_server.c b/utils/fd_server.c index ea882d17a..61a0dc9fc 100644 --- a/utils/fd_server.c +++ b/utils/fd_server.c @@ -262,7 +262,7 @@ handle_request(int accept_socket, int listen_socket) ret = send_fd(accept_socket, fd, &res, sizeof(res)); if (ret == -1) { - msg("error while sending the reponse\n"); + msg("error while sending the response\n"); } return ret; } diff --git a/utils/functional-legacy.c b/utils/functional-legacy.c index 6c6c6eec2..7b84823de 100644 --- a/utils/functional-legacy.c +++ b/utils/functional-legacy.c @@ -661,7 +661,7 @@ rx(struct Global *g, unsigned packets_num) goto again; } - /* As soon as we find a packet wich doesn't match our + /* As soon as we find a packet which doesn't match our * packet model we exit with status EXIT_FAILURE. */ if (rx_check(g)) { @@ -794,7 +794,7 @@ usage(FILE *stream) " [-F MAX_FRAGMENT_SIZE (=inf)]\n" " [-T TIMEOUT_SECS (=1)]\n" " [-w WAIT_FOR_LINK_SECS (=0)]\n" - " [-t LEN[:FILLCHAR[:NUM]] (trasmit NUM packets with size " + " [-t LEN[:FILLCHAR[:NUM]] (transmit NUM packets with size " "LEN bytes)]\n" " [-r LEN[:FILLCHAR[:NUM]] (expect to receive NUM packets " "with size LEN bytes)]\n" @@ -1040,7 +1040,7 @@ stop_fd_server(struct Global *g) socket_fd = connect_to_fd_server(g); if (socket_fd == -1) { verbose_print(g->verbosity_level, LV_DEBUG_SEND_RECV, - "fd_server alredy down\n"); + "fd_server already down\n"); return; } verbose_print(g->verbosity_level, LV_DEBUG_SEND_RECV, @@ -1055,7 +1055,7 @@ stop_fd_server(struct Global *g) /* By calling recv() we synchronize with the fd_server closing the * socket. * This way we're sure that during the next call to ./functional - * the fd_server has alredy closed its end and we avoid a possible race + * the fd_server has already closed its end and we avoid a possible race * condition. Otherwise the call to functional might connect to the * previous fd_server backlog. */ @@ -1159,7 +1159,7 @@ swap_in_extra_buffers(struct Global *g) /* We only re-build the extra buffers list, as requested from netmap. We don't * undo the swapping that we did at the start of the program to swap in the - * extra buffer. This probably leaves the netmap adapter in an incosistent + * extra buffer. This probably leaves the netmap adapter in an inconsistent * state, that's why we only support this option for interfaces requested * directly. */ diff --git a/utils/functional.c b/utils/functional.c index 231a271a6..ed20fd920 100644 --- a/utils/functional.c +++ b/utils/functional.c @@ -659,7 +659,7 @@ rx(struct Global *g, unsigned packets_num) goto again; } - /* As soon as we find a packet wich doesn't match our + /* As soon as we find a packet which doesn't match our * packet model we exit with status EXIT_FAILURE. */ if (rx_check(g)) { @@ -792,7 +792,7 @@ usage(FILE *stream) " [-F MAX_FRAGMENT_SIZE (=inf)]\n" " [-T TIMEOUT_SECS (=1)]\n" " [-w WAIT_FOR_LINK_SECS (=0)]\n" - " [-t LEN[:FILLCHAR[:NUM]] (trasmit NUM packets with size " + " [-t LEN[:FILLCHAR[:NUM]] (transmit NUM packets with size " "LEN bytes)]\n" " [-r LEN[:FILLCHAR[:NUM]] (expect to receive NUM packets " "with size LEN bytes)]\n" @@ -1008,7 +1008,7 @@ stop_fd_server(struct Global *g) socket_fd = connect_to_fd_server(g); if (socket_fd == -1) { verbose_print(g->verbosity_level, LV_DEBUG_SEND_RECV, - "fd_server alredy down\n"); + "fd_server already down\n"); return; } verbose_print(g->verbosity_level, LV_DEBUG_SEND_RECV, @@ -1023,7 +1023,7 @@ stop_fd_server(struct Global *g) /* By calling recv() we synchronize with the fd_server closing the * socket. * This way we're sure that during the next call to ./functional - * the fd_server has alredy closed its end and we avoid a possible race + * the fd_server has already closed its end and we avoid a possible race * condition. Otherwise the call to functional might connect to the * previous fd_server backlog. */ @@ -1127,7 +1127,7 @@ swap_in_extra_buffers(struct Global *g) /* We only re-build the extra buffers list, as requested from netmap. We don't * undo the swapping that we did at the start of the program to swap in the - * extra buffer. This probably leaves the netmap adapter in an incosistent + * extra buffer. This probably leaves the netmap adapter in an inconsistent * state, that's why we only support this option for interfaces requested * directly. */ diff --git a/utils/switch-modules/ovs-2.4.0/0001-datapath-netmap-VALE-support.patch b/utils/switch-modules/ovs-2.4.0/0001-datapath-netmap-VALE-support.patch index e1fd4f2a7..dcf26b660 100644 --- a/utils/switch-modules/ovs-2.4.0/0001-datapath-netmap-VALE-support.patch +++ b/utils/switch-modules/ovs-2.4.0/0001-datapath-netmap-VALE-support.patch @@ -15,7 +15,7 @@ index 000000000..664078ed3 +This file explains how to install and use the Open vSwitch with VALE. + +The VALE support for Open vSwitch is **experimental**: it has not -+been throughly tested. ++been thoroughly tested. +It currently supports only netdev (including internal one) and VXLAN +vport types. + @@ -60,7 +60,7 @@ index 000000000..664078ed3 +# modprobe netmap +# modprobe openvswitch + -+(2) Run the openvswitch deamon. This step may be performed differently on ++(2) Run the openvswitch daemon. This step may be performed differently on +different distributions. Refer to the OVS documentation. + +(3) Create an OVS bridge: @@ -77,7 +77,7 @@ index 000000000..664078ed3 +# ovs-vsctl add-port br0 vi0 +# ovs-vsctl add-port br0 vi1 + -+(6) Add some OpenFlow rules, to forward traffic betweeen vi0 and vi1 ++(6) Add some OpenFlow rules, to forward traffic between vi0 and vi1 +(assuming the port identifiers are 1 and 2): + +# ovs-ofctl add-flow br0 in_port=1,actions=output:2 diff --git a/utils/switch-modules/ovs-2.6.1/0001-datapath-netmap-VALE-support.patch b/utils/switch-modules/ovs-2.6.1/0001-datapath-netmap-VALE-support.patch index 1372e0dd5..e37518c56 100644 --- a/utils/switch-modules/ovs-2.6.1/0001-datapath-netmap-VALE-support.patch +++ b/utils/switch-modules/ovs-2.6.1/0001-datapath-netmap-VALE-support.patch @@ -15,7 +15,7 @@ index 000000000..7cf02e45e +This file explains how to install and use the Open vSwitch with VALE. + +The VALE support for Open vSwitch is **experimental**: it has not -+been throughly tested. ++been thoroughly tested. +It currently supports only netdev (including internal one) and VXLAN +vport types. + @@ -60,7 +60,7 @@ index 000000000..7cf02e45e +# modprobe netmap +# modprobe openvswitch + -+(2) Run the openvswitch deamon. This step may be performed differently on ++(2) Run the openvswitch daemon. This step may be performed differently on +different distributions. Refer to the OVS documentation. + +(3) Create an OVS bridge: @@ -77,7 +77,7 @@ index 000000000..7cf02e45e +# ovs-vsctl add-port br0 vi0 +# ovs-vsctl add-port br0 vi1 + -+(6) Add some OpenFlow rules, to forward traffic betweeen vi0 and vi1 ++(6) Add some OpenFlow rules, to forward traffic between vi0 and vi1 +(assuming the port identifiers are 1 and 2): + +# ovs-ofctl add-flow br0 in_port=1,actions=output:2