Lines Matching refs:entry

173 static int fill_gate_entry(struct nlattr **tb, struct tcfg_gate_entry *entry,
178 entry->gate_state = nla_get_flag(tb[TCA_GATE_ENTRY_GATE]);
184 NL_SET_ERR_MSG(extack, "Invalid interval for schedule entry");
188 entry->interval = interval;
191 entry->ipv = nla_get_s32(tb[TCA_GATE_ENTRY_IPV]);
193 entry->ipv = -1;
196 entry->maxoctets = nla_get_s32(tb[TCA_GATE_ENTRY_MAX_OCTETS]);
198 entry->maxoctets = -1;
203 static int parse_gate_entry(struct nlattr *n, struct tcfg_gate_entry *entry,
211 NL_SET_ERR_MSG(extack, "Could not parse nested entry");
215 entry->index = index;
217 return fill_gate_entry(tb, entry, extack);
222 struct tcfg_gate_entry *entry, *e;
224 list_for_each_entry_safe(entry, e, entries, list) {
225 list_del(&entry->list);
226 kfree(entry);
234 struct tcfg_gate_entry *entry;
244 NL_SET_ERR_MSG(extack, "Attribute isn't type 'entry'");
248 entry = kzalloc(sizeof(*entry), GFP_ATOMIC);
249 if (!entry) {
250 NL_SET_ERR_MSG(extack, "Not enough memory for entry");
255 err = parse_gate_entry(n, entry, i, extack);
257 kfree(entry);
261 list_add_tail(&entry->list, &sched->entries);
402 struct tcfg_gate_entry *entry;
405 list_for_each_entry(entry, &p->entries, list)
406 cycle = ktime_add_ns(cycle, entry->interval);
470 struct tcfg_gate_entry *entry)
478 if (nla_put_u32(skb, TCA_GATE_ENTRY_INDEX, entry->index))
481 if (entry->gate_state && nla_put_flag(skb, TCA_GATE_ENTRY_GATE))
484 if (nla_put_u32(skb, TCA_GATE_ENTRY_INTERVAL, entry->interval))
487 if (nla_put_s32(skb, TCA_GATE_ENTRY_MAX_OCTETS, entry->maxoctets))
490 if (nla_put_s32(skb, TCA_GATE_ENTRY_IPV, entry->ipv))
510 struct tcfg_gate_entry *entry;
548 list_for_each_entry(entry, &p->entries, list) {
549 if (dumping_entry(skb, entry) < 0)