[dpdk-dev] [PATCH V17 3/4] eal/linux: uevent parse and process
Stephen Hemminger
stephen at networkplumber.org
Thu Mar 29 19:00:29 CEST 2018
On Fri, 30 Mar 2018 00:00:04 +0800
Jeff Guo <jia.guo at intel.com> wrote:
> +dev_uev_monitor_create(int netlink_fd)
> +{
> + struct sockaddr_nl addr;
> + int ret;
> + int size = 64 * 1024;
> + int nonblock = 1;
> +
> + memset(&addr, 0, sizeof(addr));
> + addr.nl_family = AF_NETLINK;
> + addr.nl_pid = 0;
> + addr.nl_groups = 0xffffffff;
> +
> + if (bind(netlink_fd, (struct sockaddr *) &addr, sizeof(addr)) < 0) {
> + RTE_LOG(ERR, EAL, "Failed to bind socket for netlink fd.\n");
> + goto err;
> + }
> +
> + setsockopt(netlink_fd, SOL_SOCKET, SO_PASSCRED, &size, sizeof(size));
> +
> + ret = ioctl(netlink_fd, FIONBIO, &nonblock);
> + if (ret != 0) {
> + RTE_LOG(ERR, EAL, "ioctl(FIONBIO) failed.\n");
> + goto err;
> + }
> + return 0;
> +err:
You should set close on exec for this fd (with fcntl).
More information about the dev
mailing list