net: introduce qemu_get_peer
authorCindy Lu <lulu@redhat.com>
Wed, 1 Jul 2020 14:55:25 +0000 (22:55 +0800)
committerMichael S. Tsirkin <mst@redhat.com>
Fri, 3 Jul 2020 11:57:04 +0000 (07:57 -0400)
This is a small function that can get the peer
from given NetClientState and queue_index

Signed-off-by: Cindy Lu <lulu@redhat.com>
Message-Id: <20200701145538.22333-2-lulu@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
include/net/net.h
net/net.c

index 39085d94447596d9a5ab1ec929a5919afba8a0b8..e7ef42d62b796d2c987b996d211a4000309da05e 100644 (file)
@@ -176,6 +176,7 @@ void hmp_info_network(Monitor *mon, const QDict *qdict);
 void net_socket_rs_init(SocketReadState *rs,
                         SocketReadStateFinalize *finalize,
                         bool vnet_hdr);
+NetClientState *qemu_get_peer(NetClientState *nc, int queue_index);
 
 /* NIC info */
 
index d1130296e1a4a338a3cddd478731d7e32c1643f5..9099a327dd8ac09a5936e5ffd63d96366fd3a525 100644 (file)
--- a/net/net.c
+++ b/net/net.c
@@ -325,6 +325,13 @@ void *qemu_get_nic_opaque(NetClientState *nc)
     return nic->opaque;
 }
 
+NetClientState *qemu_get_peer(NetClientState *nc, int queue_index)
+{
+    assert(nc != NULL);
+    NetClientState *ncs = nc + queue_index;
+    return ncs->peer;
+}
+
 static void qemu_cleanup_net_client(NetClientState *nc)
 {
     QTAILQ_REMOVE(&net_clients, nc, next);