| /freebsd/sys/netlink/ |
| H A D | netlink_message_parser.c | 113 nlmsg_report_cookie(struct nl_pstate *npt, struct nlattr *nla) in nlmsg_report_cookie() argument 115 MPASS(nla->nla_type == NLMSGERR_ATTR_COOKIE); in nlmsg_report_cookie() 116 MPASS(nla->nla_len >= sizeof(struct nlattr)); in nlmsg_report_cookie() 117 npt->cookie = nla; in nlmsg_report_cookie() 123 struct nlattr *nla = npt_alloc(npt, sizeof(*nla) + sizeof(uint32_t)); in nlmsg_report_cookie_u32() local 125 if (nla == NULL) in nlmsg_report_cookie_u32() 127 nla->nla_type = NLMSGERR_ATTR_COOKIE; in nlmsg_report_cookie_u32() 128 nla->nla_len = sizeof(*nla) + sizeof(uint32_t); in nlmsg_report_cookie_u32() 129 memcpy(nla + 1, &val, sizeof(uint32_t)); in nlmsg_report_cookie_u32() 130 nlmsg_report_cookie(npt, nla); in nlmsg_report_cookie_u32() [all …]
|
| H A D | netlink_snl.h | 472 struct nlattr *nla; in snl_parse_attrs_raw() local 474 NLA_FOREACH(nla, nla_head, len) { in snl_parse_attrs_raw() 475 if (nla->nla_len < sizeof(struct nlattr)) in snl_parse_attrs_raw() 477 int nla_type = nla->nla_type & NLA_TYPE_MASK; in snl_parse_attrs_raw() 481 if (!s->cb(ss, nla, s->arg, ptr)) in snl_parse_attrs_raw() 540 snl_attr_get_flag(struct snl_state *ss __unused, struct nlattr *nla, const void *arg __unused, in snl_attr_get_flag() argument 543 if (NLA_DATA_LEN(nla) == 0) { in snl_attr_get_flag() 551 snl_attr_get_bytes(struct snl_state *ss __unused, struct nlattr *nla, const void *arg, in snl_attr_get_bytes() argument 554 if ((size_t)NLA_DATA_LEN(nla) != (size_t)arg) in snl_attr_get_bytes() 557 memcpy(target, NLA_DATA_CONST(nla), (size_t)arg); in snl_attr_get_bytes() [all …]
|
| H A D | netlink_message_parser.h | 173 int nlattr_get_flag(struct nlattr *nla, struct nl_pstate *npt, 175 int nlattr_get_ip(struct nlattr *nla, struct nl_pstate *npt, 177 int nlattr_get_bool(struct nlattr *nla, struct nl_pstate *npt, 179 int nlattr_get_uint8(struct nlattr *nla, struct nl_pstate *npt, 181 int nlattr_get_uint16(struct nlattr *nla, struct nl_pstate *npt, 183 int nlattr_get_uint32(struct nlattr *nla, struct nl_pstate *npt, 185 int nlattr_get_uint64(struct nlattr *nla, struct nl_pstate *npt, 187 int nlattr_get_in_addr(struct nlattr *nla, struct nl_pstate *npt, 189 int nlattr_get_in6_addr(struct nlattr *nla, struct nl_pstate *npt, 191 int nlattr_get_ifp(struct nlattr *nla, struct nl_pstate *npt, [all …]
|
| H A D | netlink_snl_route.h | 88 snl_attr_get_ip(struct snl_state *ss, struct nlattr *nla, in snl_attr_get_ip() argument 92 struct sockaddr *sa = parse_rta_ip(ss, (struct rtattr *)nla, &error); in snl_attr_get_ip() 117 snl_attr_get_ipvia(struct snl_state *ss, struct nlattr *nla, in snl_attr_get_ipvia() argument 122 struct sockaddr *sa = parse_rta_via(ss, (struct rtattr *)nla, &error); in snl_attr_get_ipvia() 179 snl_attr_get_in_addr(struct snl_state *ss __unused, struct nlattr *nla, in snl_attr_get_in_addr() argument 182 if (NLA_DATA_LEN(nla) != sizeof(struct in_addr)) in snl_attr_get_in_addr() 185 memcpy(target, NLA_DATA_CONST(nla), sizeof(struct in_addr)); in snl_attr_get_in_addr() 190 snl_attr_get_in6_addr(struct snl_state *ss __unused, struct nlattr *nla, in snl_attr_get_in6_addr() argument 193 if (NLA_DATA_LEN(nla) != sizeof(struct in6_addr)) in snl_attr_get_in6_addr() 196 memcpy(target, NLA_DATA_CONST(nla), sizeof(struct in6_addr)); in snl_attr_get_in6_addr()
|
| H A D | netlink_message_writer.h | 187 struct nlattr *nla = nlattr_restore_offset(nw, off, struct nlattr); in nlattr_set_len() local 188 nla->nla_len = nlattr_save_offset(nw) - off; in nlattr_set_len() 199 struct nlattr *nla = nlmsg_reserve_data(nw, sizeof(struct nlattr), struct nlattr); in nlattr_add_nested() local 200 if (__predict_false(nla == NULL)) in nlattr_add_nested() 202 nla->nla_type = nla_type; in nlattr_add_nested() 211 struct nlattr *nla = nlmsg_reserve_data(nw, sz, struct nlattr); in _nlmsg_reserve_attr() local 212 if (__predict_false(nla == NULL)) in _nlmsg_reserve_attr() 214 nla->nla_type = nla_type; in _nlmsg_reserve_attr() 215 nla->nla_len = sz; in _nlmsg_reserve_attr() 217 return ((void *)(nla + 1)); in _nlmsg_reserve_attr()
|
| H A D | netlink_message_writer.c | 371 struct nlattr *nla; in nlattr_add() local 384 nla = (struct nlattr *)(&nb->data[nb->datalen]); in nlattr_add() 386 nla->nla_len = attr_len + sizeof(struct nlattr); in nlattr_add() 387 nla->nla_type = attr_type; in nlattr_add() 391 bzero((char *)nla + required_len - 4, 4); in nlattr_add() 393 memcpy((nla + 1), data, attr_len); in nlattr_add()
|
| H A D | ktest_netlink_message_writer.c | 56 test_nlbuf_parser(struct ktest_test_context *ctx, struct nlattr *nla) in test_nlbuf_parser() argument 62 return (nl_parse_nested(nla, &nlbuf_w_parser, ctx->npt, attrs)); in test_nlbuf_parser()
|
| H A D | netlink_domain.c | 637 struct nlattr nla; in nl_createcontrol() member 641 .nla.nla_len = sizeof(struct nlattr) + sizeof(uint32_t), in nl_createcontrol() 642 .nla.nla_type = NLMSGINFO_ATTR_PROCESS_ID, in nl_createcontrol() 646 .nla.nla_len = sizeof(struct nlattr) + sizeof(uint32_t), in nl_createcontrol() 647 .nla.nla_type = NLMSGINFO_ATTR_PORT_ID, in nl_createcontrol()
|
| H A D | netlink_snl_route_parsers.h | 97 nlattr_get_multipath(struct snl_state *ss, struct nlattr *nla, in nlattr_get_multipath() argument 103 while (start_size < NLA_DATA_LEN(nla) / sizeof(struct rtnexthop)) in nlattr_get_multipath() 106 return (snl_attr_get_parray_sz(ss, nla, start_size, in nlattr_get_multipath()
|
| /freebsd/sys/compat/linux/ |
| H A D | linux_netlink.c | 116 struct nlattr *nla, *nla_head; in rtnl_route_from_linux() local 133 NLA_FOREACH(nla, nla_head, attrs_len) { in rtnl_route_from_linux() 135 nla->nla_type, nla->nla_len, attrs_len); in rtnl_route_from_linux() 136 struct rtattr *rta = (struct rtattr *)nla; in rtnl_route_from_linux() 236 struct nlattr *nla = nlmsg_reserve_data(nw, nla_orig->nla_len, struct nlattr); in nlmsg_copy_nla() local 237 if (nla != NULL) { in nlmsg_copy_nla() 238 memcpy(nla, nla_orig, nla_orig->nla_len); in nlmsg_copy_nla() 248 nlmsg_translate_ifname_nla(struct nlattr *nla, struct nl_writer *nw) in nlmsg_translate_ifname_nla() argument 265 nlmsg_translate_all_nla(struct nlmsghdr *hdr, struct nlattr *nla, in nlmsg_translate_all_nla() argument 273 switch (nla->nla_type) { in nlmsg_translate_all_nla() [all …]
|
| /freebsd/sys/netlink/route/ |
| H A D | iface_drivers.c | 171 struct nlattr *nla = nla_cookie + 1; in _nl_store_ifp_cookie() local 172 nla->nla_len = sizeof(struct nlattr) + sizeof(ifindex); in _nl_store_ifp_cookie() 173 nla->nla_type = IFLA_NEW_IFINDEX; in _nl_store_ifp_cookie() 174 memcpy(NLA_DATA(nla), &ifindex, sizeof(ifindex)); in _nl_store_ifp_cookie() 176 nla = NLA_NEXT(nla); in _nl_store_ifp_cookie() 177 nla->nla_len = sizeof(struct nlattr) + ifname_len + 1; in _nl_store_ifp_cookie() 178 nla->nla_type = IFLA_IFNAME; in _nl_store_ifp_cookie() 179 strlcpy(NLA_DATA(nla), if_name(ifp), ifname_len + 1); in _nl_store_ifp_cookie()
|
| H A D | rt.c | 193 struct nlattr *nla = nlmsg_reserve_data(nw, nla_len, struct nlattr); in dump_rc_nhop_mtu() local 195 if (nla == NULL) in dump_rc_nhop_mtu() 197 nla->nla_type = NL_RTA_METRICS; in dump_rc_nhop_mtu() 198 nla->nla_len = nla_len; in dump_rc_nhop_mtu() 199 nla++; in dump_rc_nhop_mtu() 200 nla->nla_type = NL_RTAX_MTU; in dump_rc_nhop_mtu() 201 nla->nla_len = sizeof(struct nlattr) + sizeof(uint32_t); in dump_rc_nhop_mtu() 202 *((uint32_t *)(nla + 1)) = nh->nh_mtu; in dump_rc_nhop_mtu() 497 nlattr_get_multipath(struct nlattr *nla, struct nl_pstate *npt, in nlattr_get_multipath() argument 506 data_len = nla->nla_len - sizeof(struct nlattr); in nlattr_get_multipath() [all …]
|
| H A D | nexthop.c | 410 struct nlattr *nla = nlmsg_reserve_data(nw, nla_len, struct nlattr); in dump_nhgrp() local 411 if (nla == NULL) in dump_nhgrp() 413 nla->nla_type = NHA_GROUP; in dump_nhgrp() 414 nla->nla_len = nla_len; in dump_nhgrp() 416 struct nexthop_grp *grp = &((struct nexthop_grp *)(nla + 1))[i]; in dump_nhgrp() 656 nlattr_get_nhg(struct nlattr *nla, struct nl_pstate *npt, const void *arg, void *target) in nlattr_get_nhg() argument 661 struct nexthop_grp *grp = NLA_DATA(nla); in nlattr_get_nhg() 662 int data_len = NLA_DATA_LEN(nla); in nlattr_get_nhg() 670 *((struct nlattr **)target) = nla; in nlattr_get_nhg()
|
| H A D | iface.c | 153 struct nlattr *nla = nlmsg_reserve_data(nw, nla_len, struct nlattr); in get_stats() local 154 if (nla == NULL) in get_stats() 156 nla->nla_type = IFLA_STATS64; in get_stats() 157 nla->nla_len = nla_len; in get_stats() 158 stats = (struct rtnl_link_stats64 *)(nla + 1); in get_stats() 740 nlattr_get_cinfo(struct nlattr *nla, struct nl_pstate *npt, in nlattr_get_cinfo() argument 743 if (__predict_false(NLA_DATA_LEN(nla) != sizeof(struct ifa_cacheinfo))) { in nlattr_get_cinfo() 745 nla->nla_type, NLA_DATA_LEN(nla)); in nlattr_get_cinfo() 748 *((struct ifa_cacheinfo **)target) = (struct ifa_cacheinfo *)NL_RTA_DATA(nla); in nlattr_get_cinfo()
|
| /freebsd/tests/sys/netlink/ |
| H A D | netlink_socket.c | 170 struct nlattr nla; member 185 ATF_REQUIRE(nlc[0].nla.nla_type == NLMSGINFO_ATTR_PROCESS_ID); in cmsg_check() 189 ATF_REQUIRE(nlc[1].nla.nla_type == NLMSGINFO_ATTR_PORT_ID); in cmsg_check() 288 struct nlattr *nla; in nla_RTA_DST() local 290 for (nla = start; (char *)nla < (char *)start + len; in nla_RTA_DST() 291 nla = (struct nlattr *)((char *)nla + NLA_ALIGN(nla->nla_len))) { in nla_RTA_DST() 292 if (nla->nla_type == RTA_DST) in nla_RTA_DST() 293 return (nla); in nla_RTA_DST() 332 struct nlattr *nla; in ATF_TC_BODY() local 344 ATF_REQUIRE(nla = nla_RTA_DST(&reply.rta_dst, sizeof(reply))); in ATF_TC_BODY() [all …]
|
| /freebsd/tests/atf_python/sys/netlink/ |
| H A D | attrs.py | 30 def add_nla(self, nla): argument 31 self.nla_list.append(nla) 86 for nla in self.nla_list: 87 if nla.nla_type == nla_type_raw: 88 return nla 93 return align4(len(b"".join([bytes(nla) for nla in self.nla_list]))) + 4 105 for nla in self.nla_list: 106 nla.print_attr(prepend + " ") 110 return self._to_bytes(b"".join([bytes(nla) for nla in self.nla_list]))
|
| H A D | message.py | 57 def add_nla(self, nla): argument 58 self.nla_list.append(nla) 62 for nla in nla_list: 63 if nla.nla_type == nla_type_raw: 64 return nla 255 for nla in self.nla_list: 256 ret += bytes(nla) 285 for nla in self.nla_list: 286 nla.print_attr(" ")
|
| H A D | netlink.py | 177 nla = self.get_nla(NlErrattrType.NLMSGERR_ATTR_MSG) 178 if nla: 179 return nla.text 184 nla = self.get_nla(NlErrattrType.NLMSGERR_ATTR_OFFS) 185 if nla: 186 return nla.u32 311 nla = NlAttrStr(GenlCtrlAttrType.CTRL_ATTR_FAMILY_NAME, family_name) 312 hdr.nlmsg_len = sizeof(Nlmsghdr) + sizeof(GenlMsgHdr) + len(bytes(nla)) 314 msg_bytes = bytes(hdr) + bytes(ghdr) + bytes(nla)
|
| /freebsd/lib/libsysdecode/ |
| H A D | netlink.c | 254 const struct nlattr *nla; in nl_decode_attrs_raw() local 259 NLA_FOREACH_CONST(nla, nla_head, len) { in nl_decode_attrs_raw() 260 s = search_decoders(ps, pslen, nla->nla_type & NLA_TYPE_MASK); in nl_decode_attrs_raw() 266 s->cb(fp, nla, s->attr_name, s->args); in nl_decode_attrs_raw() 397 const struct nlattr *nla = (const struct nlattr *)(const void *) in sysdecode_netlink_pf() local 404 nl_decode_attrs_raw(fp, nla, nlm_len, in sysdecode_netlink_pf() 490 const struct nlattr *nla; in sysdecode_netlink() local 494 NLA_FOREACH_CONST(nla, nla_head, nla_len) { in sysdecode_netlink() 495 switch (nla->nla_type) { in sysdecode_netlink() 497 memcpy(&family_id, NLA_DATA_CONST(nla), in sysdecode_netlink() [all …]
|
| /freebsd/sbin/ipfw/ |
| H A D | nat.c | 1029 struct nat_list_arg *nla; in nat_show_data() local 1032 nla = (struct nat_list_arg *)arg; in nat_show_data() 1034 switch (nla->cmd) { in nat_show_data() 1036 if (nat_get_cmd(cfg->name, nla->cmd, &oh) != 0) { in nat_show_data() 1044 if (nat_get_cmd(cfg->name, nla->cmd, &oh) == 0) { in nat_show_data() 1050 if (nla->is_all != 0 && errno == ENOENT) in nat_show_data() 1159 struct nat_list_arg nla; in ipfw_show_nat() local 1188 memset(&nla, 0, sizeof(nla)); in ipfw_show_nat() 1189 nla.cmd = cmd; in ipfw_show_nat() 1190 nla.is_all = 1; in ipfw_show_nat() [all …]
|
| /freebsd/contrib/libfido2/src/ |
| H A D | netlink.c | 63 struct nlattr nla; member 135 if ((nlalen = h.u.nla.nla_len) < sizeof(h.u) || nlalen > *len || in nla_from_buf() 161 return (a->u.nla.nla_type); in nla_type() 173 if (cnt > a->u.nla.nla_len || in nla_read() 177 a->u.nla.nla_len = (uint16_t)(a->u.nla.nla_len - cnt); in nla_read() 282 a.u.nla.nla_type = type; in nlmsg_setattr() 283 a.u.nla.nla_len = (uint16_t)(len + sizeof(a.u)); in nlmsg_setattr()
|
| /freebsd/sys/tests/ |
| H A D | ktest_example.c | 84 test_with_params_parser(struct ktest_test_context *ctx, struct nlattr *nla) in test_with_params_parser() argument 90 return (nl_parse_nested(nla, &test1_parser, ctx->npt, attrs)); in test_with_params_parser()
|
| /freebsd/lib/libpfctl/ |
| H A D | libpfctl.c | 315 snl_attr_get_counters(struct snl_state *ss, struct nlattr *nla, in snl_attr_get_counters() argument 322 error = snl_parse_header(ss, NLA_DATA(nla), NLA_DATA_LEN(nla), &counter_parser, &counter); in snl_attr_get_counters() 345 snl_attr_get_uint64_element(struct snl_state *ss, struct nlattr *nla, in snl_attr_get_uint64_element() argument 355 error = snl_attr_get_uint64(ss, nla, arg, &value); in snl_attr_get_uint64_element() 369 snl_attr_get_uint64_array(struct snl_state *ss, struct nlattr *nla, in snl_attr_get_uint64_array() argument 379 error = snl_parse_header(ss, NLA_DATA(nla), NLA_DATA_LEN(nla), &array_parser, &a); in snl_attr_get_uint64_array() 1504 snl_attr_get_pf_rule_labels(struct snl_state *ss, struct nlattr *nla, in snl_attr_get_pf_rule_labels() argument 1513 ret = snl_attr_copy_string(ss, nla, (void *)PF_RULE_LABEL_SIZE, in snl_attr_get_pf_rule_labels() 1529 snl_attr_get_nested_pf_rule_labels(struct snl_state *ss, struct nlattr *nla, in snl_attr_get_nested_pf_rule_labels() argument 1536 …error = snl_parse_header(ss, NLA_DATA(nla), NLA_DATA_LEN(nla), &rule_labels_parser, &parsed_labels… in snl_attr_get_nested_pf_rule_labels() [all …]
|
| /freebsd/contrib/wpa/src/drivers/ |
| H A D | driver_macsec_linux.c | 592 struct nlattr *nla; in dump_callback() local 595 nla_for_each_nested(nla, tb_msg[MACSEC_ATTR_TXSA_LIST], rem) { in dump_callback() 598 err = nla_parse_nested(tb, MACSEC_SA_ATTR_MAX, nla, in dump_callback() 619 struct nlattr *nla; in dump_callback() local 622 nla_for_each_nested(nla, tb_msg[MACSEC_ATTR_RXSC_LIST], rem) { in dump_callback() 625 err = nla_parse_nested(tb, MACSEC_RXSC_ATTR_MAX, nla, in dump_callback() 636 nla_for_each_nested(nla, tb[MACSEC_RXSC_ATTR_SA_LIST], in dump_callback() 641 MACSEC_SA_ATTR_MAX, nla, in dump_callback()
|
| /freebsd/sys/netpfil/pf/ |
| H A D | pf_nl.c | 550 nlattr_get_pf_rule_labels(struct nlattr *nla, struct nl_pstate *npt, in nlattr_get_pf_rule_labels() argument 559 ret = nlattr_get_chara(nla, npt, (void *)PF_RULE_LABEL_SIZE, in nlattr_get_pf_rule_labels() 575 nlattr_get_nested_pf_rule_labels(struct nlattr *nla, struct nl_pstate *npt, const void *arg, void *… in nlattr_get_nested_pf_rule_labels() argument 581 …error = nl_parse_header(NLA_DATA(nla), NLA_DATA_LEN(nla), &rule_labels_parser, npt, &parsed_labels… in nlattr_get_nested_pf_rule_labels() 677 nlattr_get_pf_timeout(struct nlattr *nla, struct nl_pstate *npt, in nlattr_get_pf_timeout() argument 686 ret = nlattr_get_uint32(nla, npt, NULL, &t->timeouts[t->i]); in nlattr_get_pf_timeout() 701 nlattr_get_nested_timeouts(struct nlattr *nla, struct nl_pstate *npt, const void *arg, void *target) in nlattr_get_nested_timeouts() argument 707 error = nl_parse_header(NLA_DATA(nla), NLA_DATA_LEN(nla), &timeout_parser, npt, &parsed_timeouts); in nlattr_get_nested_timeouts() 2172 nlattr_get_pfr_addr(struct nlattr *nla, struct nl_pstate *npt, const void *arg, in nlattr_get_pfr_addr() argument 2182 error = nlattr_get_nested(nla, npt, &pfra_addr_parser, &addr); in nlattr_get_pfr_addr()
|