#include "prestera.h"
#include "prestera_acl.h"
#include "prestera_flow.h"
#include "prestera_flower.h"
#include "prestera_matchall.h"
struct prestera_flower_template { … };
static void
prestera_flower_template_free(struct prestera_flower_template *template)
{ … }
void prestera_flower_template_cleanup(struct prestera_flow_block *block)
{ … }
static int
prestera_flower_parse_goto_action(struct prestera_flow_block *block,
struct prestera_acl_rule *rule,
u32 chain_index,
const struct flow_action_entry *act)
{ … }
static int prestera_flower_parse_actions(struct prestera_flow_block *block,
struct prestera_acl_rule *rule,
struct flow_action *flow_action,
u32 chain_index,
struct netlink_ext_ack *extack)
{ … }
static int prestera_flower_parse_meta(struct prestera_acl_rule *rule,
struct flow_cls_offload *f,
struct prestera_flow_block *block)
{ … }
static int prestera_flower_parse(struct prestera_flow_block *block,
struct prestera_acl_rule *rule,
struct flow_cls_offload *f)
{ … }
static int prestera_flower_prio_check(struct prestera_flow_block *block,
struct flow_cls_offload *f)
{ … }
int prestera_flower_prio_get(struct prestera_flow_block *block, u32 chain_index,
u32 *prio_min, u32 *prio_max)
{ … }
int prestera_flower_replace(struct prestera_flow_block *block,
struct flow_cls_offload *f)
{ … }
void prestera_flower_destroy(struct prestera_flow_block *block,
struct flow_cls_offload *f)
{ … }
int prestera_flower_tmplt_create(struct prestera_flow_block *block,
struct flow_cls_offload *f)
{ … }
void prestera_flower_tmplt_destroy(struct prestera_flow_block *block,
struct flow_cls_offload *f)
{ … }
int prestera_flower_stats(struct prestera_flow_block *block,
struct flow_cls_offload *f)
{ … }