Lines Matching refs:reply

235 static int ovs_meter_cmd_reply_stats(struct sk_buff *reply, u32 meter_id,  in ovs_meter_cmd_reply_stats()  argument
242 if (nla_put_u32(reply, OVS_METER_ATTR_ID, meter_id)) in ovs_meter_cmd_reply_stats()
245 if (nla_put(reply, OVS_METER_ATTR_STATS, in ovs_meter_cmd_reply_stats()
249 if (nla_put_u64_64bit(reply, OVS_METER_ATTR_USED, meter->used, in ovs_meter_cmd_reply_stats()
253 nla = nla_nest_start_noflag(reply, OVS_METER_ATTR_BANDS); in ovs_meter_cmd_reply_stats()
262 band_nla = nla_nest_start_noflag(reply, OVS_BAND_ATTR_UNSPEC); in ovs_meter_cmd_reply_stats()
263 if (!band_nla || nla_put(reply, OVS_BAND_ATTR_STATS, in ovs_meter_cmd_reply_stats()
267 nla_nest_end(reply, band_nla); in ovs_meter_cmd_reply_stats()
269 nla_nest_end(reply, nla); in ovs_meter_cmd_reply_stats()
281 struct sk_buff *reply; in ovs_meter_cmd_features() local
285 reply = ovs_meter_cmd_reply_start(info, OVS_METER_CMD_FEATURES, in ovs_meter_cmd_features()
287 if (IS_ERR(reply)) in ovs_meter_cmd_features()
288 return PTR_ERR(reply); in ovs_meter_cmd_features()
297 if (nla_put_u32(reply, OVS_METER_ATTR_MAX_METERS, in ovs_meter_cmd_features()
303 if (nla_put_u32(reply, OVS_METER_ATTR_MAX_BANDS, DP_MAX_BANDS)) in ovs_meter_cmd_features()
306 nla = nla_nest_start_noflag(reply, OVS_METER_ATTR_BANDS); in ovs_meter_cmd_features()
310 band_nla = nla_nest_start_noflag(reply, OVS_BAND_ATTR_UNSPEC); in ovs_meter_cmd_features()
314 if (nla_put_u32(reply, OVS_BAND_ATTR_TYPE, OVS_METER_BAND_TYPE_DROP)) in ovs_meter_cmd_features()
316 nla_nest_end(reply, band_nla); in ovs_meter_cmd_features()
317 nla_nest_end(reply, nla); in ovs_meter_cmd_features()
319 genlmsg_end(reply, ovs_reply_header); in ovs_meter_cmd_features()
320 return genlmsg_reply(reply, info); in ovs_meter_cmd_features()
325 nlmsg_free(reply); in ovs_meter_cmd_features()
413 struct sk_buff *reply; in ovs_meter_cmd_set() local
429 reply = ovs_meter_cmd_reply_start(info, OVS_METER_CMD_SET, in ovs_meter_cmd_set()
431 if (IS_ERR(reply)) { in ovs_meter_cmd_set()
432 err = PTR_ERR(reply); in ovs_meter_cmd_set()
460 failed = nla_put_u32(reply, OVS_METER_ATTR_ID, meter_id); in ovs_meter_cmd_set()
465 err = ovs_meter_cmd_reply_stats(reply, meter_id, in ovs_meter_cmd_set()
473 genlmsg_end(reply, ovs_reply_header); in ovs_meter_cmd_set()
474 return genlmsg_reply(reply, info); in ovs_meter_cmd_set()
478 nlmsg_free(reply); in ovs_meter_cmd_set()
490 struct sk_buff *reply; in ovs_meter_cmd_get() local
500 reply = ovs_meter_cmd_reply_start(info, OVS_METER_CMD_GET, in ovs_meter_cmd_get()
502 if (IS_ERR(reply)) in ovs_meter_cmd_get()
503 return PTR_ERR(reply); in ovs_meter_cmd_get()
521 err = ovs_meter_cmd_reply_stats(reply, meter_id, meter); in ovs_meter_cmd_get()
528 genlmsg_end(reply, ovs_reply_header); in ovs_meter_cmd_get()
529 return genlmsg_reply(reply, info); in ovs_meter_cmd_get()
533 nlmsg_free(reply); in ovs_meter_cmd_get()
543 struct sk_buff *reply; in ovs_meter_cmd_del() local
551 reply = ovs_meter_cmd_reply_start(info, OVS_METER_CMD_DEL, in ovs_meter_cmd_del()
553 if (IS_ERR(reply)) in ovs_meter_cmd_del()
554 return PTR_ERR(reply); in ovs_meter_cmd_del()
568 err = ovs_meter_cmd_reply_stats(reply, meter_id, old_meter); in ovs_meter_cmd_del()
579 genlmsg_end(reply, ovs_reply_header); in ovs_meter_cmd_del()
580 return genlmsg_reply(reply, info); in ovs_meter_cmd_del()
584 nlmsg_free(reply); in ovs_meter_cmd_del()