Subject: RE: [L2tpext] Please Review our Algorithm for Auto Detection

From: "Daniel Feldman" <[email-masked]>
Date: Wed, 15 May 2002 09:06:50 +0200

Hi Nurit,
	nice to hear from you again.
	I would say this algorithm may work, only in case you are
COMPLETELY sure that you cannot receive other packets such as XXX over
ATM.
	I would say that in the generic case you don't have to
differentiate between VC-Mux and LLC encapsulated packets, since in the
case of VC-Mux you have to choose a priori the protocol running over
ATM. In fact, if you take a look at RFC2515, you can see that part of
the definition of the VCC is the kind of encapsulation...
	Regards,
		Daniel Feldman

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Daniel Feldman
System Architecture Team Leader, IC4IC Ltd.
office:   +972(4)959-4644 ext. 121
mobile: +972(55)99-0299
fax:      +972(4)959-4944
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

-----Original Message-----
From: Nurit Sprecher [mailto:[email-masked]]
Sent: Tuesday, May 14, 2002 12:23 PM
To: 'PPPoE Mailing List (E-mail)'; 'L2tp (E-mail)'; [email-masked]';
[email-masked]'; [email-masked]'; 'Manuel Stol'
Subject: [L2tpext] Please Review our Algorithm for Auto Detection

My product works in an environment through which I expect  to receive
only
PPPoA or PPPoE over ATM packets. The AAL5 encapsulation format of the
packets may be either VC Mux or LLC. 

Thus, the packets can be one of the following:
*	PPP over ATM using AAL5 VC Mux encapsulation format.
*	PPP over ATM using AAL5 LLC encapsulation format.
*	PPPoE over ATM using AAL5 VC Mux encapsulation format.
*	PPPoE over ATM using AAL5 LLC encapsulation format.

I would like to perform auto detection between these possible packets,
according to the following algorithm. I’ll appreciate if you can review
it
and confirm me that it is working, and I did not miss any point.

The Algorithm for auto detection:

The first word of the packet should be inspected:
*	If the first word is 0xAAAA, then the packet is PPPoE over ATM
using
AAL5 LLC encapsulation format.
*	If the first word is 0x0000, then the packet is PPPoE over ATM
using
AAL5 VC Mux encapsulation format.
*	If the first word is 0xFEFE, then the packet is PPP over ATM
using
AAL5 LLC encapsulation format.
*	If the first word is other than the three option appearing
above,
then the packet is PPP over ATM using AAL5 VC Mux encapsulation format,
and
the first word is actually the PPP protocol ID, which its values are
defined
by IANA and attached below. As we can see, there is no conflict between
the
three values above and the protocol ID possible values.

Thanks in advance, Nurit.

Assigned PPP DLL Protocol Numbers

Value (in hex)  Protocol Name                       Reference
--------------  ----------------------------------  ---------
0001		Padding Protocol
0003            ROHC small-CID                      [RFC3095]
0005            ROHC large-CID                      [RFC3095]
0007 to 001f    reserved (transparency inefficient)
0021            Internet Protocol version 4
0023            OSI Network Layer
0025            Xerox NS IDP
0027            DECnet Phase IV
0029            Appletalk
002b            Novell IPX
002d            Van Jacobson Compressed TCP/IP
002f            Van Jacobson Uncompressed TCP/IP
0031            Bridging PDU
0033            Stream Protocol (ST-II)
0035            Banyan Vines
0037            reserved (until 1993)           [Typo in RFC1172]
0039            AppleTalk EDDP
003b            AppleTalk SmartBuffered
003d            Multi-Link                              [RFC1717]
003f            NETBIOS Framing
0041            Cisco Systems
0043            Ascom Timeplex
0045            Fujitsu Link Backup and Load Balancing (LBLB)
0047            DCA Remote Lan
0049            Serial Data Transport Protocol (PPP-SDTP)
004b            SNA over 802.2
004d            SNA
004f            IPv6 Header Compression
0051            KNX Bridging Data                          [ianp]
0053            Encryption                                [Meyer]
0055            Individual Link Encryption                [Meyer]
0057            Internet Protocol version 6              [Hinden]
0059		PPP Muxing			 	[RFC3153]
0061	        RTP IPHC Full Header                    [RFC2509]
0063	        RTP IPHC Compressed TCP                 [RFC2509]
0065	        RTP IPHC Compressed Non TCP             [RFC2509]
0067	        RTP IPHC Compressed UDP 8               [RFC2509]
0069	        RTP IPHC Compressed RTP 8               [RFC2509]
006f            Stampede Bridging
0071            Reserved                                    [Fox]
0073            MP+ Protocol                              [Smith]
007d            reserved (Control Escape)               [RFC1661]
007f            reserved (compression inefficient)      [RFC1662]
0081            Reserved Until 20-Oct-2000		   [IANA]
0083            Reserved Until 20-Oct-2000		   [IANA]
00c1            NTCITS IPI                                [Ungar]
00cf            reserved (PPP NLPID)
00fb            single link compression in multilink    [RFC1962]
00fd            compressed datagram                     [RFC1962]
00ff            reserved (compression inefficient)

02xx-1exx       (compression inefficient)

0201            802.1d Hello Packets
0203            IBM Source Routing BPDU
0205            DEC LANBridge100 Spanning Tree
0207            Cisco Discovery Protocol                   [Sastry]
0209            Netcs Twin Routing                     [Korfmacher]
020b            STP - Scheduled Transfer Protocol           [Segal]     
020d            EDP - Extreme Discovery Protocol          [Grosser]  
0211            Optical Supervisory Channel Protocol (OSCP)[Prasad]
0213            Optical Supervisory Channel Protocol (OSCP)[Prasad]
0231            Luxcom
0233            Sigma Network Systems
0235            Apple Client Server Protocol             [Ridenour]
0281		MPLS Unicast		                  [RFC3032]  
0283            MPLS Multicast				  [RFC3032]
0285		IEEE p1284.4 standard - data packets   [Batchelder]
0287		ETSI TETRA Network Protocol Type 1       [Nieminen]
0289            Multichannel Flow Treatment Protocol       [McCann]

2063	        RTP IPHC Compressed TCP No Delta          [RFC2509]
2065	        RTP IPHC Context State                    [RFC2509]
2067	        RTP IPHC Compressed UDP 16                [RFC2509]
2069	        RTP IPHC Compressed RTP 16                [RFC2509]

4001            Cray Communications Control Protocol        [Stage]
4003            CDPD Mobile Network Registration Protocol   [Quick]
4005		Expand accelerator protocol              [Rachmani]
4007            ODSICP NCP                                 [Arvind]

4009            DOCSIS DLL                                [Gaedtke]
4021            Stacker LZS                               [Simpson]
4023		RefTek Protocol				  [Banfill]
4025            Fibre Channel                           [Rajagopal]
4027            EMIT Protocols				  [Eastham]

8001-801f       Not Used - reserved                       [RFC1661]
8021            Internet Protocol Control Protocol
8023            OSI Network Layer Control Protocol
8025            Xerox NS IDP Control Protocol
8027            DECnet Phase IV Control Protocol
8029            Appletalk Control Protocol
802b            Novell IPX Control Protocol
802d            reserved
802f            reserved
8031            Bridging NCP
8033            Stream Protocol Control Protocol
8035            Banyan Vines Control Protocol
8037		reserved (until 1993)               [See note for 0037]
8039            reserved
803b            reserved
803d            Multi-Link Control Protocol
803f            NETBIOS Framing Control Protocol
8041            Cisco Systems Control Protocol
8043            Ascom Timeplex
8045            Fujitsu LBLB Control Protocol
8047            DCA Remote Lan Network Control Protocol (RLNCP)
8049            Serial Data Control Protocol (PPP-SDCP)
804b            SNA over 802.2 Control Protocol
804d            SNA Control Protocol
804f            IP6 Header Compression Control Protocol
8051            KNX Bridging Control Protocol                    [ianp]
8053            Encryption Control Protocol                     [Meyer]
8055            Individual Link Encryption Control Protocol     [Meyer]
8057            IPv6 Control Protovol                          [Hinden]
8059            PPP Muxing Control Protocol                   [RFC3153]
806f            Stampede Bridging Control Protocol
8073            MP+ Control Protocol                            [Smith]
8071            Reserved                                          [Fox]
807d            Not Used - reserved                           [RFC1661]
8081            Reserved Until 20-Oct-2000                       [IANA]
8083            Reserved Until 20-Oct-2000                       [IANA]
80c1            NTCITS IPI Control Protocol                     [Ungar] 
80cf            Not Used - reserved                           [RFC1661]
80fb            single link compression in multilink control  [RFC1962]
80fd            Compression Control Protocol                  [RFC1962]
80ff		Not Used - reserved                           [RFC1661]

8207            Cisco Discovery Protocol Control               [Sastry]
8209            Netcs Twin Routing                         [Korfmacher]
820b            STP - Control Protocol                          [Segal]
820d            EDPCP - Extreme Discovery Protocol Ctrl Prtcl [Grosser]
8235            Apple Client Server Protocol Control         [Ridenour]
8281            MPLSCP                                        [RFC3032]
8285		IEEE p1284.4 standard - Protocol Control   [Batchelder]
8287		ETSI TETRA TNP1 Control Protocol             [Nieminen]

8289            Multichannel Flow Treatment Protocol           [McCann]

c021            Link Control Protocol
c023            Password Authentication Protocol
c025            Link Quality Report
c027            Shiva Password Authentication Protocol
c029            CallBack Control Protocol (CBCP)
c02b            BACP Bandwidth Allocation Control Protocol     [RFC2125]
c02d            BAP                                            [RFC2125]

c081            Container Control Protocol                         [KEN]
c223            Challenge Handshake Authentication Protocol
c225            RSA Authentication Protocol                   [Narayana]
c227            Extensible Authentication Protocol             [RFC2284]
c229            Mitsubishi Security Info Exch Ptcl (SIEP)         [Seno]
c26f            Stampede Bridging Authorization Protocol
c281            Proprietary Authentication Protocol                [KEN]
c283            Proprietary Authentication Protocol          [Tackabury]
c481            Proprietary Node ID Authentication Protocol        [KEN]

_______________________________________________
L2tpext mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/l2tpext