linux/drivers/net/ethernet/marvell/prestera/prestera_flow.c

// SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0
/* Copyright (c) 2020 Marvell International Ltd. All rights reserved */

#include <linux/kernel.h>
#include <linux/list.h>

#include "prestera.h"
#include "prestera_acl.h"
#include "prestera_flow.h"
#include "prestera_flower.h"
#include "prestera_matchall.h"
#include "prestera_span.h"

static LIST_HEAD(prestera_block_cb_list);

static int prestera_flow_block_mall_cb(struct prestera_flow_block *block,
				       struct tc_cls_matchall_offload *f)
{}

static int prestera_flow_block_flower_cb(struct prestera_flow_block *block,
					 struct flow_cls_offload *f)
{}

static int prestera_flow_block_cb(enum tc_setup_type type,
				  void *type_data, void *cb_priv)
{}

static void prestera_flow_block_destroy(void *cb_priv)
{}

static struct prestera_flow_block *
prestera_flow_block_create(struct prestera_switch *sw,
			   struct net *net,
			   bool ingress)
{}

static void prestera_flow_block_release(void *cb_priv)
{}

static bool
prestera_flow_block_is_bound(const struct prestera_flow_block *block)
{}

static struct prestera_flow_block_binding *
prestera_flow_block_lookup(struct prestera_flow_block *block,
			   struct prestera_port *port)
{}

static int prestera_flow_block_bind(struct prestera_flow_block *block,
				    struct prestera_port *port)
{}

static int prestera_flow_block_unbind(struct prestera_flow_block *block,
				      struct prestera_port *port)
{}

static struct prestera_flow_block *
prestera_flow_block_get(struct prestera_switch *sw,
			struct flow_block_offload *f,
			bool *register_block,
			bool ingress)
{}

static void prestera_flow_block_put(struct prestera_flow_block *block)
{}

static int prestera_setup_flow_block_bind(struct prestera_port *port,
					  struct flow_block_offload *f, bool ingress)
{}

static void prestera_setup_flow_block_unbind(struct prestera_port *port,
					     struct flow_block_offload *f, bool ingress)
{}

static int prestera_setup_flow_block_clsact(struct prestera_port *port,
					    struct flow_block_offload *f,
					    bool ingress)
{}

int prestera_flow_block_setup(struct prestera_port *port,
			      struct flow_block_offload *f)
{}