2
0
mirror of https://github.com/openvswitch/ovs synced 2025-08-31 06:15:47 +00:00

windows: fix calls in netlink-socket

Add nl_sock_transact forward declaration, since it is used before
being on implemented. This applies only on Windows.

Move nl_sock_subscribe_packet__ function before it is used.

It makes more sense to move it rather than adding a forward declaration
since it is used by the two functions defined above it.

Signed-off-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com>
Acked-by: Sairam Venugopal <vsairam@vmware.com>
Signed-off-by: Gurucharan Shetty <guru@ovn.org>
This commit is contained in:
Alin Serdean
2017-02-06 04:41:40 +00:00
committed by Gurucharan Shetty
parent 5517b83962
commit 74804b2108

View File

@@ -60,6 +60,8 @@ static void log_nlmsg(const char *function, int error,
#ifdef _WIN32
static int get_sock_pid_from_kernel(struct nl_sock *sock);
static int set_sock_property(struct nl_sock *sock);
static int nl_sock_transact(struct nl_sock *sock, const struct ofpbuf *request,
struct ofpbuf **replyp);
#endif
/* Netlink sockets. */
@@ -424,6 +426,30 @@ nl_sock_join_mcgroup(struct nl_sock *sock, unsigned int multicast_group)
}
#ifdef _WIN32
int
nl_sock_subscribe_packet__(struct nl_sock *sock, bool subscribe)
{
struct ofpbuf request;
uint64_t request_stub[128];
struct ovs_header *ovs_header;
struct nlmsghdr *nlmsg;
int error;
ofpbuf_use_stub(&request, request_stub, sizeof request_stub);
nl_msg_put_genlmsghdr(&request, 0, OVS_WIN_NL_CTRL_FAMILY_ID, 0,
OVS_CTRL_CMD_PACKET_SUBSCRIBE_REQ,
OVS_WIN_CONTROL_VERSION);
ovs_header = ofpbuf_put_uninit(&request, sizeof *ovs_header);
ovs_header->dp_ifindex = 0;
nl_msg_put_u8(&request, OVS_NL_ATTR_PACKET_SUBSCRIBE, subscribe ? 1 : 0);
nl_msg_put_u32(&request, OVS_NL_ATTR_PACKET_PID, sock->pid);
error = nl_sock_send(sock, &request, true);
ofpbuf_uninit(&request);
return error;
}
int
nl_sock_subscribe_packets(struct nl_sock *sock)
{
@@ -459,30 +485,6 @@ nl_sock_unsubscribe_packets(struct nl_sock *sock)
sock->read_ioctl = OVS_IOCTL_READ;
return 0;
}
int
nl_sock_subscribe_packet__(struct nl_sock *sock, bool subscribe)
{
struct ofpbuf request;
uint64_t request_stub[128];
struct ovs_header *ovs_header;
struct nlmsghdr *nlmsg;
int error;
ofpbuf_use_stub(&request, request_stub, sizeof request_stub);
nl_msg_put_genlmsghdr(&request, 0, OVS_WIN_NL_CTRL_FAMILY_ID, 0,
OVS_CTRL_CMD_PACKET_SUBSCRIBE_REQ,
OVS_WIN_CONTROL_VERSION);
ovs_header = ofpbuf_put_uninit(&request, sizeof *ovs_header);
ovs_header->dp_ifindex = 0;
nl_msg_put_u8(&request, OVS_NL_ATTR_PACKET_SUBSCRIBE, subscribe ? 1 : 0);
nl_msg_put_u32(&request, OVS_NL_ATTR_PACKET_PID, sock->pid);
error = nl_sock_send(sock, &request, true);
ofpbuf_uninit(&request);
return error;
}
#endif
/* Tries to make 'sock' stop listening to 'multicast_group'. Returns 0 if