Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
vnet: store hw interface speed in kbps instead of using flags
[vpp.git]
/
src
/
vnet
/
unix
/
tapcli.c
diff --git
a/src/vnet/unix/tapcli.c
b/src/vnet/unix/tapcli.c
index
5c550bc
..
765e857
100644
(file)
--- a/
src/vnet/unix/tapcli.c
+++ b/
src/vnet/unix/tapcli.c
@@
-175,7
+175,7
@@
tapcli_tx (vlib_main_t * vm, vlib_node_runtime_t * node, vlib_frame_t * frame)
tapcli_main_t *tm = &tapcli_main;
tapcli_interface_t *ti;
int i;
tapcli_main_t *tm = &tapcli_main;
tapcli_interface_t *ti;
int i;
- u16 thread_index = v
lib_get_thread_index ()
;
+ u16 thread_index = v
m->thread_index
;
for (i = 0; i < n_packets; i++)
{
for (i = 0; i < n_packets; i++)
{
@@
-271,11
+271,11
@@
tapcli_rx_iface (vlib_main_t * vm,
const uword buffer_size = VLIB_BUFFER_DATA_SIZE;
u32 n_trace = vlib_get_trace_count (vm, node);
u8 set_trace = 0;
const uword buffer_size = VLIB_BUFFER_DATA_SIZE;
u32 n_trace = vlib_get_trace_count (vm, node);
u8 set_trace = 0;
- u16 thread_index = v
lib_get_thread_index ()
;
+ u16 thread_index = v
m->thread_index
;
vnet_main_t *vnm;
vnet_sw_interface_t *si;
u8 admin_down;
vnet_main_t *vnm;
vnet_sw_interface_t *si;
u8 admin_down;
- u32 next =
node->cached_next_index
;
+ u32 next =
VNET_DEVICE_INPUT_NEXT_ETHERNET_INPUT
;
u32 n_left_to_next, next_index;
u32 *to_next;
u32 n_left_to_next, next_index;
u32 *to_next;
@@
-746,13
+746,11
@@
tapcli_interface_admin_up_down (vnet_main_t * vnm, u32 hw_if_index, u32 flags)
{
uword is_admin_up = (flags & VNET_SW_INTERFACE_FLAG_ADMIN_UP) != 0;
u32 hw_flags;
{
uword is_admin_up = (flags & VNET_SW_INTERFACE_FLAG_ADMIN_UP) != 0;
u32 hw_flags;
- u32 speed_duplex = VNET_HW_INTERFACE_FLAG_FULL_DUPLEX
- | VNET_HW_INTERFACE_FLAG_SPEED_1G;
if (is_admin_up)
if (is_admin_up)
- hw_flags = VNET_HW_INTERFACE_FLAG_LINK_UP
| speed_duplex
;
+ hw_flags = VNET_HW_INTERFACE_FLAG_LINK_UP;
else
else
- hw_flags =
speed_duplex
;
+ hw_flags =
0
;
vnet_hw_interface_set_flags (vnm, hw_if_index, hw_flags);
return 0;
vnet_hw_interface_set_flags (vnm, hw_if_index, hw_flags);
return 0;
@@
-874,7
+872,7
@@
vnet_tap_connect (vlib_main_t * vm, vnet_tap_connect_args_t * ap)
if ((dev_net_tun_fd = open ("/dev/net/tun", O_RDWR)) < 0)
return VNET_API_ERROR_SYSCALL_ERROR_1;
if ((dev_net_tun_fd = open ("/dev/net/tun", O_RDWR)) < 0)
return VNET_API_ERROR_SYSCALL_ERROR_1;
- memset (&ifr, 0, sizeof (ifr));
+
clib_
memset (&ifr, 0, sizeof (ifr));
strncpy (ifr.ifr_name, (char *) ap->intfc_name, sizeof (ifr.ifr_name) - 1);
ifr.ifr_flags = flags;
if (ioctl (dev_net_tun_fd, TUNSETIFF, (void *) &ifr) < 0)
strncpy (ifr.ifr_name, (char *) ap->intfc_name, sizeof (ifr.ifr_name) - 1);
ifr.ifr_flags = flags;
if (ioctl (dev_net_tun_fd, TUNSETIFF, (void *) &ifr) < 0)
@@
-895,7
+893,7
@@
vnet_tap_connect (vlib_main_t * vm, vnet_tap_connect_args_t * ap)
struct ifreq ifr;
struct sockaddr_ll sll;
struct ifreq ifr;
struct sockaddr_ll sll;
- memset (&ifr, 0, sizeof (ifr));
+
clib_
memset (&ifr, 0, sizeof (ifr));
strncpy (ifr.ifr_name, (char *) ap->intfc_name,
sizeof (ifr.ifr_name) - 1);
if (ioctl (dev_tap_fd, SIOCGIFINDEX, &ifr) < 0)
strncpy (ifr.ifr_name, (char *) ap->intfc_name,
sizeof (ifr.ifr_name) - 1);
if (ioctl (dev_tap_fd, SIOCGIFINDEX, &ifr) < 0)
@@
-905,7
+903,7
@@
vnet_tap_connect (vlib_main_t * vm, vnet_tap_connect_args_t * ap)
}
/* Bind the provisioning socket to the interface. */
}
/* Bind the provisioning socket to the interface. */
- memset (&sll, 0, sizeof (sll));
+
clib_
memset (&sll, 0, sizeof (sll));
sll.sll_family = AF_PACKET;
sll.sll_ifindex = ifr.ifr_ifindex;
sll.sll_protocol = htons (ETH_P_ALL);
sll.sll_family = AF_PACKET;
sll.sll_ifindex = ifr.ifr_ifindex;
sll.sll_protocol = htons (ETH_P_ALL);
@@
-954,7
+952,7
@@
vnet_tap_connect (vlib_main_t * vm, vnet_tap_connect_args_t * ap)
/* ip4: mask defaults to /24 */
u32 mask = clib_host_to_net_u32 (0xFFFFFF00);
/* ip4: mask defaults to /24 */
u32 mask = clib_host_to_net_u32 (0xFFFFFF00);
- memset (&sin, 0, sizeof (sin));
+
clib_
memset (&sin, 0, sizeof (sin));
sin.sin_family = AF_INET;
/* sin.sin_port = 0; */
sin.sin_addr.s_addr = ap->ip4_address->as_u32;
sin.sin_family = AF_INET;
/* sin.sin_port = 0; */
sin.sin_addr.s_addr = ap->ip4_address->as_u32;
@@
-998,7
+996,7
@@
vnet_tap_connect (vlib_main_t * vm, vnet_tap_connect_args_t * ap)
goto error;
}
goto error;
}
- memset (&ifr2, 0, sizeof (ifr));
+
clib_
memset (&ifr2, 0, sizeof (ifr));
strncpy (ifr2.ifr_name, (char *) ap->intfc_name,
sizeof (ifr2.ifr_name) - 1);
if (ioctl (sockfd6, SIOCGIFINDEX, &ifr2) < 0)
strncpy (ifr2.ifr_name, (char *) ap->intfc_name,
sizeof (ifr2.ifr_name) - 1);
if (ioctl (sockfd6, SIOCGIFINDEX, &ifr2) < 0)
@@
-1068,9
+1066,7
@@
vnet_tap_connect (vlib_main_t * vm, vnet_tap_connect_args_t * ap)
hw = vnet_get_hw_interface (tm->vnet_main, ti->hw_if_index);
hw->min_supported_packet_bytes = TAP_MTU_MIN;
hw->max_supported_packet_bytes = TAP_MTU_MAX;
hw = vnet_get_hw_interface (tm->vnet_main, ti->hw_if_index);
hw->min_supported_packet_bytes = TAP_MTU_MIN;
hw->max_supported_packet_bytes = TAP_MTU_MAX;
- vnet_sw_interface_set_mtu (tm->vnet_main, hw->sw_if_index,
- hw->max_supported_packet_bytes -
- sizeof (ethernet_header_t));
+ vnet_sw_interface_set_mtu (tm->vnet_main, hw->sw_if_index, 9000);
ti->sw_if_index = hw->sw_if_index;
if (ap->sw_if_indexp)
*(ap->sw_if_indexp) = hw->sw_if_index;
ti->sw_if_index = hw->sw_if_index;
if (ap->sw_if_indexp)
*(ap->sw_if_indexp) = hw->sw_if_index;
@@
-1318,7
+1314,7
@@
tap_modify_command_fn (vlib_main_t * vm,
user_hwaddr = 1;
user_hwaddr = 1;
- memset (ap, 0, sizeof (*ap));
+
clib_
memset (ap, 0, sizeof (*ap));
ap->orig_sw_if_index = sw_if_index;
ap->intfc_name = intfc_name;
ap->sw_if_indexp = &new_sw_if_index;
ap->orig_sw_if_index = sw_if_index;
ap->intfc_name = intfc_name;
ap->sw_if_indexp = &new_sw_if_index;
@@
-1420,7
+1416,7
@@
tap_connect_command_fn (vlib_main_t * vm,
goto done;
}
goto done;
}
- memset (ap, 0, sizeof (*ap));
+
clib_
memset (ap, 0, sizeof (*ap));
ap->intfc_name = intfc_name;
ap->hwaddr_arg = hwaddr_arg;
ap->intfc_name = intfc_name;
ap->hwaddr_arg = hwaddr_arg;