#include <linux/if_bridge.h>
#include <linux/mrp_bridge.h>
#include <soc/mscc/ocelot_vcap.h>
#include <uapi/linux/mrp_bridge.h>
#include "ocelot.h"
#include "ocelot_vcap.h"
static const u8 mrp_test_dmac[] = …;
static const u8 mrp_control_dmac[] = …;
static int ocelot_mrp_find_partner_port(struct ocelot *ocelot,
struct ocelot_port *p)
{ … }
static int ocelot_mrp_del_vcap(struct ocelot *ocelot, int id)
{ … }
static int ocelot_mrp_redirect_add_vcap(struct ocelot *ocelot, int src_port,
int dst_port)
{ … }
static void ocelot_populate_mrp_trap_key(struct ocelot_vcap_filter *filter)
{ … }
static int ocelot_mrp_trap_add(struct ocelot *ocelot, int port)
{ … }
static int ocelot_mrp_trap_del(struct ocelot *ocelot, int port)
{ … }
static void ocelot_mrp_save_mac(struct ocelot *ocelot,
struct ocelot_port *port)
{ … }
static void ocelot_mrp_del_mac(struct ocelot *ocelot,
struct ocelot_port *port)
{ … }
int ocelot_mrp_add(struct ocelot *ocelot, int port,
const struct switchdev_obj_mrp *mrp)
{ … }
EXPORT_SYMBOL(…);
int ocelot_mrp_del(struct ocelot *ocelot, int port,
const struct switchdev_obj_mrp *mrp)
{ … }
EXPORT_SYMBOL(…);
int ocelot_mrp_add_ring_role(struct ocelot *ocelot, int port,
const struct switchdev_obj_ring_role_mrp *mrp)
{ … }
EXPORT_SYMBOL(…);
int ocelot_mrp_del_ring_role(struct ocelot *ocelot, int port,
const struct switchdev_obj_ring_role_mrp *mrp)
{ … }
EXPORT_SYMBOL(…);