Commit 63f96072 authored by James Chapman's avatar James Chapman Committed by David S. Miller

ppp: Add ppp_dev_name() exported function

ppp_dev_name() gives PPP users visibility of a ppp channel's device
name. This can be used by L2TP drivers to dump the assigned PPP
interface name.
Signed-off-by: default avatarJames Chapman <jchapman@katalix.com>
Reviewed-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent fd558d18
...@@ -2162,6 +2162,24 @@ int ppp_unit_number(struct ppp_channel *chan) ...@@ -2162,6 +2162,24 @@ int ppp_unit_number(struct ppp_channel *chan)
return unit; return unit;
} }
/*
* Return the PPP device interface name of a channel.
*/
char *ppp_dev_name(struct ppp_channel *chan)
{
struct channel *pch = chan->ppp;
char *name = NULL;
if (pch) {
read_lock_bh(&pch->upl);
if (pch->ppp && pch->ppp->dev)
name = pch->ppp->dev->name;
read_unlock_bh(&pch->upl);
}
return name;
}
/* /*
* Disconnect a channel from the generic layer. * Disconnect a channel from the generic layer.
* This must be called in process context. * This must be called in process context.
...@@ -2890,6 +2908,7 @@ EXPORT_SYMBOL(ppp_register_channel); ...@@ -2890,6 +2908,7 @@ EXPORT_SYMBOL(ppp_register_channel);
EXPORT_SYMBOL(ppp_unregister_channel); EXPORT_SYMBOL(ppp_unregister_channel);
EXPORT_SYMBOL(ppp_channel_index); EXPORT_SYMBOL(ppp_channel_index);
EXPORT_SYMBOL(ppp_unit_number); EXPORT_SYMBOL(ppp_unit_number);
EXPORT_SYMBOL(ppp_dev_name);
EXPORT_SYMBOL(ppp_input); EXPORT_SYMBOL(ppp_input);
EXPORT_SYMBOL(ppp_input_error); EXPORT_SYMBOL(ppp_input_error);
EXPORT_SYMBOL(ppp_output_wakeup); EXPORT_SYMBOL(ppp_output_wakeup);
......
...@@ -72,6 +72,9 @@ extern int ppp_channel_index(struct ppp_channel *); ...@@ -72,6 +72,9 @@ extern int ppp_channel_index(struct ppp_channel *);
/* Get the unit number associated with a channel, or -1 if none */ /* Get the unit number associated with a channel, or -1 if none */
extern int ppp_unit_number(struct ppp_channel *); extern int ppp_unit_number(struct ppp_channel *);
/* Get the device name associated with a channel, or NULL if none */
extern char *ppp_dev_name(struct ppp_channel *);
/* /*
* SMP locking notes: * SMP locking notes:
* The channel code must ensure that when it calls ppp_unregister_channel, * The channel code must ensure that when it calls ppp_unregister_channel,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment