flow_offload.h (b8cd5831c61cadee4493248babef8386f836f31c) flow_offload.h (d97b4b105ce71f9f907f1511986cc1d224126772)
1#ifndef _NET_FLOW_OFFLOAD_H
2#define _NET_FLOW_OFFLOAD_H
3
4#include <linux/kernel.h>
5#include <linux/list.h>
6#include <linux/netlink.h>
7#include <net/flow_dissector.h>
8

--- 297 unchanged lines hidden (view full) ---

306 *
307 * Returns true if exactly one action is present.
308 */
309static inline bool flow_offload_has_one_action(const struct flow_action *action)
310{
311 return action->num_entries == 1;
312}
313
1#ifndef _NET_FLOW_OFFLOAD_H
2#define _NET_FLOW_OFFLOAD_H
3
4#include <linux/kernel.h>
5#include <linux/list.h>
6#include <linux/netlink.h>
7#include <net/flow_dissector.h>
8

--- 297 unchanged lines hidden (view full) ---

306 *
307 * Returns true if exactly one action is present.
308 */
309static inline bool flow_offload_has_one_action(const struct flow_action *action)
310{
311 return action->num_entries == 1;
312}
313
314static inline bool flow_action_is_last_entry(const struct flow_action *action,
315 const struct flow_action_entry *entry)
316{
317 return entry == &action->entries[action->num_entries - 1];
318}
319
314#define flow_action_for_each(__i, __act, __actions) \
315 for (__i = 0, __act = &(__actions)->entries[0]; \
316 __i < (__actions)->num_entries; \
317 __act = &(__actions)->entries[++__i])
318
319static inline bool
320flow_action_mixed_hw_stats_check(const struct flow_action *action,
321 struct netlink_ext_ack *extack)

--- 283 unchanged lines hidden ---
320#define flow_action_for_each(__i, __act, __actions) \
321 for (__i = 0, __act = &(__actions)->entries[0]; \
322 __i < (__actions)->num_entries; \
323 __act = &(__actions)->entries[++__i])
324
325static inline bool
326flow_action_mixed_hw_stats_check(const struct flow_action *action,
327 struct netlink_ext_ack *extack)

--- 283 unchanged lines hidden ---