Lines Matching refs:reply

111 static int ovs_meter_cmd_reply_stats(struct sk_buff *reply, u32 meter_id,  in ovs_meter_cmd_reply_stats()  argument
118 if (nla_put_u32(reply, OVS_METER_ATTR_ID, meter_id)) in ovs_meter_cmd_reply_stats()
124 if (nla_put(reply, OVS_METER_ATTR_STATS, in ovs_meter_cmd_reply_stats()
126 nla_put_u64_64bit(reply, OVS_METER_ATTR_USED, meter->used, in ovs_meter_cmd_reply_stats()
130 nla = nla_nest_start(reply, OVS_METER_ATTR_BANDS); in ovs_meter_cmd_reply_stats()
139 band_nla = nla_nest_start(reply, OVS_BAND_ATTR_UNSPEC); in ovs_meter_cmd_reply_stats()
140 if (!band_nla || nla_put(reply, OVS_BAND_ATTR_STATS, in ovs_meter_cmd_reply_stats()
144 nla_nest_end(reply, band_nla); in ovs_meter_cmd_reply_stats()
146 nla_nest_end(reply, nla); in ovs_meter_cmd_reply_stats()
155 struct sk_buff *reply; in ovs_meter_cmd_features() local
160 reply = ovs_meter_cmd_reply_start(info, OVS_METER_CMD_FEATURES, in ovs_meter_cmd_features()
162 if (IS_ERR(reply)) in ovs_meter_cmd_features()
163 return PTR_ERR(reply); in ovs_meter_cmd_features()
165 if (nla_put_u32(reply, OVS_METER_ATTR_MAX_METERS, U32_MAX) || in ovs_meter_cmd_features()
166 nla_put_u32(reply, OVS_METER_ATTR_MAX_BANDS, DP_MAX_BANDS)) in ovs_meter_cmd_features()
169 nla = nla_nest_start(reply, OVS_METER_ATTR_BANDS); in ovs_meter_cmd_features()
173 band_nla = nla_nest_start(reply, OVS_BAND_ATTR_UNSPEC); in ovs_meter_cmd_features()
177 if (nla_put_u32(reply, OVS_BAND_ATTR_TYPE, OVS_METER_BAND_TYPE_DROP)) in ovs_meter_cmd_features()
179 nla_nest_end(reply, band_nla); in ovs_meter_cmd_features()
180 nla_nest_end(reply, nla); in ovs_meter_cmd_features()
182 genlmsg_end(reply, ovs_reply_header); in ovs_meter_cmd_features()
183 return genlmsg_reply(reply, info); in ovs_meter_cmd_features()
186 nlmsg_free(reply); in ovs_meter_cmd_features()
276 struct sk_buff *reply; in ovs_meter_cmd_set() local
292 reply = ovs_meter_cmd_reply_start(info, OVS_METER_CMD_SET, in ovs_meter_cmd_set()
294 if (IS_ERR(reply)) { in ovs_meter_cmd_set()
295 err = PTR_ERR(reply); in ovs_meter_cmd_set()
317 failed = nla_put_u32(reply, OVS_METER_ATTR_ID, meter_id); in ovs_meter_cmd_set()
322 err = ovs_meter_cmd_reply_stats(reply, meter_id, in ovs_meter_cmd_set()
330 genlmsg_end(reply, ovs_reply_header); in ovs_meter_cmd_set()
331 return genlmsg_reply(reply, info); in ovs_meter_cmd_set()
335 nlmsg_free(reply); in ovs_meter_cmd_set()
349 struct sk_buff *reply; in ovs_meter_cmd_get() local
357 reply = ovs_meter_cmd_reply_start(info, OVS_METER_CMD_GET, in ovs_meter_cmd_get()
359 if (IS_ERR(reply)) in ovs_meter_cmd_get()
360 return PTR_ERR(reply); in ovs_meter_cmd_get()
378 err = ovs_meter_cmd_reply_stats(reply, meter_id, meter); in ovs_meter_cmd_get()
385 genlmsg_end(reply, ovs_reply_header); in ovs_meter_cmd_get()
386 return genlmsg_reply(reply, info); in ovs_meter_cmd_get()
390 nlmsg_free(reply); in ovs_meter_cmd_get()
402 struct sk_buff *reply; in ovs_meter_cmd_del() local
409 reply = ovs_meter_cmd_reply_start(info, OVS_METER_CMD_DEL, in ovs_meter_cmd_del()
411 if (IS_ERR(reply)) in ovs_meter_cmd_del()
412 return PTR_ERR(reply); in ovs_meter_cmd_del()
425 err = ovs_meter_cmd_reply_stats(reply, meter_id, old_meter); in ovs_meter_cmd_del()
432 genlmsg_end(reply, ovs_reply_header); in ovs_meter_cmd_del()
433 return genlmsg_reply(reply, info); in ovs_meter_cmd_del()
437 nlmsg_free(reply); in ovs_meter_cmd_del()