Lines Matching refs:tb

330 	struct nlattr *tb[ARRAY_SIZE(bitset_policy)];
333 ret = nla_parse_nested(tb, ARRAY_SIZE(bitset_policy) - 1, bitset,
338 if (tb[ETHTOOL_A_BITSET_BITS]) {
339 if (tb[ETHTOOL_A_BITSET_VALUE] || tb[ETHTOOL_A_BITSET_MASK])
344 if (!tb[ETHTOOL_A_BITSET_SIZE] || !tb[ETHTOOL_A_BITSET_VALUE])
382 struct nlattr *tb[ARRAY_SIZE(bit_policy)];
385 ret = nla_parse_nested(tb, ARRAY_SIZE(bit_policy) - 1, bit_attr,
390 if (tb[ETHTOOL_A_BITSET_BIT_INDEX]) {
393 idx = nla_get_u32(tb[ETHTOOL_A_BITSET_BIT_INDEX]);
396 tb[ETHTOOL_A_BITSET_BIT_INDEX],
401 if (tb[ETHTOOL_A_BITSET_BIT_NAME] && name &&
402 strncmp(nla_data(tb[ETHTOOL_A_BITSET_BIT_NAME]), name,
403 nla_len(tb[ETHTOOL_A_BITSET_BIT_NAME]))) {
408 } else if (tb[ETHTOOL_A_BITSET_BIT_NAME]) {
410 nla_data(tb[ETHTOOL_A_BITSET_BIT_NAME]));
413 tb[ETHTOOL_A_BITSET_BIT_NAME],
424 *val = no_mask || tb[ETHTOOL_A_BITSET_BIT_VALUE];
430 const struct nlattr *attr, struct nlattr **tb,
439 if (tb[ETHTOOL_A_BITSET_VALUE]) {
440 NL_SET_ERR_MSG_ATTR(extack, tb[ETHTOOL_A_BITSET_VALUE],
444 if (tb[ETHTOOL_A_BITSET_MASK]) {
445 NL_SET_ERR_MSG_ATTR(extack, tb[ETHTOOL_A_BITSET_MASK],
450 no_mask = tb[ETHTOOL_A_BITSET_NOMASK];
454 nla_for_each_nested(bit_attr, tb[ETHTOOL_A_BITSET_BITS], rem) {
482 struct nlattr **tb,
485 bool no_mask = tb[ETHTOOL_A_BITSET_NOMASK];
489 if (no_mask && tb[ETHTOOL_A_BITSET_MASK]) {
490 NL_SET_ERR_MSG_ATTR(extack, tb[ETHTOOL_A_BITSET_MASK],
494 if (!tb[ETHTOOL_A_BITSET_SIZE]) {
499 if (!tb[ETHTOOL_A_BITSET_VALUE]) {
504 if (!no_mask && !tb[ETHTOOL_A_BITSET_MASK]) {
510 attr_nbits = nla_get_u32(tb[ETHTOOL_A_BITSET_SIZE]);
512 if (nla_len(tb[ETHTOOL_A_BITSET_VALUE]) != attr_nwords * sizeof(u32)) {
513 NL_SET_ERR_MSG_ATTR(extack, tb[ETHTOOL_A_BITSET_VALUE],
517 if (tb[ETHTOOL_A_BITSET_MASK] &&
518 nla_len(tb[ETHTOOL_A_BITSET_MASK]) != attr_nwords * sizeof(u32)) {
519 NL_SET_ERR_MSG_ATTR(extack, tb[ETHTOOL_A_BITSET_MASK],
526 test_attr = no_mask ? tb[ETHTOOL_A_BITSET_VALUE] :
527 tb[ETHTOOL_A_BITSET_MASK];
556 struct nlattr *tb[ARRAY_SIZE(bitset_policy)];
563 ret = nla_parse_nested(tb, ARRAY_SIZE(bitset_policy) - 1, attr,
568 if (tb[ETHTOOL_A_BITSET_BITS])
569 return ethnl_update_bitset32_verbose(bitmap, nbits, attr, tb,
571 ret = ethnl_compact_sanity_checks(nbits, attr, tb, extack);
575 no_mask = tb[ETHTOOL_A_BITSET_NOMASK];
577 nla_get_u32(tb[ETHTOOL_A_BITSET_SIZE]), nbits);
579 nla_data(tb[ETHTOOL_A_BITSET_VALUE]),
581 nla_data(tb[ETHTOOL_A_BITSET_MASK]),
609 struct nlattr *tb[ARRAY_SIZE(bitset_policy)];
617 ret = nla_parse_nested(tb, ARRAY_SIZE(bitset_policy) - 1, attr,
621 no_mask = tb[ETHTOOL_A_BITSET_NOMASK];
623 if (!tb[ETHTOOL_A_BITSET_BITS]) {
626 ret = ethnl_compact_sanity_checks(nbits, attr, tb, extack);
630 change_bits = nla_get_u32(tb[ETHTOOL_A_BITSET_SIZE]);
633 bitmap_from_arr32(val, nla_data(tb[ETHTOOL_A_BITSET_VALUE]),
641 nla_data(tb[ETHTOOL_A_BITSET_MASK]),
651 if (tb[ETHTOOL_A_BITSET_VALUE]) {
652 NL_SET_ERR_MSG_ATTR(extack, tb[ETHTOOL_A_BITSET_VALUE],
656 if (tb[ETHTOOL_A_BITSET_MASK]) {
657 NL_SET_ERR_MSG_ATTR(extack, tb[ETHTOOL_A_BITSET_MASK],
668 nla_for_each_nested(bit_attr, tb[ETHTOOL_A_BITSET_BITS], rem) {