Lines Matching refs:nlh

675 int ethtool_header_put(struct nlmsghdr *nlh, unsigned int attr_type,
680 nest = mnl_attr_nest_start(nlh, attr_type);
682 mnl_attr_put_u32(nlh, ETHTOOL_A_HEADER_DEV_INDEX, obj->dev_index);
684 mnl_attr_put_strz(nlh, ETHTOOL_A_HEADER_DEV_NAME, obj->dev_name);
686 mnl_attr_put_u32(nlh, ETHTOOL_A_HEADER_FLAGS, obj->flags);
687 mnl_attr_nest_end(nlh, nest);
732 int ethtool_pause_stat_put(struct nlmsghdr *nlh, unsigned int attr_type,
737 nest = mnl_attr_nest_start(nlh, attr_type);
739 mnl_attr_put_u64(nlh, ETHTOOL_A_PAUSE_STAT_TX_FRAMES, obj->tx_frames);
741 mnl_attr_put_u64(nlh, ETHTOOL_A_PAUSE_STAT_RX_FRAMES, obj->rx_frames);
742 mnl_attr_nest_end(nlh, nest);
783 int ethtool_fec_stat_put(struct nlmsghdr *nlh, unsigned int attr_type,
788 nest = mnl_attr_nest_start(nlh, attr_type);
790 mnl_attr_put(nlh, ETHTOOL_A_FEC_STAT_CORRECTED, obj->_present.corrected_len, obj->corrected);
792 mnl_attr_put(nlh, ETHTOOL_A_FEC_STAT_UNCORR, obj->_present.uncorr_len, obj->uncorr);
794 mnl_attr_put(nlh, ETHTOOL_A_FEC_STAT_CORR_BITS, obj->_present.corr_bits_len, obj->corr_bits);
795 mnl_attr_nest_end(nlh, nest);
957 int ethtool_bitset_bit_put(struct nlmsghdr *nlh, unsigned int attr_type,
962 nest = mnl_attr_nest_start(nlh, attr_type);
964 mnl_attr_put_u32(nlh, ETHTOOL_A_BITSET_BIT_INDEX, obj->index);
966 mnl_attr_put_strz(nlh, ETHTOOL_A_BITSET_BIT_NAME, obj->name);
968 mnl_attr_put(nlh, ETHTOOL_A_BITSET_BIT_VALUE, 0, NULL);
969 mnl_attr_nest_end(nlh, nest);
1043 int ethtool_string_put(struct nlmsghdr *nlh, unsigned int attr_type,
1048 nest = mnl_attr_nest_start(nlh, attr_type);
1050 mnl_attr_put_u32(nlh, ETHTOOL_A_STRING_INDEX, obj->index);
1052 mnl_attr_put_strz(nlh, ETHTOOL_A_STRING_VALUE, obj->value);
1053 mnl_attr_nest_end(nlh, nest);
1140 int ethtool_bitset_bits_put(struct nlmsghdr *nlh, unsigned int attr_type,
1145 nest = mnl_attr_nest_start(nlh, attr_type);
1147 ethtool_bitset_bit_put(nlh, ETHTOOL_A_BITSET_BITS_BIT, &obj->bit[i]);
1148 mnl_attr_nest_end(nlh, nest);
1202 int ethtool_strings_put(struct nlmsghdr *nlh, unsigned int attr_type,
1207 nest = mnl_attr_nest_start(nlh, attr_type);
1209 ethtool_string_put(nlh, ETHTOOL_A_STRINGS_STRING, &obj->string[i]);
1210 mnl_attr_nest_end(nlh, nest);
1260 int ethtool_bitset_put(struct nlmsghdr *nlh, unsigned int attr_type,
1265 nest = mnl_attr_nest_start(nlh, attr_type);
1267 mnl_attr_put(nlh, ETHTOOL_A_BITSET_NOMASK, 0, NULL);
1269 mnl_attr_put_u32(nlh, ETHTOOL_A_BITSET_SIZE, obj->size);
1271 ethtool_bitset_bits_put(nlh, ETHTOOL_A_BITSET_BITS, &obj->bits);
1272 mnl_attr_nest_end(nlh, nest);
1322 int ethtool_stringset_put(struct nlmsghdr *nlh, unsigned int attr_type,
1327 nest = mnl_attr_nest_start(nlh, attr_type);
1329 mnl_attr_put_u32(nlh, ETHTOOL_A_STRINGSET_ID, obj->id);
1331 mnl_attr_put_u32(nlh, ETHTOOL_A_STRINGSET_COUNT, obj->count);
1333 ethtool_strings_put(nlh, ETHTOOL_A_STRINGSET_STRINGS, &obj->strings[i]);
1334 mnl_attr_nest_end(nlh, nest);
1462 int ethtool_stringsets_put(struct nlmsghdr *nlh, unsigned int attr_type,
1467 nest = mnl_attr_nest_start(nlh, attr_type);
1469 ethtool_stringset_put(nlh, ETHTOOL_A_STRINGSETS_STRINGSET, &obj->stringset[i]);
1470 mnl_attr_nest_end(nlh, nest);
1563 int ethtool_strset_get_rsp_parse(const struct nlmsghdr *nlh, void *data)
1573 mnl_attr_for_each(attr, nlh, sizeof(struct genlmsghdr)) {
1605 struct nlmsghdr *nlh;
1608 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_STRSET_GET, 1);
1613 ethtool_header_put(nlh, ETHTOOL_A_STRSET_HEADER, &req->header);
1615 ethtool_stringsets_put(nlh, ETHTOOL_A_STRSET_STRINGSETS, &req->stringsets);
1617 mnl_attr_put(nlh, ETHTOOL_A_STRSET_COUNTS_ONLY, 0, NULL);
1624 err = ynl_exec(ys, nlh, &yrs);
1655 struct nlmsghdr *nlh;
1664 nlh = ynl_gemsg_start_dump(ys, ys->family_id, ETHTOOL_MSG_STRSET_GET, 1);
1668 ethtool_header_put(nlh, ETHTOOL_A_STRSET_HEADER, &req->header);
1670 ethtool_stringsets_put(nlh, ETHTOOL_A_STRSET_STRINGSETS, &req->stringsets);
1672 mnl_attr_put(nlh, ETHTOOL_A_STRSET_COUNTS_ONLY, 0, NULL);
1674 err = ynl_exec_dump(ys, nlh, &yds);
1699 int ethtool_linkinfo_get_rsp_parse(const struct nlmsghdr *nlh, void *data)
1709 mnl_attr_for_each(attr, nlh, sizeof(struct genlmsghdr)) {
1757 struct nlmsghdr *nlh;
1760 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_LINKINFO_GET, 1);
1765 ethtool_header_put(nlh, ETHTOOL_A_LINKINFO_HEADER, &req->header);
1772 err = ynl_exec(ys, nlh, &yrs);
1802 struct nlmsghdr *nlh;
1811 nlh = ynl_gemsg_start_dump(ys, ys->family_id, ETHTOOL_MSG_LINKINFO_GET, 1);
1815 ethtool_header_put(nlh, ETHTOOL_A_LINKINFO_HEADER, &req->header);
1817 err = ynl_exec_dump(ys, nlh, &yds);
1846 struct nlmsghdr *nlh;
1849 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_LINKINFO_SET, 1);
1853 ethtool_header_put(nlh, ETHTOOL_A_LINKINFO_HEADER, &req->header);
1855 mnl_attr_put_u8(nlh, ETHTOOL_A_LINKINFO_PORT, req->port);
1857 mnl_attr_put_u8(nlh, ETHTOOL_A_LINKINFO_PHYADDR, req->phyaddr);
1859 mnl_attr_put_u8(nlh, ETHTOOL_A_LINKINFO_TP_MDIX, req->tp_mdix);
1861 mnl_attr_put_u8(nlh, ETHTOOL_A_LINKINFO_TP_MDIX_CTRL, req->tp_mdix_ctrl);
1863 mnl_attr_put_u8(nlh, ETHTOOL_A_LINKINFO_TRANSCEIVER, req->transceiver);
1865 err = ynl_exec(ys, nlh, NULL);
1888 int ethtool_linkmodes_get_rsp_parse(const struct nlmsghdr *nlh, void *data)
1898 mnl_attr_for_each(attr, nlh, sizeof(struct genlmsghdr)) {
1975 struct nlmsghdr *nlh;
1978 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_LINKMODES_GET, 1);
1983 ethtool_header_put(nlh, ETHTOOL_A_LINKMODES_HEADER, &req->header);
1990 err = ynl_exec(ys, nlh, &yrs);
2022 struct nlmsghdr *nlh;
2031 nlh = ynl_gemsg_start_dump(ys, ys->family_id, ETHTOOL_MSG_LINKMODES_GET, 1);
2035 ethtool_header_put(nlh, ETHTOOL_A_LINKMODES_HEADER, &req->header);
2037 err = ynl_exec_dump(ys, nlh, &yds);
2070 struct nlmsghdr *nlh;
2073 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_LINKMODES_SET, 1);
2077 ethtool_header_put(nlh, ETHTOOL_A_LINKMODES_HEADER, &req->header);
2079 mnl_attr_put_u8(nlh, ETHTOOL_A_LINKMODES_AUTONEG, req->autoneg);
2081 ethtool_bitset_put(nlh, ETHTOOL_A_LINKMODES_OURS, &req->ours);
2083 ethtool_bitset_put(nlh, ETHTOOL_A_LINKMODES_PEER, &req->peer);
2085 mnl_attr_put_u32(nlh, ETHTOOL_A_LINKMODES_SPEED, req->speed);
2087 mnl_attr_put_u8(nlh, ETHTOOL_A_LINKMODES_DUPLEX, req->duplex);
2089 mnl_attr_put_u8(nlh, ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG, req->master_slave_cfg);
2091 mnl_attr_put_u8(nlh, ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE, req->master_slave_state);
2093 mnl_attr_put_u32(nlh, ETHTOOL_A_LINKMODES_LANES, req->lanes);
2095 mnl_attr_put_u8(nlh, ETHTOOL_A_LINKMODES_RATE_MATCHING, req->rate_matching);
2097 err = ynl_exec(ys, nlh, NULL);
2118 int ethtool_linkstate_get_rsp_parse(const struct nlmsghdr *nlh, void *data)
2128 mnl_attr_for_each(attr, nlh, sizeof(struct genlmsghdr)) {
2182 struct nlmsghdr *nlh;
2185 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_LINKSTATE_GET, 1);
2190 ethtool_header_put(nlh, ETHTOOL_A_LINKSTATE_HEADER, &req->header);
2197 err = ynl_exec(ys, nlh, &yrs);
2227 struct nlmsghdr *nlh;
2236 nlh = ynl_gemsg_start_dump(ys, ys->family_id, ETHTOOL_MSG_LINKSTATE_GET, 1);
2240 ethtool_header_put(nlh, ETHTOOL_A_LINKSTATE_HEADER, &req->header);
2242 err = ynl_exec_dump(ys, nlh, &yds);
2268 int ethtool_debug_get_rsp_parse(const struct nlmsghdr *nlh, void *data)
2278 mnl_attr_for_each(attr, nlh, sizeof(struct genlmsghdr)) {
2310 struct nlmsghdr *nlh;
2313 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_DEBUG_GET, 1);
2318 ethtool_header_put(nlh, ETHTOOL_A_DEBUG_HEADER, &req->header);
2325 err = ynl_exec(ys, nlh, &yrs);
2356 struct nlmsghdr *nlh;
2365 nlh = ynl_gemsg_start_dump(ys, ys->family_id, ETHTOOL_MSG_DEBUG_GET, 1);
2369 ethtool_header_put(nlh, ETHTOOL_A_DEBUG_HEADER, &req->header);
2371 err = ynl_exec_dump(ys, nlh, &yds);
2401 struct nlmsghdr *nlh;
2404 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_DEBUG_SET, 1);
2408 ethtool_header_put(nlh, ETHTOOL_A_DEBUG_HEADER, &req->header);
2410 ethtool_bitset_put(nlh, ETHTOOL_A_DEBUG_MSGMASK, &req->msgmask);
2412 err = ynl_exec(ys, nlh, NULL);
2435 int ethtool_wol_get_rsp_parse(const struct nlmsghdr *nlh, void *data)
2445 mnl_attr_for_each(attr, nlh, sizeof(struct genlmsghdr)) {
2487 struct nlmsghdr *nlh;
2490 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_WOL_GET, 1);
2495 ethtool_header_put(nlh, ETHTOOL_A_WOL_HEADER, &req->header);
2502 err = ynl_exec(ys, nlh, &yrs);
2533 struct nlmsghdr *nlh;
2542 nlh = ynl_gemsg_start_dump(ys, ys->family_id, ETHTOOL_MSG_WOL_GET, 1);
2546 ethtool_header_put(nlh, ETHTOOL_A_WOL_HEADER, &req->header);
2548 err = ynl_exec_dump(ys, nlh, &yds);
2580 struct nlmsghdr *nlh;
2583 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_WOL_SET, 1);
2587 ethtool_header_put(nlh, ETHTOOL_A_WOL_HEADER, &req->header);
2589 ethtool_bitset_put(nlh, ETHTOOL_A_WOL_MODES, &req->modes);
2591 mnl_attr_put(nlh, ETHTOOL_A_WOL_SOPASS, req->_present.sopass_len, req->sopass);
2593 err = ynl_exec(ys, nlh, NULL);
2618 int ethtool_features_get_rsp_parse(const struct nlmsghdr *nlh, void *data)
2628 mnl_attr_for_each(attr, nlh, sizeof(struct genlmsghdr)) {
2687 struct nlmsghdr *nlh;
2690 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_FEATURES_GET, 1);
2695 ethtool_header_put(nlh, ETHTOOL_A_FEATURES_HEADER, &req->header);
2702 err = ynl_exec(ys, nlh, &yrs);
2736 struct nlmsghdr *nlh;
2745 nlh = ynl_gemsg_start_dump(ys, ys->family_id, ETHTOOL_MSG_FEATURES_GET, 1);
2749 ethtool_header_put(nlh, ETHTOOL_A_FEATURES_HEADER, &req->header);
2751 err = ynl_exec_dump(ys, nlh, &yds);
2795 int ethtool_features_set_rsp_parse(const struct nlmsghdr *nlh, void *data)
2805 mnl_attr_for_each(attr, nlh, sizeof(struct genlmsghdr)) {
2864 struct nlmsghdr *nlh;
2867 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_FEATURES_SET, 1);
2872 ethtool_header_put(nlh, ETHTOOL_A_FEATURES_HEADER, &req->header);
2874 ethtool_bitset_put(nlh, ETHTOOL_A_FEATURES_HW, &req->hw);
2876 ethtool_bitset_put(nlh, ETHTOOL_A_FEATURES_WANTED, &req->wanted);
2878 ethtool_bitset_put(nlh, ETHTOOL_A_FEATURES_ACTIVE, &req->active);
2880 ethtool_bitset_put(nlh, ETHTOOL_A_FEATURES_NOCHANGE, &req->nochange);
2887 err = ynl_exec(ys, nlh, &yrs);
2913 int ethtool_privflags_get_rsp_parse(const struct nlmsghdr *nlh, void *data)
2923 mnl_attr_for_each(attr, nlh, sizeof(struct genlmsghdr)) {
2956 struct nlmsghdr *nlh;
2959 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_PRIVFLAGS_GET, 1);
2964 ethtool_header_put(nlh, ETHTOOL_A_PRIVFLAGS_HEADER, &req->header);
2971 err = ynl_exec(ys, nlh, &yrs);
3002 struct nlmsghdr *nlh;
3011 nlh = ynl_gemsg_start_dump(ys, ys->family_id, ETHTOOL_MSG_PRIVFLAGS_GET, 1);
3015 ethtool_header_put(nlh, ETHTOOL_A_PRIVFLAGS_HEADER, &req->header);
3017 err = ynl_exec_dump(ys, nlh, &yds);
3048 struct nlmsghdr *nlh;
3051 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_PRIVFLAGS_SET, 1);
3055 ethtool_header_put(nlh, ETHTOOL_A_PRIVFLAGS_HEADER, &req->header);
3057 ethtool_bitset_put(nlh, ETHTOOL_A_PRIVFLAGS_FLAGS, &req->flags);
3059 err = ynl_exec(ys, nlh, NULL);
3080 int ethtool_rings_get_rsp_parse(const struct nlmsghdr *nlh, void *data)
3090 mnl_attr_for_each(attr, nlh, sizeof(struct genlmsghdr)) {
3188 struct nlmsghdr *nlh;
3191 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_RINGS_GET, 1);
3196 ethtool_header_put(nlh, ETHTOOL_A_RINGS_HEADER, &req->header);
3203 err = ynl_exec(ys, nlh, &yrs);
3233 struct nlmsghdr *nlh;
3242 nlh = ynl_gemsg_start_dump(ys, ys->family_id, ETHTOOL_MSG_RINGS_GET, 1);
3246 ethtool_header_put(nlh, ETHTOOL_A_RINGS_HEADER, &req->header);
3248 err = ynl_exec_dump(ys, nlh, &yds);
3276 struct nlmsghdr *nlh;
3279 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_RINGS_SET, 1);
3283 ethtool_header_put(nlh, ETHTOOL_A_RINGS_HEADER, &req->header);
3285 mnl_attr_put_u32(nlh, ETHTOOL_A_RINGS_RX_MAX, req->rx_max);
3287 mnl_attr_put_u32(nlh, ETHTOOL_A_RINGS_RX_MINI_MAX, req->rx_mini_max);
3289 mnl_attr_put_u32(nlh, ETHTOOL_A_RINGS_RX_JUMBO_MAX, req->rx_jumbo_max);
3291 mnl_attr_put_u32(nlh, ETHTOOL_A_RINGS_TX_MAX, req->tx_max);
3293 mnl_attr_put_u32(nlh, ETHTOOL_A_RINGS_RX, req->rx);
3295 mnl_attr_put_u32(nlh, ETHTOOL_A_RINGS_RX_MINI, req->rx_mini);
3297 mnl_attr_put_u32(nlh, ETHTOOL_A_RINGS_RX_JUMBO, req->rx_jumbo);
3299 mnl_attr_put_u32(nlh, ETHTOOL_A_RINGS_TX, req->tx);
3301 mnl_attr_put_u32(nlh, ETHTOOL_A_RINGS_RX_BUF_LEN, req->rx_buf_len);
3303 mnl_attr_put_u8(nlh, ETHTOOL_A_RINGS_TCP_DATA_SPLIT, req->tcp_data_split);
3305 mnl_attr_put_u32(nlh, ETHTOOL_A_RINGS_CQE_SIZE, req->cqe_size);
3307 mnl_attr_put_u8(nlh, ETHTOOL_A_RINGS_TX_PUSH, req->tx_push);
3309 mnl_attr_put_u8(nlh, ETHTOOL_A_RINGS_RX_PUSH, req->rx_push);
3311 mnl_attr_put_u32(nlh, ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN, req->tx_push_buf_len);
3313 mnl_attr_put_u32(nlh, ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX, req->tx_push_buf_len_max);
3315 err = ynl_exec(ys, nlh, NULL);
3336 int ethtool_channels_get_rsp_parse(const struct nlmsghdr *nlh, void *data)
3346 mnl_attr_for_each(attr, nlh, sizeof(struct genlmsghdr)) {
3409 struct nlmsghdr *nlh;
3412 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_CHANNELS_GET, 1);
3417 ethtool_header_put(nlh, ETHTOOL_A_CHANNELS_HEADER, &req->header);
3424 err = ynl_exec(ys, nlh, &yrs);
3454 struct nlmsghdr *nlh;
3463 nlh = ynl_gemsg_start_dump(ys, ys->family_id, ETHTOOL_MSG_CHANNELS_GET, 1);
3467 ethtool_header_put(nlh, ETHTOOL_A_CHANNELS_HEADER, &req->header);
3469 err = ynl_exec_dump(ys, nlh, &yds);
3498 struct nlmsghdr *nlh;
3501 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_CHANNELS_SET, 1);
3505 ethtool_header_put(nlh, ETHTOOL_A_CHANNELS_HEADER, &req->header);
3507 mnl_attr_put_u32(nlh, ETHTOOL_A_CHANNELS_RX_MAX, req->rx_max);
3509 mnl_attr_put_u32(nlh, ETHTOOL_A_CHANNELS_TX_MAX, req->tx_max);
3511 mnl_attr_put_u32(nlh, ETHTOOL_A_CHANNELS_OTHER_MAX, req->other_max);
3513 mnl_attr_put_u32(nlh, ETHTOOL_A_CHANNELS_COMBINED_MAX, req->combined_max);
3515 mnl_attr_put_u32(nlh, ETHTOOL_A_CHANNELS_RX_COUNT, req->rx_count);
3517 mnl_attr_put_u32(nlh, ETHTOOL_A_CHANNELS_TX_COUNT, req->tx_count);
3519 mnl_attr_put_u32(nlh, ETHTOOL_A_CHANNELS_OTHER_COUNT, req->other_count);
3521 mnl_attr_put_u32(nlh, ETHTOOL_A_CHANNELS_COMBINED_COUNT, req->combined_count);
3523 err = ynl_exec(ys, nlh, NULL);
3544 int ethtool_coalesce_get_rsp_parse(const struct nlmsghdr *nlh, void *data)
3554 mnl_attr_for_each(attr, nlh, sizeof(struct genlmsghdr)) {
3712 struct nlmsghdr *nlh;
3715 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_COALESCE_GET, 1);
3720 ethtool_header_put(nlh, ETHTOOL_A_COALESCE_HEADER, &req->header);
3727 err = ynl_exec(ys, nlh, &yrs);
3757 struct nlmsghdr *nlh;
3766 nlh = ynl_gemsg_start_dump(ys, ys->family_id, ETHTOOL_MSG_COALESCE_GET, 1);
3770 ethtool_header_put(nlh, ETHTOOL_A_COALESCE_HEADER, &req->header);
3772 err = ynl_exec_dump(ys, nlh, &yds);
3801 struct nlmsghdr *nlh;
3804 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_COALESCE_SET, 1);
3808 ethtool_header_put(nlh, ETHTOOL_A_COALESCE_HEADER, &req->header);
3810 mnl_attr_put_u32(nlh, ETHTOOL_A_COALESCE_RX_USECS, req->rx_usecs);
3812 mnl_attr_put_u32(nlh, ETHTOOL_A_COALESCE_RX_MAX_FRAMES, req->rx_max_frames);
3814 mnl_attr_put_u32(nlh, ETHTOOL_A_COALESCE_RX_USECS_IRQ, req->rx_usecs_irq);
3816 mnl_attr_put_u32(nlh, ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ, req->rx_max_frames_irq);
3818 mnl_attr_put_u32(nlh, ETHTOOL_A_COALESCE_TX_USECS, req->tx_usecs);
3820 mnl_attr_put_u32(nlh, ETHTOOL_A_COALESCE_TX_MAX_FRAMES, req->tx_max_frames);
3822 mnl_attr_put_u32(nlh, ETHTOOL_A_COALESCE_TX_USECS_IRQ, req->tx_usecs_irq);
3824 mnl_attr_put_u32(nlh, ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ, req->tx_max_frames_irq);
3826 mnl_attr_put_u32(nlh, ETHTOOL_A_COALESCE_STATS_BLOCK_USECS, req->stats_block_usecs);
3828 mnl_attr_put_u8(nlh, ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX, req->use_adaptive_rx);
3830 mnl_attr_put_u8(nlh, ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX, req->use_adaptive_tx);
3832 mnl_attr_put_u32(nlh, ETHTOOL_A_COALESCE_PKT_RATE_LOW, req->pkt_rate_low);
3834 mnl_attr_put_u32(nlh, ETHTOOL_A_COALESCE_RX_USECS_LOW, req->rx_usecs_low);
3836 mnl_attr_put_u32(nlh, ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW, req->rx_max_frames_low);
3838 mnl_attr_put_u32(nlh, ETHTOOL_A_COALESCE_TX_USECS_LOW, req->tx_usecs_low);
3840 mnl_attr_put_u32(nlh, ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW, req->tx_max_frames_low);
3842 mnl_attr_put_u32(nlh, ETHTOOL_A_COALESCE_PKT_RATE_HIGH, req->pkt_rate_high);
3844 mnl_attr_put_u32(nlh, ETHTOOL_A_COALESCE_RX_USECS_HIGH, req->rx_usecs_high);
3846 mnl_attr_put_u32(nlh, ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH, req->rx_max_frames_high);
3848 mnl_attr_put_u32(nlh, ETHTOOL_A_COALESCE_TX_USECS_HIGH, req->tx_usecs_high);
3850 mnl_attr_put_u32(nlh, ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH, req->tx_max_frames_high);
3852 mnl_attr_put_u32(nlh, ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL, req->rate_sample_interval);
3854 mnl_attr_put_u8(nlh, ETHTOOL_A_COALESCE_USE_CQE_MODE_TX, req->use_cqe_mode_tx);
3856 mnl_attr_put_u8(nlh, ETHTOOL_A_COALESCE_USE_CQE_MODE_RX, req->use_cqe_mode_rx);
3858 mnl_attr_put_u32(nlh, ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES, req->tx_aggr_max_bytes);
3860 mnl_attr_put_u32(nlh, ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES, req->tx_aggr_max_frames);
3862 mnl_attr_put_u32(nlh, ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS, req->tx_aggr_time_usecs);
3864 err = ynl_exec(ys, nlh, NULL);
3886 int ethtool_pause_get_rsp_parse(const struct nlmsghdr *nlh, void *data)
3896 mnl_attr_for_each(attr, nlh, sizeof(struct genlmsghdr)) {
3948 struct nlmsghdr *nlh;
3951 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_PAUSE_GET, 1);
3956 ethtool_header_put(nlh, ETHTOOL_A_PAUSE_HEADER, &req->header);
3963 err = ynl_exec(ys, nlh, &yrs);
3994 struct nlmsghdr *nlh;
4003 nlh = ynl_gemsg_start_dump(ys, ys->family_id, ETHTOOL_MSG_PAUSE_GET, 1);
4007 ethtool_header_put(nlh, ETHTOOL_A_PAUSE_HEADER, &req->header);
4009 err = ynl_exec_dump(ys, nlh, &yds);
4039 struct nlmsghdr *nlh;
4042 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_PAUSE_SET, 1);
4046 ethtool_header_put(nlh, ETHTOOL_A_PAUSE_HEADER, &req->header);
4048 mnl_attr_put_u8(nlh, ETHTOOL_A_PAUSE_AUTONEG, req->autoneg);
4050 mnl_attr_put_u8(nlh, ETHTOOL_A_PAUSE_RX, req->rx);
4052 mnl_attr_put_u8(nlh, ETHTOOL_A_PAUSE_TX, req->tx);
4054 ethtool_pause_stat_put(nlh, ETHTOOL_A_PAUSE_STATS, &req->stats);
4056 mnl_attr_put_u32(nlh, ETHTOOL_A_PAUSE_STATS_SRC, req->stats_src);
4058 err = ynl_exec(ys, nlh, NULL);
4081 int ethtool_eee_get_rsp_parse(const struct nlmsghdr *nlh, void *data)
4091 mnl_attr_for_each(attr, nlh, sizeof(struct genlmsghdr)) {
4152 struct nlmsghdr *nlh;
4155 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_EEE_GET, 1);
4160 ethtool_header_put(nlh, ETHTOOL_A_EEE_HEADER, &req->header);
4167 err = ynl_exec(ys, nlh, &yrs);
4198 struct nlmsghdr *nlh;
4207 nlh = ynl_gemsg_start_dump(ys, ys->family_id, ETHTOOL_MSG_EEE_GET, 1);
4211 ethtool_header_put(nlh, ETHTOOL_A_EEE_HEADER, &req->header);
4213 err = ynl_exec_dump(ys, nlh, &yds);
4245 struct nlmsghdr *nlh;
4248 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_EEE_SET, 1);
4252 ethtool_header_put(nlh, ETHTOOL_A_EEE_HEADER, &req->header);
4254 ethtool_bitset_put(nlh, ETHTOOL_A_EEE_MODES_OURS, &req->modes_ours);
4256 ethtool_bitset_put(nlh, ETHTOOL_A_EEE_MODES_PEER, &req->modes_peer);
4258 mnl_attr_put_u8(nlh, ETHTOOL_A_EEE_ACTIVE, req->active);
4260 mnl_attr_put_u8(nlh, ETHTOOL_A_EEE_ENABLED, req->enabled);
4262 mnl_attr_put_u8(nlh, ETHTOOL_A_EEE_TX_LPI_ENABLED, req->tx_lpi_enabled);
4264 mnl_attr_put_u32(nlh, ETHTOOL_A_EEE_TX_LPI_TIMER, req->tx_lpi_timer);
4266 err = ynl_exec(ys, nlh, NULL);
4290 int ethtool_tsinfo_get_rsp_parse(const struct nlmsghdr *nlh, void *data)
4300 mnl_attr_for_each(attr, nlh, sizeof(struct genlmsghdr)) {
4355 struct nlmsghdr *nlh;
4358 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_TSINFO_GET, 1);
4363 ethtool_header_put(nlh, ETHTOOL_A_TSINFO_HEADER, &req->header);
4370 err = ynl_exec(ys, nlh, &yrs);
4403 struct nlmsghdr *nlh;
4412 nlh = ynl_gemsg_start_dump(ys, ys->family_id, ETHTOOL_MSG_TSINFO_GET, 1);
4416 ethtool_header_put(nlh, ETHTOOL_A_TSINFO_HEADER, &req->header);
4418 err = ynl_exec_dump(ys, nlh, &yds);
4440 struct nlmsghdr *nlh;
4443 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_CABLE_TEST_ACT, 1);
4447 ethtool_header_put(nlh, ETHTOOL_A_CABLE_TEST_HEADER, &req->header);
4449 err = ynl_exec(ys, nlh, NULL);
4468 struct nlmsghdr *nlh;
4471 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_CABLE_TEST_TDR_ACT, 1);
4475 ethtool_header_put(nlh, ETHTOOL_A_CABLE_TEST_TDR_HEADER, &req->header);
4477 err = ynl_exec(ys, nlh, NULL);
4499 int ethtool_tunnel_info_get_rsp_parse(const struct nlmsghdr *nlh, void *data)
4509 mnl_attr_for_each(attr, nlh, sizeof(struct genlmsghdr)) {
4542 struct nlmsghdr *nlh;
4545 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_TUNNEL_INFO_GET, 1);
4550 ethtool_header_put(nlh, ETHTOOL_A_TUNNEL_INFO_HEADER, &req->header);
4557 err = ynl_exec(ys, nlh, &yrs);
4589 struct nlmsghdr *nlh;
4598 nlh = ynl_gemsg_start_dump(ys, ys->family_id, ETHTOOL_MSG_TUNNEL_INFO_GET, 1);
4602 ethtool_header_put(nlh, ETHTOOL_A_TUNNEL_INFO_HEADER, &req->header);
4604 err = ynl_exec_dump(ys, nlh, &yds);
4631 int ethtool_fec_get_rsp_parse(const struct nlmsghdr *nlh, void *data)
4641 mnl_attr_for_each(attr, nlh, sizeof(struct genlmsghdr)) {
4692 struct nlmsghdr *nlh;
4695 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_FEC_GET, 1);
4700 ethtool_header_put(nlh, ETHTOOL_A_FEC_HEADER, &req->header);
4707 err = ynl_exec(ys, nlh, &yrs);
4738 struct nlmsghdr *nlh;
4747 nlh = ynl_gemsg_start_dump(ys, ys->family_id, ETHTOOL_MSG_FEC_GET, 1);
4751 ethtool_header_put(nlh, ETHTOOL_A_FEC_HEADER, &req->header);
4753 err = ynl_exec_dump(ys, nlh, &yds);
4785 struct nlmsghdr *nlh;
4788 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_FEC_SET, 1);
4792 ethtool_header_put(nlh, ETHTOOL_A_FEC_HEADER, &req->header);
4794 ethtool_bitset_put(nlh, ETHTOOL_A_FEC_MODES, &req->modes);
4796 mnl_attr_put_u8(nlh, ETHTOOL_A_FEC_AUTO, req->auto_);
4798 mnl_attr_put_u32(nlh, ETHTOOL_A_FEC_ACTIVE, req->active);
4800 ethtool_fec_stat_put(nlh, ETHTOOL_A_FEC_STATS, &req->stats);
4802 err = ynl_exec(ys, nlh, NULL);
4826 int ethtool_module_eeprom_get_rsp_parse(const struct nlmsghdr *nlh, void *data)
4836 mnl_attr_for_each(attr, nlh, sizeof(struct genlmsghdr)) {
4895 struct nlmsghdr *nlh;
4898 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_MODULE_EEPROM_GET, 1);
4903 ethtool_header_put(nlh, ETHTOOL_A_MODULE_EEPROM_HEADER, &req->header);
4910 err = ynl_exec(ys, nlh, &yrs);
4942 struct nlmsghdr *nlh;
4951 nlh = ynl_gemsg_start_dump(ys, ys->family_id, ETHTOOL_MSG_MODULE_EEPROM_GET, 1);
4955 ethtool_header_put(nlh, ETHTOOL_A_MODULE_EEPROM_HEADER, &req->header);
4957 err = ynl_exec_dump(ys, nlh, &yds);
4982 int ethtool_phc_vclocks_get_rsp_parse(const struct nlmsghdr *nlh, void *data)
4992 mnl_attr_for_each(attr, nlh, sizeof(struct genlmsghdr)) {
5021 struct nlmsghdr *nlh;
5024 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_PHC_VCLOCKS_GET, 1);
5029 ethtool_header_put(nlh, ETHTOOL_A_PHC_VCLOCKS_HEADER, &req->header);
5036 err = ynl_exec(ys, nlh, &yrs);
5067 struct nlmsghdr *nlh;
5076 nlh = ynl_gemsg_start_dump(ys, ys->family_id, ETHTOOL_MSG_PHC_VCLOCKS_GET, 1);
5080 ethtool_header_put(nlh, ETHTOOL_A_PHC_VCLOCKS_HEADER, &req->header);
5082 err = ynl_exec_dump(ys, nlh, &yds);
5107 int ethtool_module_get_rsp_parse(const struct nlmsghdr *nlh, void *data)
5117 mnl_attr_for_each(attr, nlh, sizeof(struct genlmsghdr)) {
5150 struct nlmsghdr *nlh;
5153 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_MODULE_GET, 1);
5158 ethtool_header_put(nlh, ETHTOOL_A_MODULE_HEADER, &req->header);
5165 err = ynl_exec(ys, nlh, &yrs);
5195 struct nlmsghdr *nlh;
5204 nlh = ynl_gemsg_start_dump(ys, ys->family_id, ETHTOOL_MSG_MODULE_GET, 1);
5208 ethtool_header_put(nlh, ETHTOOL_A_MODULE_HEADER, &req->header);
5210 err = ynl_exec_dump(ys, nlh, &yds);
5238 struct nlmsghdr *nlh;
5241 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_MODULE_SET, 1);
5245 ethtool_header_put(nlh, ETHTOOL_A_MODULE_HEADER, &req->header);
5247 mnl_attr_put_u8(nlh, ETHTOOL_A_MODULE_POWER_MODE_POLICY, req->power_mode_policy);
5249 mnl_attr_put_u8(nlh, ETHTOOL_A_MODULE_POWER_MODE, req->power_mode);
5251 err = ynl_exec(ys, nlh, NULL);
5272 int ethtool_pse_get_rsp_parse(const struct nlmsghdr *nlh, void *data)
5282 mnl_attr_for_each(attr, nlh, sizeof(struct genlmsghdr)) {
5320 struct nlmsghdr *nlh;
5323 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_PSE_GET, 1);
5328 ethtool_header_put(nlh, ETHTOOL_A_PSE_HEADER, &req->header);
5335 err = ynl_exec(ys, nlh, &yrs);
5364 struct nlmsghdr *nlh;
5373 nlh = ynl_gemsg_start_dump(ys, ys->family_id, ETHTOOL_MSG_PSE_GET, 1);
5377 ethtool_header_put(nlh, ETHTOOL_A_PSE_HEADER, &req->header);
5379 err = ynl_exec_dump(ys, nlh, &yds);
5400 struct nlmsghdr *nlh;
5403 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_PSE_SET, 1);
5407 ethtool_header_put(nlh, ETHTOOL_A_PSE_HEADER, &req->header);
5409 mnl_attr_put_u32(nlh, ETHTOOL_A_PODL_PSE_ADMIN_STATE, req->admin_state);
5411 mnl_attr_put_u32(nlh, ETHTOOL_A_PODL_PSE_ADMIN_CONTROL, req->admin_control);
5413 mnl_attr_put_u32(nlh, ETHTOOL_A_PODL_PSE_PW_D_STATUS, req->pw_d_status);
5415 err = ynl_exec(ys, nlh, NULL);
5438 int ethtool_rss_get_rsp_parse(const struct nlmsghdr *nlh, void *data)
5448 mnl_attr_for_each(attr, nlh, sizeof(struct genlmsghdr)) {
5501 struct nlmsghdr *nlh;
5504 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_RSS_GET, 1);
5509 ethtool_header_put(nlh, ETHTOOL_A_RSS_HEADER, &req->header);
5516 err = ynl_exec(ys, nlh, &yrs);
5547 struct nlmsghdr *nlh;
5556 nlh = ynl_gemsg_start_dump(ys, ys->family_id, ETHTOOL_MSG_RSS_GET, 1);
5560 ethtool_header_put(nlh, ETHTOOL_A_RSS_HEADER, &req->header);
5562 err = ynl_exec_dump(ys, nlh, &yds);
5587 int ethtool_plca_get_cfg_rsp_parse(const struct nlmsghdr *nlh, void *data)
5597 mnl_attr_for_each(attr, nlh, sizeof(struct genlmsghdr)) {
5660 struct nlmsghdr *nlh;
5663 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_PLCA_GET_CFG, 1);
5668 ethtool_header_put(nlh, ETHTOOL_A_PLCA_HEADER, &req->header);
5675 err = ynl_exec(ys, nlh, &yrs);
5705 struct nlmsghdr *nlh;
5714 nlh = ynl_gemsg_start_dump(ys, ys->family_id, ETHTOOL_MSG_PLCA_GET_CFG, 1);
5718 ethtool_header_put(nlh, ETHTOOL_A_PLCA_HEADER, &req->header);
5720 err = ynl_exec_dump(ys, nlh, &yds);
5749 struct nlmsghdr *nlh;
5752 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_PLCA_SET_CFG, 1);
5756 ethtool_header_put(nlh, ETHTOOL_A_PLCA_HEADER, &req->header);
5758 mnl_attr_put_u16(nlh, ETHTOOL_A_PLCA_VERSION, req->version);
5760 mnl_attr_put_u8(nlh, ETHTOOL_A_PLCA_ENABLED, req->enabled);
5762 mnl_attr_put_u8(nlh, ETHTOOL_A_PLCA_STATUS, req->status);
5764 mnl_attr_put_u32(nlh, ETHTOOL_A_PLCA_NODE_CNT, req->node_cnt);
5766 mnl_attr_put_u32(nlh, ETHTOOL_A_PLCA_NODE_ID, req->node_id);
5768 mnl_attr_put_u32(nlh, ETHTOOL_A_PLCA_TO_TMR, req->to_tmr);
5770 mnl_attr_put_u32(nlh, ETHTOOL_A_PLCA_BURST_CNT, req->burst_cnt);
5772 mnl_attr_put_u32(nlh, ETHTOOL_A_PLCA_BURST_TMR, req->burst_tmr);
5774 err = ynl_exec(ys, nlh, NULL);
5795 int ethtool_plca_get_status_rsp_parse(const struct nlmsghdr *nlh, void *data)
5805 mnl_attr_for_each(attr, nlh, sizeof(struct genlmsghdr)) {
5869 struct nlmsghdr *nlh;
5872 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_PLCA_GET_STATUS, 1);
5877 ethtool_header_put(nlh, ETHTOOL_A_PLCA_HEADER, &req->header);
5884 err = ynl_exec(ys, nlh, &yrs);
5915 struct nlmsghdr *nlh;
5924 nlh = ynl_gemsg_start_dump(ys, ys->family_id, ETHTOOL_MSG_PLCA_GET_STATUS, 1);
5928 ethtool_header_put(nlh, ETHTOOL_A_PLCA_HEADER, &req->header);
5930 err = ynl_exec_dump(ys, nlh, &yds);
5956 int ethtool_mm_get_rsp_parse(const struct nlmsghdr *nlh, void *data)
5966 mnl_attr_for_each(attr, nlh, sizeof(struct genlmsghdr)) {
6038 struct nlmsghdr *nlh;
6041 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_MM_GET, 1);
6046 ethtool_header_put(nlh, ETHTOOL_A_MM_HEADER, &req->header);
6053 err = ynl_exec(ys, nlh, &yrs);
6083 struct nlmsghdr *nlh;
6092 nlh = ynl_gemsg_start_dump(ys, ys->family_id, ETHTOOL_MSG_MM_GET, 1);
6096 ethtool_header_put(nlh, ETHTOOL_A_MM_HEADER, &req->header);
6098 err = ynl_exec_dump(ys, nlh, &yds);
6127 struct nlmsghdr *nlh;
6130 nlh = ynl_gemsg_start_req(ys, ys->family_id, ETHTOOL_MSG_MM_SET, 1);
6134 ethtool_header_put(nlh, ETHTOOL_A_MM_HEADER, &req->header);
6136 mnl_attr_put_u8(nlh, ETHTOOL_A_MM_VERIFY_ENABLED, req->verify_enabled);
6138 mnl_attr_put_u32(nlh, ETHTOOL_A_MM_VERIFY_TIME, req->verify_time);
6140 mnl_attr_put_u8(nlh, ETHTOOL_A_MM_TX_ENABLED, req->tx_enabled);
6142 mnl_attr_put_u8(nlh, ETHTOOL_A_MM_PMAC_ENABLED, req->pmac_enabled);
6144 mnl_attr_put_u32(nlh, ETHTOOL_A_MM_TX_MIN_FRAG_SIZE, req->tx_min_frag_size);
6146 err = ynl_exec(ys, nlh, NULL);
6154 int ethtool_cable_test_ntf_rsp_parse(const struct nlmsghdr *nlh, void *data)
6164 mnl_attr_for_each(attr, nlh, sizeof(struct genlmsghdr)) {
6194 int ethtool_cable_test_tdr_ntf_rsp_parse(const struct nlmsghdr *nlh,
6205 mnl_attr_for_each(attr, nlh, sizeof(struct genlmsghdr)) {