aboutsummaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorStefan Hajnoczi <stefanha@redhat.com>2014-02-20 12:14:07 +0100
committerStefan Hajnoczi <stefanha@redhat.com>2014-02-25 14:31:05 +0100
commitd6085e3ace20bc9b0fa625d8d79b22668710e217 (patch)
tree96a930a0ad6f56f61725189fdfe9a3c6f4a901e9 /net
parent0a985b37272b563b1f8414431c6064eb1aa0c97b (diff)
net: remove implicit peer from offload API
The virtio_net offload APIs are used on the NIC's peer (i.e. the tap device). The API was defined to implicitly use nc->peer, saving the caller the trouble. This wasn't ideal because: 1. There are callers who have the peer but not the NIC. Currently they are forced to bypass the API and access peer->info->... directly. 2. The rest of the net.h API uses nc, not nc->peer, so it is inconsistent. This patch pushes nc->peer back up to callers. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'net')
-rw-r--r--net/net.c36
1 files changed, 18 insertions, 18 deletions
diff --git a/net/net.c b/net/net.c
index 06d690aa4a..e3ef1e4f1d 100644
--- a/net/net.c
+++ b/net/net.c
@@ -378,59 +378,59 @@ void qemu_foreach_nic(qemu_nic_foreach func, void *opaque)
}
}
-bool qemu_peer_has_ufo(NetClientState *nc)
+bool qemu_has_ufo(NetClientState *nc)
{
- if (!nc->peer || !nc->peer->info->has_ufo) {
+ if (!nc || !nc->info->has_ufo) {
return false;
}
- return nc->peer->info->has_ufo(nc->peer);
+ return nc->info->has_ufo(nc);
}
-bool qemu_peer_has_vnet_hdr(NetClientState *nc)
+bool qemu_has_vnet_hdr(NetClientState *nc)
{
- if (!nc->peer || !nc->peer->info->has_vnet_hdr) {
+ if (!nc || !nc->info->has_vnet_hdr) {
return false;
}
- return nc->peer->info->has_vnet_hdr(nc->peer);
+ return nc->info->has_vnet_hdr(nc);
}
-bool qemu_peer_has_vnet_hdr_len(NetClientState *nc, int len)
+bool qemu_has_vnet_hdr_len(NetClientState *nc, int len)
{
- if (!nc->peer || !nc->peer->info->has_vnet_hdr_len) {
+ if (!nc || !nc->info->has_vnet_hdr_len) {
return false;
}
- return nc->peer->info->has_vnet_hdr_len(nc->peer, len);
+ return nc->info->has_vnet_hdr_len(nc, len);
}
-void qemu_peer_using_vnet_hdr(NetClientState *nc, bool enable)
+void qemu_using_vnet_hdr(NetClientState *nc, bool enable)
{
- if (!nc->peer || !nc->peer->info->using_vnet_hdr) {
+ if (!nc || !nc->info->using_vnet_hdr) {
return;
}
- nc->peer->info->using_vnet_hdr(nc->peer, enable);
+ nc->info->using_vnet_hdr(nc, enable);
}
-void qemu_peer_set_offload(NetClientState *nc, int csum, int tso4, int tso6,
+void qemu_set_offload(NetClientState *nc, int csum, int tso4, int tso6,
int ecn, int ufo)
{
- if (!nc->peer || !nc->peer->info->set_offload) {
+ if (!nc || !nc->info->set_offload) {
return;
}
- nc->peer->info->set_offload(nc->peer, csum, tso4, tso6, ecn, ufo);
+ nc->info->set_offload(nc, csum, tso4, tso6, ecn, ufo);
}
-void qemu_peer_set_vnet_hdr_len(NetClientState *nc, int len)
+void qemu_set_vnet_hdr_len(NetClientState *nc, int len)
{
- if (!nc->peer || !nc->peer->info->set_vnet_hdr_len) {
+ if (!nc || !nc->info->set_vnet_hdr_len) {
return;
}
- nc->peer->info->set_vnet_hdr_len(nc->peer, len);
+ nc->info->set_vnet_hdr_len(nc, len);
}
int qemu_can_send_packet(NetClientState *sender)