git://git.onelab.eu
/
sliver-openvswitch.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
updated to new rx_recv semantics
[sliver-openvswitch.git]
/
lib
/
netdev-tunnel.c
diff --git
a/lib/netdev-tunnel.c
b/lib/netdev-tunnel.c
index
b197e53
..
6b54697
100644
(file)
--- a/
lib/netdev-tunnel.c
+++ b/
lib/netdev-tunnel.c
@@
-271,7
+271,7
@@
netdev_tunnel_rx_recv(struct netdev_rx *rx_, struct ofpbuf *buffer)
struct netdev_tunnel *netdev =
netdev_tunnel_cast(rx_->netdev);
if (!netdev->connected)
struct netdev_tunnel *netdev =
netdev_tunnel_cast(rx_->netdev);
if (!netdev->connected)
- return
-
EAGAIN;
+ return EAGAIN;
for (;;) {
ssize_t retval;
retval = recv(rx->fd, buffer->data, size, MSG_TRUNC);
for (;;) {
ssize_t retval;
retval = recv(rx->fd, buffer->data, size, MSG_TRUNC);
@@
-281,11
+281,12
@@
netdev_tunnel_rx_recv(struct netdev_rx *rx_, struct ofpbuf *buffer)
netdev->stats.rx_packets++;
netdev->stats.rx_bytes += retval;
if (retval <= size) {
netdev->stats.rx_packets++;
netdev->stats.rx_bytes += retval;
if (retval <= size) {
- return retval;
+ buffer->size += retval;
+ return 0;
} else {
netdev->stats.rx_errors++;
netdev->stats.rx_length_errors++;
} else {
netdev->stats.rx_errors++;
netdev->stats.rx_length_errors++;
- return
-
EMSGSIZE;
+ return EMSGSIZE;
}
} else if (errno != EINTR) {
if (errno != EAGAIN) {
}
} else if (errno != EINTR) {
if (errno != EAGAIN) {
@@
-293,7
+294,7
@@
netdev_tunnel_rx_recv(struct netdev_rx *rx_, struct ofpbuf *buffer)
netdev_rx_get_name(rx_), ovs_strerror(errno));
netdev->stats.rx_errors++;
}
netdev_rx_get_name(rx_), ovs_strerror(errno));
netdev->stats.rx_errors++;
}
- return
-
errno;
+ return errno;
}
}
}
}
}
}