netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next-2.6 v2 00/12] net-caif: introducing CAIF protocol stack
@ 2010-02-16 13:46 sjur.brandeland
  2010-02-16 13:46 ` [PATCH net-next-2.6 v2 01/12] net-caif: add CAIF protocol definitions sjur.brandeland
  0 siblings, 1 reply; 15+ messages in thread
From: sjur.brandeland @ 2010-02-16 13:46 UTC (permalink / raw)
  To: davem, netdev
  Cc: stefano.babic, randy.dunlap, daniel.martensson, kaber, marcel,
	Sjur Braendeland

From: Sjur Braendeland <sjur.brandeland@stericsson.com>

This patch-set introduces the CAIF protocol Stack.
The "Communication CPU to Application CPU Interface" (CAIF) is a packet based
connection-oriented MUX protocol developed by ST-Ericsson for use with its
modems.


CHANGE LOG:
Based on review comment from Marcel Holtmann, Patrick McHardy, and Randy Dunlap
on the previous patch set submitted the 20th Jan the following changes has
been done:
- Removed "CAIF Kernel Client API for CAIF".
- In CAIF Net device: removed IOCTL management.
- In Socket Interface, removed socket option CAIFSO_CHANNEL,
  and replaced it with SO_PRIORITY, SO_BINDTODEVICE and CAIFSO_LINK_SELECT.
- In caif_socket.c, implemented most of CAIF socket options.
- Moved Caif Core protocol files out of directory 'generic'
- Removed glue code cfglue.h, this causes lots of small changes in CAIF core.
- Removed linked list code cflst.h, cflist.c this impacts caifmux.c.
- Added CAIF debug service cfdbgl.c.
- In CAIF Net device, fixed race condition with rtnl when unloading of module.
- In Linux-CAIF.txt, minor updates including fixing some spelling mistakes.
- In README, added more documentation on CAIF Serial debugging.
- In caif_serial.c, the TTY is no longer opened from kernel, but
  the line discipline must be installed from user space utility.
- In caif_serial.c, added debugfs entries for last received and transmitted 
  messages and status information.
- Attempting to conform to kernel-doc formatting conventions.


OVERVIEW:

* CAIF provides a socket interface which can be used to open virtual AT
  channels, create and configure GPRS Data connections.

* A CAIF Network device is also provided for GPRS access.
  This interface can be managed with RTNL.

* A kernel interface is provided allowing Kernel modules to use CAIF.

* A serial link layer layer implemented as a line discipline is currently 
  implemented. Other link interfaces may be contributed at a later stage.

  RTNL
   !
   !	 +------+   +------+   +------+
   !	+------+!  +------+!  +------+!
   !	! Sock !!  !Kernel!!  ! Net  !!
   !	! API  !+  ! API  !+  ! Dev  !+	  <- CAIF "Client" APIs
   !	+------+   +------!   +------+
   !	   !	      !		 !
   !	   +----------!----------+
   !		   +------+		  <- CAIF Core Protocol Implementation
   +------->	   ! CAIF !
		   ! Core !
		   +------+
	     +--------!--------+
	     !		       !
	  +------+	    +-----+
	  ! ldisc!	    ! ... !	  <- Link Layer (Net Devices)
	  +------+	    +-----+
	     !
	  +------+
	  ! tty	 !
	  +------+

Please see Documentation/networking/CAIF for more documentation.


Based on net-next-2.6



Sjur Braendeland (12):
  net-caif: add CAIF protocol definitions
  net-caif: add CAIF socket and configuration headers
  net-caif: add CAIF core protocol stack header files
  net-caif: add CAIF Link layer device header files
  net-caif: add CAIF core protocol stack
  net-caif: add CAIF generic caif support functions
  net-caif: add CAIF device registration functionality
  net-caif: add CAIF socket implementation
  net-caif: add CAIF netdevice
  net-caif: add CAIF Kconfig and Makefiles
  net-caif: add CAIF documentation
  net-caif-driver: add CAIF serial driver (ldisc)

 Documentation/networking/caif/Linux-CAIF.txt |  212 ++++
 Documentation/networking/caif/README         |  110 ++
 drivers/net/Kconfig                          |    2 +
 drivers/net/Makefile                         |    1 +
 drivers/net/caif/Kconfig                     |   15 +
 drivers/net/caif/Makefile                    |   14 +
 drivers/net/caif/caif_serial.c               |  467 ++++++++
 include/linux/caif/caif_config.h             |  163 +++
 include/linux/caif/caif_socket.h             |  195 ++++
 include/linux/caif/if_caif.h                 |   34 +
 include/linux/if_arp.h                       |    1 +
 include/linux/if_ether.h                     |    1 +
 include/linux/socket.h                       |    5 +-
 include/linux/tty.h                          |    4 +-
 include/net/caif/caif_dev.h                  |   65 ++
 include/net/caif/caif_device.h               |   57 +
 include/net/caif/caif_layer.h                |  283 +++++
 include/net/caif/cfcnfg.h                    |  134 +++
 include/net/caif/cfctrl.h                    |  136 +++
 include/net/caif/cffrml.h                    |   17 +
 include/net/caif/cfmuxl.h                    |   22 +
 include/net/caif/cfpkt.h                     |  274 +++++
 include/net/caif/cfserl.h                    |   13 +
 include/net/caif/cfsrvl.h                    |   34 +
 net/Kconfig                                  |    2 +
 net/Makefile                                 |    1 +
 net/caif/Kconfig                             |   48 +
 net/caif/Makefile                            |   28 +
 net/caif/caif_config_util.c                  |  122 ++
 net/caif/caif_dev.c                          |  398 +++++++
 net/caif/caif_socket.c                       | 1526 ++++++++++++++++++++++++++
 net/caif/cfcnfg.c                            |  531 +++++++++
 net/caif/cfctrl.c                            |  701 ++++++++++++
 net/caif/cfdbgl.c                            |   40 +
 net/caif/cfdgml.c                            |  108 ++
 net/caif/cffrml.c                            |  151 +++
 net/caif/cfmuxl.c                            |  246 +++++
 net/caif/cfpkt_skbuff.c                      |  595 ++++++++++
 net/caif/cfrfml.c                            |  106 ++
 net/caif/cfserl.c                            |  199 ++++
 net/caif/cfsrvl.c                            |  185 ++++
 net/caif/cfutill.c                           |  115 ++
 net/caif/cfveil.c                            |  107 ++
 net/caif/cfvidl.c                            |   65 ++
 net/caif/chnl_net.c                          |  429 ++++++++
 45 files changed, 7959 insertions(+), 3 deletions(-)


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2010-02-16 23:40 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-02-16 13:46 [PATCH net-next-2.6 v2 00/12] net-caif: introducing CAIF protocol stack sjur.brandeland
2010-02-16 13:46 ` [PATCH net-next-2.6 v2 01/12] net-caif: add CAIF protocol definitions sjur.brandeland
2010-02-16 13:46   ` [PATCH net-next-2.6 v2 02/12] net-caif: add CAIF socket and configuration headers sjur.brandeland
2010-02-16 13:46     ` [PATCH net-next-2.6 v2 03/12] net-caif: add CAIF core protocol stack header files sjur.brandeland
2010-02-16 13:46       ` [PATCH net-next-2.6 v2 04/12] net-caif: add CAIF Link layer device " sjur.brandeland
2010-02-16 13:46         ` [PATCH net-next-2.6 v2 05/12] net-caif: add CAIF core protocol stack sjur.brandeland
2010-02-16 13:46           ` [PATCH net-next-2.6 v2 06/12] net-caif: add CAIF generic caif support functions sjur.brandeland
2010-02-16 13:46             ` [PATCH net-next-2.6 v2 07/12] net-caif: add CAIF device registration functionality sjur.brandeland
2010-02-16 13:46               ` [PATCH net-next-2.6 v2 08/12] net-caif: add CAIF socket implementation sjur.brandeland
2010-02-16 13:46                 ` [PATCH net-next-2.6 v2 09/12] net-caif: add CAIF netdevice sjur.brandeland
2010-02-16 13:46                   ` [PATCH net-next-2.6 v2 10/12] net-caif: add CAIF Kconfig and Makefiles sjur.brandeland
2010-02-16 13:46                     ` [PATCH net-next-2.6 v2 11/12] net-caif: add CAIF documentation sjur.brandeland
2010-02-16 13:46                       ` [PATCH net-next-2.6 v2 12/12] net-caif-driver: add CAIF serial driver (ldisc) sjur.brandeland
2010-02-16 15:57                 ` [PATCH net-next-2.6 v2 08/12] net-caif: add CAIF socket implementation Marcel Holtmann
2010-02-16 23:40     ` [PATCH net-next-2.6 v2 02/12] net-caif: add CAIF socket and configuration headers David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).