Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
ppp_generic.c File Reference
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/kmod.h>
#include <linux/init.h>
#include <linux/list.h>
#include <linux/idr.h>
#include <linux/netdevice.h>
#include <linux/poll.h>
#include <linux/ppp_defs.h>
#include <linux/filter.h>
#include <linux/ppp-ioctl.h>
#include <linux/ppp_channel.h>
#include <linux/ppp-comp.h>
#include <linux/skbuff.h>
#include <linux/rtnetlink.h>
#include <linux/if_arp.h>
#include <linux/ip.h>
#include <linux/tcp.h>
#include <linux/spinlock.h>
#include <linux/rwsem.h>
#include <linux/stddef.h>
#include <linux/device.h>
#include <linux/mutex.h>
#include <linux/slab.h>
#include <asm/unaligned.h>
#include <net/slhc_vj.h>
#include <linux/atomic.h>
#include <linux/nsproxy.h>
#include <net/net_namespace.h>
#include <net/netns/generic.h>

Go to the source code of this file.

Data Structures

struct  ppp_file
 
struct  ppp_link_stats
 
struct  ppp
 
struct  channel
 
struct  ppp_net
 
struct  ppp_mp_skb_parm
 
struct  compressor_entry
 

Macros

#define PPP_VERSION   "2.4.2"
 
#define NP_IP   0 /* Internet Protocol V4 */
 
#define NP_IPV6   1 /* Internet Protocol V6 */
 
#define NP_IPX   2 /* IPX protocol */
 
#define NP_AT   3 /* Appletalk protocol */
 
#define NP_MPLS_UC   4 /* MPLS unicast */
 
#define NP_MPLS_MC   5 /* MPLS multicast */
 
#define NUM_NP   6 /* Number of NPs. */
 
#define MPHDRLEN   6 /* multilink protocol header length */
 
#define MPHDRLEN_SSN   4 /* ditto with short sequence numbers */
 
#define PF_TO_X(pf, X)   container_of(pf, X, file)
 
#define PF_TO_PPP(pf)   PF_TO_X(pf, struct ppp)
 
#define PF_TO_CHANNEL(pf)   PF_TO_X(pf, struct channel)
 
#define SC_FLAG_BITS
 
#define PPP_PROTO(skb)   get_unaligned_be16((skb)->data)
 
#define PPP_MAX_RQLEN   32
 
#define PPP_MP_MAX_QLEN   128
 
#define B   0x80 /* this fragment begins a packet */
 
#define E   0x40 /* this fragment ends a packet */
 
#define seq_before(a, b)   ((s32)((a) - (b)) < 0)
 
#define seq_after(a, b)   ((s32)((a) - (b)) > 0)
 
#define ppp_xmit_lock(ppp)   spin_lock_bh(&(ppp)->wlock)
 
#define ppp_xmit_unlock(ppp)   spin_unlock_bh(&(ppp)->wlock)
 
#define ppp_recv_lock(ppp)   spin_lock_bh(&(ppp)->rlock)
 
#define ppp_recv_unlock(ppp)   spin_unlock_bh(&(ppp)->rlock)
 
#define ppp_lock(ppp)
 
#define ppp_unlock(ppp)
 
#define PPP_MAJOR   108
 
#define PPP_MP_CB(skb)   ((struct ppp_mp_skb_parm *)((skb)->cb))
 

Functions

struct rtnl_link_stats64ppp_get_stats64 (struct net_device *dev, struct rtnl_link_stats64 *stats64)
 
void ppp_input (struct ppp_channel *chan, struct sk_buff *skb)
 
void ppp_input_error (struct ppp_channel *chan, int code)
 
int ppp_register_channel (struct ppp_channel *chan)
 
int ppp_register_net_channel (struct net *net, struct ppp_channel *chan)
 
int ppp_channel_index (struct ppp_channel *chan)
 
int ppp_unit_number (struct ppp_channel *chan)
 
charppp_dev_name (struct ppp_channel *chan)
 
void ppp_unregister_channel (struct ppp_channel *chan)
 
void ppp_output_wakeup (struct ppp_channel *chan)
 
int ppp_register_compressor (struct compressor *cp)
 
void ppp_unregister_compressor (struct compressor *cp)
 
 module_init (ppp_init)
 
 module_exit (ppp_cleanup)
 
 EXPORT_SYMBOL (ppp_register_net_channel)
 
 EXPORT_SYMBOL (ppp_register_channel)
 
 EXPORT_SYMBOL (ppp_unregister_channel)
 
 EXPORT_SYMBOL (ppp_channel_index)
 
 EXPORT_SYMBOL (ppp_unit_number)
 
 EXPORT_SYMBOL (ppp_dev_name)
 
 EXPORT_SYMBOL (ppp_input)
 
 EXPORT_SYMBOL (ppp_input_error)
 
 EXPORT_SYMBOL (ppp_output_wakeup)
 
 EXPORT_SYMBOL (ppp_register_compressor)
 
 EXPORT_SYMBOL (ppp_unregister_compressor)
 
 MODULE_LICENSE ("GPL")
 
 MODULE_ALIAS_CHARDEV (PPP_MAJOR, 0)
 
 MODULE_ALIAS ("devname:ppp")
 

Macro Definition Documentation

#define B   0x80 /* this fragment begins a packet */

Definition at line 241 of file ppp_generic.c.

#define E   0x40 /* this fragment ends a packet */

Definition at line 242 of file ppp_generic.c.

#define MPHDRLEN   6 /* multilink protocol header length */

Definition at line 70 of file ppp_generic.c.

#define MPHDRLEN_SSN   4 /* ditto with short sequence numbers */

Definition at line 71 of file ppp_generic.c.

#define NP_AT   3 /* Appletalk protocol */

Definition at line 65 of file ppp_generic.c.

#define NP_IP   0 /* Internet Protocol V4 */

Definition at line 62 of file ppp_generic.c.

#define NP_IPV6   1 /* Internet Protocol V6 */

Definition at line 63 of file ppp_generic.c.

#define NP_IPX   2 /* IPX protocol */

Definition at line 64 of file ppp_generic.c.

#define NP_MPLS_MC   5 /* MPLS multicast */

Definition at line 67 of file ppp_generic.c.

#define NP_MPLS_UC   4 /* MPLS unicast */

Definition at line 66 of file ppp_generic.c.

#define NUM_NP   6 /* Number of NPs. */

Definition at line 68 of file ppp_generic.c.

#define PF_TO_CHANNEL (   pf)    PF_TO_X(pf, struct channel)

Definition at line 94 of file ppp_generic.c.

#define PF_TO_PPP (   pf)    PF_TO_X(pf, struct ppp)

Definition at line 93 of file ppp_generic.c.

#define PF_TO_X (   pf,
  X 
)    container_of(pf, X, file)

Definition at line 91 of file ppp_generic.c.

#define ppp_lock (   ppp)
Value:
ppp_recv_lock(ppp); } while (0)

Definition at line 365 of file ppp_generic.c.

#define PPP_MAJOR   108

Definition at line 907 of file ppp_generic.c.

#define PPP_MAX_RQLEN   32

Definition at line 230 of file ppp_generic.c.

#define PPP_MP_CB (   skb)    ((struct ppp_mp_skb_parm *)((skb)->cb))

Definition at line 1606 of file ppp_generic.c.

#define PPP_MP_MAX_QLEN   128

Definition at line 238 of file ppp_generic.c.

#define PPP_PROTO (   skb)    get_unaligned_be16((skb)->data)

Definition at line 227 of file ppp_generic.c.

#define ppp_recv_lock (   ppp)    spin_lock_bh(&(ppp)->rlock)

Definition at line 363 of file ppp_generic.c.

#define ppp_recv_unlock (   ppp)    spin_unlock_bh(&(ppp)->rlock)

Definition at line 364 of file ppp_generic.c.

#define ppp_unlock (   ppp)
Value:
ppp_xmit_unlock(ppp); } while (0)

Definition at line 367 of file ppp_generic.c.

#define PPP_VERSION   "2.4.2"

Definition at line 57 of file ppp_generic.c.

#define ppp_xmit_lock (   ppp)    spin_lock_bh(&(ppp)->wlock)

Definition at line 361 of file ppp_generic.c.

#define ppp_xmit_unlock (   ppp)    spin_unlock_bh(&(ppp)->wlock)

Definition at line 362 of file ppp_generic.c.

#define SC_FLAG_BITS
#define seq_after (   a,
  b 
)    ((s32)((a) - (b)) > 0)

Definition at line 246 of file ppp_generic.c.

#define seq_before (   a,
  b 
)    ((s32)((a) - (b)) < 0)

Definition at line 245 of file ppp_generic.c.

Function Documentation

EXPORT_SYMBOL ( ppp_register_net_channel  )
EXPORT_SYMBOL ( ppp_register_channel  )
EXPORT_SYMBOL ( ppp_unregister_channel  )
EXPORT_SYMBOL ( ppp_channel_index  )
EXPORT_SYMBOL ( ppp_unit_number  )
EXPORT_SYMBOL ( ppp_dev_name  )
EXPORT_SYMBOL ( ppp_input  )
EXPORT_SYMBOL ( ppp_input_error  )
EXPORT_SYMBOL ( ppp_output_wakeup  )
EXPORT_SYMBOL ( ppp_register_compressor  )
EXPORT_SYMBOL ( ppp_unregister_compressor  )
MODULE_ALIAS ( "devname:ppp"  )
MODULE_ALIAS_CHARDEV ( PPP_MAJOR  ,
 
)
module_exit ( ppp_cleanup  )
module_init ( ppp_init  )
MODULE_LICENSE ( "GPL"  )
int ppp_channel_index ( struct ppp_channel chan)

Definition at line 2241 of file ppp_generic.c.

char* ppp_dev_name ( struct ppp_channel chan)

Definition at line 2270 of file ppp_generic.c.

struct rtnl_link_stats64* ppp_get_stats64 ( struct net_device dev,
struct rtnl_link_stats64 stats64 
)
read

Definition at line 1038 of file ppp_generic.c.

void ppp_input ( struct ppp_channel chan,
struct sk_buff skb 
)

Definition at line 1620 of file ppp_generic.c.

void ppp_input_error ( struct ppp_channel chan,
int  code 
)

Definition at line 1659 of file ppp_generic.c.

void ppp_output_wakeup ( struct ppp_channel chan)

Definition at line 2327 of file ppp_generic.c.

int ppp_register_channel ( struct ppp_channel chan)

Definition at line 2199 of file ppp_generic.c.

int ppp_register_compressor ( struct compressor cp)

Definition at line 2548 of file ppp_generic.c.

int ppp_register_net_channel ( struct net net,
struct ppp_channel chan 
)

Definition at line 2205 of file ppp_generic.c.

int ppp_unit_number ( struct ppp_channel chan)

Definition at line 2253 of file ppp_generic.c.

void ppp_unregister_channel ( struct ppp_channel chan)

Definition at line 2290 of file ppp_generic.c.

void ppp_unregister_compressor ( struct compressor cp)

Definition at line 2570 of file ppp_generic.c.