linux/net/dsa/tag_ocelot.c

// SPDX-License-Identifier: GPL-2.0
/* Copyright 2019 NXP
 */
#include <linux/dsa/ocelot.h>

#include "tag.h"

#define OCELOT_NAME
#define SEVILLE_NAME

/* If the port is under a VLAN-aware bridge, remove the VLAN header from the
 * payload and move it into the DSA tag, which will make the switch classify
 * the packet to the bridge VLAN. Otherwise, leave the classified VLAN at zero,
 * which is the pvid of standalone and VLAN-unaware bridge ports.
 */
static void ocelot_xmit_get_vlan_info(struct sk_buff *skb, struct dsa_port *dp,
				      u64 *vlan_tci, u64 *tag_type)
{}

static void ocelot_xmit_common(struct sk_buff *skb, struct net_device *netdev,
			       __be32 ifh_prefix, void **ifh)
{}

static struct sk_buff *ocelot_xmit(struct sk_buff *skb,
				   struct net_device *netdev)
{}

static struct sk_buff *seville_xmit(struct sk_buff *skb,
				    struct net_device *netdev)
{}

static struct sk_buff *ocelot_rcv(struct sk_buff *skb,
				  struct net_device *netdev)
{}

static const struct dsa_device_ops ocelot_netdev_ops =;

DSA_TAG_DRIVER(ocelot_netdev_ops);
MODULE_ALIAS_DSA_TAG_DRIVER();

static const struct dsa_device_ops seville_netdev_ops =;

DSA_TAG_DRIVER(seville_netdev_ops);
MODULE_ALIAS_DSA_TAG_DRIVER();

static struct dsa_tag_driver *ocelot_tag_driver_array[] =;

module_dsa_tag_drivers(ocelot_tag_driver_array);

MODULE_DESCRIPTION();
MODULE_LICENSE();