Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
pppoe.c File Reference
#include <linux/string.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/slab.h>
#include <linux/errno.h>
#include <linux/netdevice.h>
#include <linux/net.h>
#include <linux/inetdevice.h>
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
#include <linux/init.h>
#include <linux/if_ether.h>
#include <linux/if_pppox.h>
#include <linux/ppp_channel.h>
#include <linux/ppp_defs.h>
#include <linux/ppp-ioctl.h>
#include <linux/notifier.h>
#include <linux/file.h>
#include <linux/proc_fs.h>
#include <linux/seq_file.h>
#include <linux/nsproxy.h>
#include <net/net_namespace.h>
#include <net/netns/generic.h>
#include <net/sock.h>
#include <asm/uaccess.h>

Go to the source code of this file.

Data Structures

struct  pppoe_net
 

Macros

#define PPPOE_HASH_BITS   4
 
#define PPPOE_HASH_SIZE   (1 << PPPOE_HASH_BITS)
 
#define PPPOE_HASH_MASK   (PPPOE_HASH_SIZE - 1)
 

Functions

 module_init (pppoe_init)
 
 module_exit (pppoe_exit)
 
 MODULE_AUTHOR ("Michal Ostrowski <[email protected]>")
 
 MODULE_DESCRIPTION ("PPP over Ethernet driver")
 
 MODULE_LICENSE ("GPL")
 
 MODULE_ALIAS_NETPROTO (PF_PPPOX)
 

Macro Definition Documentation

#define PPPOE_HASH_BITS   4

-*- linux-c -*- *********************************************************** Linux PPP over Ethernet (PPPoX/PPPoE) Sockets

PPPoX — Generic PPP encapsulation socket family PPPoE — PPP over Ethernet (RFC 2516)

Version: 0.7.0

070228 : Fix to allow multiple sessions with same remote MAC and same session id by including the local device ifindex in the tuple identifying a session. This also ensures packets can't be injected into a session from interfaces other than the one specified by userspace. Florian Zumbiehl florz.nosp@m.@flo.nosp@m.rz.de (Oh, BTW, this one is YYMMDD, in case you were wondering ...) 220102 : Fix module use count on failure in pppoe_create, pppox_sk -acme 030700 : Fixed connect logic to allow for disconnect. 270700 : Fixed potential SMP problems; we must protect against simultaneous invocation of ppp_input and ppp_unregister_channel. 040800 : Respect reference count mechanisms on net-devices. 200800 : fix kfree(skb) in pppoe_rcv (acme) Module reference count is decremented in the right spot now, guards against sock_put not actually freeing the sk in pppoe_release. 051000 : Initialization cleanup. 111100 : Fix recvmsg. 050101 : Fix PADT procesing. 140501 : Use pppoe_rcv_core to handle all backlog. (Alexey) 170701 : Do not lock_sock with rwlock held. (DaveM) Ignore discovery frames if user has socket locked. (DaveM) Ignore return value of dev_queue_xmit in __pppoe_xmit or else we may kfree an SKB twice. (DaveM) 190701 : When doing copies of skb's in __pppoe_xmit, always delete the original skb that was passed in on success, never on failure. Delete the copy of the skb on failure to avoid a memory leak. 081001 : Misc. cleanup (licence string, non-blocking, prevent reference of device on close). 121301 : New ppp channels interface; cannot unregister a channel from interrupts. Thus, we mark the socket as a ZOMBIE and do the unregistration later. 081002 : seq_file support for proc stuff -acme 111602 : Merge all 2.4 fixes into 2.5/2.6 tree. Label 2.5/2.6 as version 0.7. Spacing cleanup. Author: Michal Ostrowski mostr.nosp@m.ows@.nosp@m.speak.nosp@m.easy.nosp@m..net Contributors: Arnaldo Carvalho de Melo acme@.nosp@m.cone.nosp@m.ctiva.nosp@m..com.nosp@m..br David S. Miller (davem.nosp@m.@red.nosp@m.hat.c.nosp@m.om)

License: This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

Definition at line 88 of file pppoe.c.

#define PPPOE_HASH_MASK   (PPPOE_HASH_SIZE - 1)

Definition at line 90 of file pppoe.c.

#define PPPOE_HASH_SIZE   (1 << PPPOE_HASH_BITS)

Definition at line 89 of file pppoe.c.

Function Documentation

MODULE_ALIAS_NETPROTO ( PF_PPPOX  )
MODULE_AUTHOR ( "Michal Ostrowski <[email protected]>"  )
MODULE_DESCRIPTION ( "PPP over Ethernet driver )
module_exit ( pppoe_exit  )
module_init ( pppoe_init  )
MODULE_LICENSE ( "GPL"  )