aboutsummaryrefslogtreecommitdiffstats
path: root/vnet/vnet/devices/netmap/netmap.c
diff options
context:
space:
mode:
authorDamjan Marion <damarion@cisco.com>2016-08-17 17:05:46 +0200
committerDave Barach <openvpp@barachs.net>2016-08-17 18:28:43 +0000
commit00a9dcad03eaab34e03b71e3af071a62e3406b0d (patch)
treee04d2c6d6cc318ea8eb2e4d1566cb83b52593461 /vnet/vnet/devices/netmap/netmap.c
parent5a5f5aac91426d97eccfa353b5ebbe99d09f2e3f (diff)
Coding standards cleanup in vnet/vnet/devices, fixes VPP-248
Change-Id: I35cf89bf1aa54b76294876e9feb0ed0ccc316975 Signed-off-by: Damjan Marion <damarion@cisco.com>
Diffstat (limited to 'vnet/vnet/devices/netmap/netmap.c')
-rw-r--r--vnet/vnet/devices/netmap/netmap.c187
1 files changed, 103 insertions, 84 deletions
diff --git a/vnet/vnet/devices/netmap/netmap.c b/vnet/vnet/devices/netmap/netmap.c
index 7f1cadd7951..fe6f1eaf74a 100644
--- a/vnet/vnet/devices/netmap/netmap.c
+++ b/vnet/vnet/devices/netmap/netmap.c
@@ -28,19 +28,22 @@
#include <vnet/devices/netmap/netmap.h>
static u32
-netmap_eth_flag_change (vnet_main_t * vnm, vnet_hw_interface_t * hi, u32 flags)
+netmap_eth_flag_change (vnet_main_t * vnm, vnet_hw_interface_t * hi,
+ u32 flags)
{
/* nothing for now */
return 0;
}
-static clib_error_t * netmap_fd_read_ready (unix_file_t * uf)
+static clib_error_t *
+netmap_fd_read_ready (unix_file_t * uf)
{
- vlib_main_t * vm = vlib_get_main();
- netmap_main_t * nm = &netmap_main;
+ vlib_main_t *vm = vlib_get_main ();
+ netmap_main_t *nm = &netmap_main;
u32 idx = uf->private_data;
- nm->pending_input_bitmap = clib_bitmap_set (nm->pending_input_bitmap, idx, 1);
+ nm->pending_input_bitmap =
+ clib_bitmap_set (nm->pending_input_bitmap, idx, 1);
/* Schedule the rx node */
vlib_node_set_interrupt_pending (vm, netmap_input_node.index);
@@ -49,89 +52,95 @@ static clib_error_t * netmap_fd_read_ready (unix_file_t * uf)
}
static void
-close_netmap_if(netmap_main_t * nm, netmap_if_t * nif)
+close_netmap_if (netmap_main_t * nm, netmap_if_t * nif)
{
- if (nif->unix_file_index != ~0) {
- unix_file_del(&unix_main, unix_main.file_pool + nif->unix_file_index);
- nif->unix_file_index = ~0;
- }
+ if (nif->unix_file_index != ~0)
+ {
+ unix_file_del (&unix_main, unix_main.file_pool + nif->unix_file_index);
+ nif->unix_file_index = ~0;
+ }
if (nif->fd > -1)
- close(nif->fd);
+ close (nif->fd);
if (nif->mem_region)
{
- netmap_mem_region_t * reg = &nm->mem_regions[nif->mem_region];
+ netmap_mem_region_t *reg = &nm->mem_regions[nif->mem_region];
if (--reg->refcnt == 0)
{
- munmap(reg->mem, reg->region_size);
+ munmap (reg->mem, reg->region_size);
reg->region_size = 0;
}
}
- mhash_unset(&nm->if_index_by_host_if_name, nif->host_if_name, &nif->if_index);
- vec_free(nif->host_if_name);
- vec_free(nif->req);
+ mhash_unset (&nm->if_index_by_host_if_name, nif->host_if_name,
+ &nif->if_index);
+ vec_free (nif->host_if_name);
+ vec_free (nif->req);
- memset(nif, 0, sizeof(*nif));
- pool_put(nm->interfaces, nif);
+ memset (nif, 0, sizeof (*nif));
+ pool_put (nm->interfaces, nif);
}
int
-netmap_worker_thread_enable()
+netmap_worker_thread_enable ()
{
/* if worker threads are enabled, switch to polling mode */
- foreach_vlib_main (
- ({
- vlib_node_set_state(this_vlib_main, netmap_input_node.index, VLIB_NODE_STATE_POLLING);
- }));
+ foreach_vlib_main ((
+ {
+ vlib_node_set_state (this_vlib_main,
+ netmap_input_node.index,
+ VLIB_NODE_STATE_POLLING);
+ }));
return 0;
}
int
-netmap_worker_thread_disable()
+netmap_worker_thread_disable ()
{
- foreach_vlib_main (
- ({
- vlib_node_set_state(this_vlib_main, netmap_input_node.index, VLIB_NODE_STATE_INTERRUPT);
- }));
+ foreach_vlib_main ((
+ {
+ vlib_node_set_state (this_vlib_main,
+ netmap_input_node.index,
+ VLIB_NODE_STATE_INTERRUPT);
+ }));
return 0;
}
int
-netmap_create_if(vlib_main_t * vm, u8 * if_name, u8 * hw_addr_set,
- u8 is_pipe, u8 is_master, u32 *sw_if_index)
+netmap_create_if (vlib_main_t * vm, u8 * if_name, u8 * hw_addr_set,
+ u8 is_pipe, u8 is_master, u32 * sw_if_index)
{
- netmap_main_t * nm = &netmap_main;
+ netmap_main_t *nm = &netmap_main;
int ret = 0;
- netmap_if_t * nif = 0;
+ netmap_if_t *nif = 0;
u8 hw_addr[6];
- clib_error_t * error = 0;
- vnet_sw_interface_t * sw;
- vnet_main_t *vnm = vnet_get_main();
- uword * p;
- struct nmreq * req = 0;
- netmap_mem_region_t * reg;
- vlib_thread_main_t * tm = vlib_get_thread_main();
+ clib_error_t *error = 0;
+ vnet_sw_interface_t *sw;
+ vnet_main_t *vnm = vnet_get_main ();
+ uword *p;
+ struct nmreq *req = 0;
+ netmap_mem_region_t *reg;
+ vlib_thread_main_t *tm = vlib_get_thread_main ();
int fd;
p = mhash_get (&nm->if_index_by_host_if_name, if_name);
if (p)
- return VNET_API_ERROR_SUBIF_ALREADY_EXISTS;
+ return VNET_API_ERROR_SUBIF_ALREADY_EXISTS;
- fd = open("/dev/netmap", O_RDWR);
+ fd = open ("/dev/netmap", O_RDWR);
if (fd < 0)
- return VNET_API_ERROR_SUBIF_ALREADY_EXISTS;
+ return VNET_API_ERROR_SUBIF_ALREADY_EXISTS;
pool_get (nm->interfaces, nif);
nif->if_index = nif - nm->interfaces;
nif->fd = fd;
nif->unix_file_index = ~0;
- vec_validate(req, 0);
+ vec_validate (req, 0);
nif->req = req;
req->nr_version = NETMAP_API;
req->nr_flags = NR_REG_ALL_NIC;
@@ -142,10 +151,10 @@ netmap_create_if(vlib_main_t * vm, u8 * if_name, u8 * hw_addr_set,
req->nr_flags = NR_REG_ALL_NIC;
req->nr_flags |= NR_ACCEPT_VNET_HDR;
- snprintf(req->nr_name, IFNAMSIZ, "%s", if_name);
- req->nr_name[IFNAMSIZ-1] = 0;
+ snprintf (req->nr_name, IFNAMSIZ, "%s", if_name);
+ req->nr_name[IFNAMSIZ - 1] = 0;
- if (ioctl(nif->fd, NIOCREGIF, req))
+ if (ioctl (nif->fd, NIOCREGIF, req))
{
ret = VNET_API_ERROR_NOT_CONNECTED;
goto error;
@@ -156,9 +165,9 @@ netmap_create_if(vlib_main_t * vm, u8 * if_name, u8 * hw_addr_set,
reg = &nm->mem_regions[nif->mem_region];
if (reg->region_size == 0)
{
- reg->mem = mmap(NULL, req->nr_memsize, PROT_READ | PROT_WRITE,
- MAP_SHARED, fd, 0);
- clib_warning("mem %p", reg->mem);
+ reg->mem = mmap (NULL, req->nr_memsize, PROT_READ | PROT_WRITE,
+ MAP_SHARED, fd, 0);
+ clib_warning ("mem %p", reg->mem);
if (reg->mem == MAP_FAILED)
{
ret = VNET_API_ERROR_NOT_CONNECTED;
@@ -168,7 +177,7 @@ netmap_create_if(vlib_main_t * vm, u8 * if_name, u8 * hw_addr_set,
}
reg->refcnt++;
- nif->nifp = NETMAP_IF(reg->mem, req->nr_offset);
+ nif->nifp = NETMAP_IF (reg->mem, req->nr_offset);
nif->first_rx_ring = 0;
nif->last_rx_ring = 0;
nif->first_tx_ring = 0;
@@ -177,14 +186,14 @@ netmap_create_if(vlib_main_t * vm, u8 * if_name, u8 * hw_addr_set,
nif->per_interface_next_index = ~0;
if (tm->n_vlib_mains > 1)
- {
- nif->lockp = clib_mem_alloc_aligned (CLIB_CACHE_LINE_BYTES,
- CLIB_CACHE_LINE_BYTES);
- memset ((void *) nif->lockp, 0, CLIB_CACHE_LINE_BYTES);
- }
+ {
+ nif->lockp = clib_mem_alloc_aligned (CLIB_CACHE_LINE_BYTES,
+ CLIB_CACHE_LINE_BYTES);
+ memset ((void *) nif->lockp, 0, CLIB_CACHE_LINE_BYTES);
+ }
{
- unix_file_t template = {0};
+ unix_file_t template = { 0 };
template.read_function = netmap_fd_read_ready;
template.file_descriptor = nif->fd;
template.private_data = nif->if_index;
@@ -193,22 +202,23 @@ netmap_create_if(vlib_main_t * vm, u8 * if_name, u8 * hw_addr_set,
/*use configured or generate random MAC address */
if (hw_addr_set)
- memcpy(hw_addr, hw_addr_set, 6);
+ memcpy (hw_addr, hw_addr_set, 6);
else
{
- f64 now = vlib_time_now(vm);
+ f64 now = vlib_time_now (vm);
u32 rnd;
rnd = (u32) (now * 1e6);
rnd = random_u32 (&rnd);
- memcpy (hw_addr+2, &rnd, sizeof(rnd));
+ memcpy (hw_addr + 2, &rnd, sizeof (rnd));
hw_addr[0] = 2;
hw_addr[1] = 0xfe;
}
- error = ethernet_register_interface(vnm, netmap_device_class.index,
- nif->if_index, hw_addr, &nif->hw_if_index,
- netmap_eth_flag_change);
+ error = ethernet_register_interface (vnm, netmap_device_class.index,
+ nif->if_index, hw_addr,
+ &nif->hw_if_index,
+ netmap_eth_flag_change);
if (error)
{
@@ -225,41 +235,42 @@ netmap_create_if(vlib_main_t * vm, u8 * if_name, u8 * hw_addr_set,
if (sw_if_index)
*sw_if_index = nif->sw_if_index;
- if (tm->n_vlib_mains > 1 && pool_elts(nm->interfaces) == 1)
- netmap_worker_thread_enable();
+ if (tm->n_vlib_mains > 1 && pool_elts (nm->interfaces) == 1)
+ netmap_worker_thread_enable ();
return 0;
error:
- close_netmap_if(nm, nif);
+ close_netmap_if (nm, nif);
return ret;
}
int
-netmap_delete_if(vlib_main_t *vm, u8 *host_if_name)
+netmap_delete_if (vlib_main_t * vm, u8 * host_if_name)
{
- vnet_main_t *vnm = vnet_get_main();
+ vnet_main_t *vnm = vnet_get_main ();
netmap_main_t *nm = &netmap_main;
netmap_if_t *nif;
uword *p;
- vlib_thread_main_t * tm = vlib_get_thread_main();
+ vlib_thread_main_t *tm = vlib_get_thread_main ();
- p = mhash_get(&nm->if_index_by_host_if_name, host_if_name);
- if (p == NULL) {
- clib_warning("Host interface %s does not exist", host_if_name);
- return VNET_API_ERROR_SYSCALL_ERROR_1;
- }
- nif = pool_elt_at_index(nm->interfaces, p[0]);
+ p = mhash_get (&nm->if_index_by_host_if_name, host_if_name);
+ if (p == NULL)
+ {
+ clib_warning ("Host interface %s does not exist", host_if_name);
+ return VNET_API_ERROR_SYSCALL_ERROR_1;
+ }
+ nif = pool_elt_at_index (nm->interfaces, p[0]);
/* bring down the interface */
- vnet_hw_interface_set_flags(vnm, nif->hw_if_index, 0);
+ vnet_hw_interface_set_flags (vnm, nif->hw_if_index, 0);
- ethernet_delete_interface(vnm, nif->hw_if_index);
+ ethernet_delete_interface (vnm, nif->hw_if_index);
- close_netmap_if(nm, nif);
+ close_netmap_if (nm, nif);
- if (tm->n_vlib_mains > 1 && pool_elts(nm->interfaces) == 0)
- netmap_worker_thread_disable();
+ if (tm->n_vlib_mains > 1 && pool_elts (nm->interfaces) == 0)
+ netmap_worker_thread_disable ();
return 0;
}
@@ -267,10 +278,10 @@ netmap_delete_if(vlib_main_t *vm, u8 *host_if_name)
static clib_error_t *
netmap_init (vlib_main_t * vm)
{
- netmap_main_t * nm = &netmap_main;
- vlib_thread_main_t * tm = vlib_get_thread_main();
- vlib_thread_registration_t * tr;
- uword * p;
+ netmap_main_t *nm = &netmap_main;
+ vlib_thread_main_t *tm = vlib_get_thread_main ();
+ vlib_thread_registration_t *tr;
+ uword *p;
memset (nm, 0, sizeof (netmap_main_t));
@@ -290,9 +301,17 @@ netmap_init (vlib_main_t * vm)
mhash_init_vec_string (&nm->if_index_by_host_if_name, sizeof (uword));
vec_validate_aligned (nm->rx_buffers, tm->n_vlib_mains - 1,
- CLIB_CACHE_LINE_BYTES);
+ CLIB_CACHE_LINE_BYTES);
return 0;
}
VLIB_INIT_FUNCTION (netmap_init);
+
+/*
+ * fd.io coding-style-patch-verification: ON
+ *
+ * Local Variables:
+ * eval: (c-set-style "gnu")
+ * End:
+ */