nlattr_add
err = nlattr_add(&req, CTRL_ATTR_FAMILY_NAME, name, len);
ret = nlattr_add(&req, IFLA_XDP_FD, &fd, sizeof(fd));
ret = nlattr_add(&req, IFLA_XDP_FLAGS, &flags, sizeof(flags));
ret = nlattr_add(&req, IFLA_XDP_EXPECTED_FD, &old_fd,
err = nlattr_add(&req, NETDEV_A_DEV_IFINDEX, &ifindex, sizeof(ifindex));
return nlattr_add(req, TCA_KIND, "clsact", sizeof("clsact"));
return nlattr_add(req, TCA_KIND, qdisc, strlen(qdisc) + 1);
ret = nlattr_add(req, TCA_BPF_FD, &fd, sizeof(fd));
return nlattr_add(req, TCA_BPF_NAME, name, len + 1);
ret = nlattr_add(&req, TCA_KIND, "bpf", sizeof("bpf"));
ret = nlattr_add(&req, TCA_BPF_FLAGS, &bpf_flags, sizeof(bpf_flags));
ret = nlattr_add(&req, TCA_KIND, "bpf", sizeof("bpf"));
ret = nlattr_add(&req, TCA_KIND, "bpf", sizeof("bpf"));
if (nlattr_add(req, type | NLA_F_NESTED, NULL, 0))