linux/drivers/net/ethernet/qualcomm/rmnet/rmnet_vnd.c

// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2013-2018, The Linux Foundation. All rights reserved.
 *
 * RMNET Data virtual network driver
 */

#include <linux/etherdevice.h>
#include <linux/ethtool.h>
#include <linux/if_arp.h>
#include <net/pkt_sched.h>
#include "rmnet_config.h"
#include "rmnet_handlers.h"
#include "rmnet_private.h"
#include "rmnet_map.h"
#include "rmnet_vnd.h"

/* RX/TX Fixup */

void rmnet_vnd_rx_fixup(struct sk_buff *skb, struct net_device *dev)
{}

void rmnet_vnd_tx_fixup_len(unsigned int len, struct net_device *dev)
{}

void rmnet_vnd_tx_fixup(struct sk_buff *skb, struct net_device *dev)
{}

/* Network Device Operations */

static netdev_tx_t rmnet_vnd_start_xmit(struct sk_buff *skb,
					struct net_device *dev)
{}

static int rmnet_vnd_headroom(struct rmnet_port *port)
{}

static int rmnet_vnd_change_mtu(struct net_device *rmnet_dev, int new_mtu)
{}

static int rmnet_vnd_get_iflink(const struct net_device *dev)
{}

static int rmnet_vnd_init(struct net_device *dev)
{}

static void rmnet_vnd_uninit(struct net_device *dev)
{}

static void rmnet_get_stats64(struct net_device *dev,
			      struct rtnl_link_stats64 *s)
{}

static const struct net_device_ops rmnet_vnd_ops =;

static const char rmnet_gstrings_stats[][ETH_GSTRING_LEN] =;

static void rmnet_get_strings(struct net_device *dev, u32 stringset, u8 *buf)
{}

static int rmnet_get_sset_count(struct net_device *dev, int sset)
{}

static void rmnet_get_ethtool_stats(struct net_device *dev,
				    struct ethtool_stats *stats, u64 *data)
{}

static int rmnet_get_coalesce(struct net_device *dev,
			      struct ethtool_coalesce *coal,
			      struct kernel_ethtool_coalesce *kernel_coal,
			      struct netlink_ext_ack *extack)
{}

static int rmnet_set_coalesce(struct net_device *dev,
			      struct ethtool_coalesce *coal,
			      struct kernel_ethtool_coalesce *kernel_coal,
			      struct netlink_ext_ack *extack)
{}

static const struct ethtool_ops rmnet_ethtool_ops =;

/* Called by kernel whenever a new rmnet<n> device is created. Sets MTU,
 * flags, ARP type, needed headroom, etc...
 */
void rmnet_vnd_setup(struct net_device *rmnet_dev)
{}

/* Exposed API */

int rmnet_vnd_newlink(u8 id, struct net_device *rmnet_dev,
		      struct rmnet_port *port,
		      struct net_device *real_dev,
		      struct rmnet_endpoint *ep,
		      struct netlink_ext_ack *extack)

{}

int rmnet_vnd_dellink(u8 id, struct rmnet_port *port,
		      struct rmnet_endpoint *ep)
{}

int rmnet_vnd_do_flow_control(struct net_device *rmnet_dev, int enable)
{}

int rmnet_vnd_validate_real_dev_mtu(struct net_device *real_dev)
{}

int rmnet_vnd_update_dev_mtu(struct rmnet_port *port,
			     struct net_device *real_dev)
{}