MCPcopy Create free account
hub / github.com/F-Stack/f-stack / dev_uev_socket_fd_create

Function dev_uev_socket_fd_create

dpdk/lib/eal/linux/eal_dev.c:102–133  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

100}
101
102static int
103dev_uev_socket_fd_create(void)
104{
105 struct sockaddr_nl addr;
106 int ret, fd;
107
108 fd = socket(PF_NETLINK, SOCK_RAW | SOCK_CLOEXEC | SOCK_NONBLOCK,
109 NETLINK_KOBJECT_UEVENT);
110 if (fd < 0) {
111 RTE_LOG(ERR, EAL, "create uevent fd failed.\n");
112 return -1;
113 }
114
115 memset(&addr, 0, sizeof(addr));
116 addr.nl_family = AF_NETLINK;
117 addr.nl_pid = 0;
118 addr.nl_groups = 0xffffffff;
119
120 ret = bind(fd, (struct sockaddr *) &addr, sizeof(addr));
121 if (ret < 0) {
122 RTE_LOG(ERR, EAL, "Failed to bind uevent socket.\n");
123 goto err;
124 }
125
126 if (rte_intr_fd_set(intr_handle, fd))
127 goto err;
128
129 return 0;
130err:
131 close(fd);
132 return ret;
133}
134
135struct rte_dev_event {
136 enum rte_dev_event_type type; /**< device event type */

Callers 1

Calls 5

memsetFunction · 0.85
rte_intr_fd_setFunction · 0.85
socketClass · 0.50
bindFunction · 0.50
closeFunction · 0.50

Tested by

no test coverage detected