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

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

#include <net/sock.h>
#include <linux/module.h>
#include <linux/netlink.h>
#include <linux/netdevice.h>
#include "rmnet_config.h"
#include "rmnet_handlers.h"
#include "rmnet_vnd.h"
#include "rmnet_private.h"
#include "rmnet_map.h"

/* Local Definitions and Declarations */

static const struct nla_policy rmnet_policy[IFLA_RMNET_MAX + 1] =;

static int rmnet_is_real_dev_registered(const struct net_device *real_dev)
{}

/* Needs rtnl lock */
struct rmnet_port*
rmnet_get_port_rtnl(const struct net_device *real_dev)
{}

static int rmnet_unregister_real_device(struct net_device *real_dev)
{}

static int rmnet_register_real_device(struct net_device *real_dev,
				      struct netlink_ext_ack *extack)
{}

static void rmnet_unregister_bridge(struct rmnet_port *port)
{}

static int rmnet_newlink(struct net *src_net, struct net_device *dev,
			 struct nlattr *tb[], struct nlattr *data[],
			 struct netlink_ext_ack *extack)
{}

static void rmnet_dellink(struct net_device *dev, struct list_head *head)
{}

static void rmnet_force_unassociate_device(struct net_device *real_dev)
{}

static int rmnet_config_notify_cb(struct notifier_block *nb,
				  unsigned long event, void *data)
{}

static struct notifier_block rmnet_dev_notifier __read_mostly =;

static int rmnet_rtnl_validate(struct nlattr *tb[], struct nlattr *data[],
			       struct netlink_ext_ack *extack)
{}

static int rmnet_changelink(struct net_device *dev, struct nlattr *tb[],
			    struct nlattr *data[],
			    struct netlink_ext_ack *extack)
{}

static size_t rmnet_get_size(const struct net_device *dev)
{}

static int rmnet_fill_info(struct sk_buff *skb, const struct net_device *dev)
{}

struct rtnl_link_ops rmnet_link_ops __read_mostly =;

struct rmnet_port *rmnet_get_port_rcu(struct net_device *real_dev)
{}

struct rmnet_endpoint *rmnet_get_endpoint(struct rmnet_port *port, u8 mux_id)
{}

int rmnet_add_bridge(struct net_device *rmnet_dev,
		     struct net_device *slave_dev,
		     struct netlink_ext_ack *extack)
{}

int rmnet_del_bridge(struct net_device *rmnet_dev,
		     struct net_device *slave_dev)
{}

/* Startup/Shutdown */

static int __init rmnet_init(void)
{}

static void __exit rmnet_exit(void)
{}

module_init()
module_exit()
MODULE_ALIAS_RTNL_LINK();
MODULE_DESCRIPTION();
MODULE_LICENSE();