throbber
USOO6996099B1
`
`(12) United States Patent
`Kadambi et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 6,996,099 B1
`Feb. 7, 2006
`
`(54)
`
`(75)
`
`(73)
`
`(*)
`
`(21)
`(22)
`
`(63)
`
`(60)
`
`(51)
`
`(52)
`(58)
`
`(56)
`
`NETWORKSWITCH HAVING A
`PROGRAMMABLE COUNTER
`
`Inventors: Shiri Kadambi, Los Altos, CA (US);
`Shekhar Ambe, San Jose, CA (US)
`Assignee: Broadcom Corporation, Irvine, CA
`(US)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`Appl. No.: 09/527,999
`
`Notice:
`
`Filed:
`
`Mar 17, 2000
`Related U.S. Application Data
`Continuation-in-part of application No. 09/343,409,
`filed on Jun. 30, 1999.
`Provisional application No. 60/149.706, filed on Aug.
`20, 1999, provisional application No. 60/135,603,
`filed on May 24, 1999, provisional application No.
`60/124878, filed on Mar. 17, 1999.
`
`Int. Cl.
`(2006.01)
`H04L 12/56
`U.S. Cl. ...................................................... 370,389
`Field of Classification Search ........ 370/229-231,
`370/412-424,395.4–395.53
`See application file for complete Search history.
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`6/1995 Chung
`5,423,015 A
`
`5,473,607 A
`12/1995 Hausman et al.
`Hoang et al.
`7/1998
`5,787,084. A
`6/1999
`5,909,686 A *
`Muller et al. ............ 707/104.1
`2/2000
`6,021,132 A *
`Muller et al. ............... 370/412
`7/2000
`6,094.435 A *
`Hoffman et al. ......
`... 370/414
`6,246,680 B1* 6/2001
`Muller et al. .....
`... 370/389
`6,263,368 B1* 7/2001
`Martin ....................... 709/224
`6,526,060 B1* 2/2003 Hughes et al. ........... 370/395.4
`6,643,260 B1* 11/2003 Kloth et al. ................ 370/235
`FOREIGN PATENT DOCUMENTS
`
`1/1999
`1/1999
`1/1999
`1/1999
`1/1999
`1/1999
`1/1999
`
`WO99/00938
`WO
`WO99/00939
`WO
`WO99/00944
`WO
`WO99/00945
`WO
`WO99/00948
`WO
`WO99/00949
`WO
`WO99/00950
`WO
`* cited by examiner
`Primary Examiner-Chi Pham
`Assistant Examiner Thai Hoang
`(74) Attorney, Agent, or Firm-Squire, Sanders & Dempsey,
`LLP.
`
`(57)
`
`ABSTRACT
`
`A network switch for switching packets from a source to a
`destination includes a Source port for receiving an incoming
`packet from a Source, a destination port that contains a path
`to a destination for the packet, and a programmable counter
`unit for counting a number of packets of Selected packet
`types which are received by the Switch.
`
`8 Claims, 47 Drawing Sheets
`
`
`
`20a
`
`DATAPACKET
`
`112
`
`14a
`
`
`
`INGRESS
`SUBMODULE
`
`EGRESS
`SUBMODULE
`
`DISPATCHUNIT
`
`
`
`ARL & L3
`TABLES
`
`22a
`
`23a
`
`Ex.1026
`VERIZON / Page 1 of 81
`
`

`

`U.S. Patent
`
`US 6,996,099 B1
`
`II
`
`TVNYISILXH
`
`
`
`
`
`
`
`Ex.1026
`VERIZON / Page 2 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 2 of 47
`
`US 6,996,099 B1
`
`£8 ~)-S - - - - - - - - - - - --
`
`
`
`Ex.1026
`VERIZON / Page 3 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 3 of 47
`
`US 6,996,099 B1
`
`Fig.3
`
`Cn0
`
`Cnl
`
`Cn2
`
`Cn
`
`
`
`LOCKED AND
`SYNCTO EACH
`OTHER
`
`C-CHANNEL
`
`P-CHANNEL
`
`S-CHANNEL
`
`Ex.1026
`VERIZON / Page 4 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 4 of 47
`
`US 6,996,099 B1
`
`
`
`3.TOXOTTIÑO I
`
`KORIXKnWRX@X@WW)
`
`
`
`W NOI. LO?IS
`
`Ex.1026
`VERIZON / Page 5 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 5 of 47
`
`US 6,996,099 B1
`
`Fig.5
`
`PROTOCOL CHANNEL MESSAGES
`30 28 26 24 2220 18 1614 12 108 6 42 0.
`OPCP RESE NXT SRC DEST PORT | COS
`CRC
`ODE IPX RWEDICELL
`
`62 60 58 56
`
`44 42 40 3836 3432
`54 5250 48 I 46
`MODULEIDBTMAP
`
`30 28 26 24
`
`
`
`22
`
`20
`
`18 161412 1086 42 0.
`Bc McPORTBTMAP
`62 60 58 5654 52 50 48 I 46
`44 42 40 38 36 .3432
`if
`new checks M
`MMM.DDITIDIME
`30 28 26 24 2220 1816 412 1086 420
`UNTAGGED PORTBITMAP1 SRCPORT NUMBER(bit0.5)
`
`62 60 5356 54 5250 4846 44 42 40 38 3634.32
`v Age
`SRCPORT
`| REMOTEPORT
`
`30.28 26 24 2220 181614121086 42 0.
`CPU OPCODES
`TIMESTAMP
`IOISIS ISI stili? I ( It Is IST II 2
`
`Ex.1026
`VERIZON / Page 6 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 6 of 47
`
`US 6,996,099 B1
`
`Fig.6
`
`
`
`SIDE BAND CHANNEL MESSAGES
`30.28 26 24
`22 201816 412 1086 4
`OPCODE
`DEST PORT |
`SRCPORT
`DataLen
`DESTINATION
`DEWID
`
`O
`2
`COS C
`
`ADDRESS
`DATA
`
`Ex.1026
`VERIZON / Page 7 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 7 of 47
`
`US 6,996,099 B1
`
`Fig.7
`PRIOR ART
`
`
`
`LAYER SEVEN
`APPLICATION
`
`LAYERSIX
`PRESENTATION
`
`LAYER FVE
`SESSION
`
`LAYER FOUR
`TRANSPORT
`
`LAYER THREE
`NETWORK
`
`LAYER TWO
`DATALINK
`
`LAYER ONE
`PHYSICAL
`
`Ex.1026
`VERIZON / Page 8 of 81
`
`

`

`U.S. Patent
`
`US 6,996,099 B1
`
`8
`
`61
`
`<T?5->
`
`–
`
`
`
`
`
`JLINIA HOIW, ISIQI
`
`
`
`Byz
`
`
`
`ZI ILEIXOWI WJVCI
`
`BOZ
`
`Ex.1026
`VERIZON / Page 9 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 9 of 47
`
`US 6,996,099 B1
`
`S
`
`-1
`
`:
`
`s
`
`s
`
`N
`
`s
`
`s
`
`Ex.1026
`VERIZON / Page 10 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 10 of 47
`
`US 6,996,099 B1
`
`Fig.10
`
`60
`
`GBP
`
`70
`
`CPS CHANNEL
`
`R-CHANNEL32 BITS
`
`CELL
`7
`is:
`FM
`M---- EgM
`
`76
`
`76
`
`76
`
`a
`
`MAC TX FIFO
`
`in II.
`
`MAC TX FIFO
`
`MAC TX FIFO
`
`TX MAC | 40
`
`Ex.1026
`VERIZON / Page 11 of 81
`
`

`

`U.S. Patent
`
`US 6,996,099 B1
`
`
`
`+– I SINIT
`
`~*~ Z SINIT
`
`?– 9 SINIT
`
`Ex.1026
`VERIZON / Page 12 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 12 of 47
`
`US 6,996,099 B1
`
`
`
`
`
`ESTPACKET
`LENGTH =
`EGRESSMGR.
`INCOMING CELL
`COUNT
`
`2
`
`
`
`
`
`
`
`EST.
`CELL COUNT
`GBPCOUNT (EST
`CELL COUNT
`
`
`
`Ex.1026
`VERIZON / Page 13 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 13 0f 47
`
`US 6,996,099 B1
`
`Fig.13
`
`R-CHANNEL
`
`32
`3 GIL, JP, NP. (19:0GPID/CPID
`III
`PDNX
`
`PIDN
`134 /cell DATA
`PEN
`/ POINTER CPDMY
`SCHEDULER / /
`::/
`/
`F
`
`/
`
`r
`
`CBP
`
`- 19
`
`SO
`
`CMC -79
`
`76
`
`\
`
`3.
`
`TRANSACTION
`FIFO WITH 8
`COS
`ab
`PRIORITY Qs
`133
`
`COS
`MANAGER
`
`
`
`
`
`
`
`
`
`APF
`
`.." reu
`
`MAC TXFEFO
`
`TCU
`
`MRU
`
`UNTAG UNIT
`
`TXMAC
`
`40
`
`NXT CELLACK
`
`NXT CELL REQ
`
`36
`
`138
`
`Ex.1026
`VERIZON / Page 14 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 14 of 47
`
`US 6,996,099 B1
`
`DATA FLOW
`
`
`
`Fig.14
`
`232
`
`PORT BASED
`WLANTABLE
`
`231
`
`ARLENGINE
`(L2/L3SEARCH
`ENGINE)
`
`ARL TABLE
`+ L3 TABLE
`
`2
`
`RULES
`TABLE
`
`2 2
`
`BUFFER
`SLCER
`
`DISPATCH
`UNIT
`
`81-
`
`- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
`CCHNL
`
`Ex.1026
`VERIZON / Page 15 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 15 of 47
`
`US 6,996,099 B1
`
`Fig.15
`
`
`
`FROM INPUT
`FIFO
`
`41
`
`TO RULES
`TABLE
`
`Ex.1026
`VERIZON / Page 16 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 16 of 47
`
`US 6,996,099 B1
`
`
`
`
`
`
`
`
`
`
`
`DATA POSLAVE
`
`ADDRESS 42a
`DATA y
`32
`3 2
`-
`ESLAVE
`POSLAVE
`DATA
`2CMASTER
`IF
`
`
`
`C-CHANNEL 81
`P-CHANNEL 82
`
`S-CHANNEL 83
`
`Ex.1026
`VERIZON / Page 17 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 17 of 47
`
`US 6,996,099 B1
`
`Fi 9 17 FFPPROGRAMMINGFLOW CHART
`
`FFP
`PROGRAMMING
`
`
`
`17-1
`
`IDENTIFY ALL THE
`PROTOCOL FIELDS
`OF INTEREST.
`
`DETERMINE PACKET
`TYPE ANDFILTER
`CONDITIONS.
`
`
`
`CONSTRUCTFILTER
`MASKDEPENDING ON
`FILTER CONDITIONS
`AND PACKETTYPE.
`
`SELECTINCLUSIVE OR
`EXCLUSIVE FILTER
`DEPENDING ON
`PROBLEMTYPE.
`
`17-2
`
`17-3
`
`17-4
`
`17-5
`
`7.7
`
`FILTER
`ONEGRESS
`
`
`
`
`
`
`
`
`
`USE INGRESS
`PORT MASK
`
`17-9
`
`
`
`
`
`
`
`
`
`CONSTRUCTRULES
`TABLE ENTRY.
`
`INSERT THIS ENTRY
`INTORULESTABLE,
`
`7-10
`
`17-11
`
`Ex.1026
`VERIZON / Page 18 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 18 of 47
`
`US 6,996,099 B1
`
`AGE TIMEREXPRED->
`STARTARLAGING
`PROCESS; START WITH
`THE FIRSTARLENTRY
`
`THE PORT BELONG TO
`THIS ARL MODULE
`
`8-1
`
`18-2
`
`Fig.18
`
`IS THE
`HIT BITSET OR
`ISASTATIC
`ENTRY
`
`DELETE THE ARLENTRY.
`SEND DELETEARLENTRY
`TOOTHERMODULES,
`INCLUDING CPU
`
`RESET THE HIT
`BIT IN THE ARL
`ENTRY.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`IS THES
`THE LAST ENTRY
`IN THE TABLE
`
`
`
`
`
`START THE
`AGE TIMER
`-> DONE
`
`
`
`GO TO THE
`NEXT ARL
`ENTRY.
`
`Ex.1026
`VERIZON / Page 19 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 19 of 47
`
`US 6,996,099 B1
`
`
`
`SW1
`
`SW2
`
`Fig.19
`
`Ex.1026
`VERIZON / Page 20 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 20 of 47
`
`US 6,996,099 B1
`
`
`
`Fig.20
`FIELD
`
`-
`
`OFFSET
`FOR
`ETHERNETETHERNET
`I
`TAGGED UNTAGGED TAGGED
`UNTAGGED
`DESTINATION MACADDRESS MAC 6BYTES
`0
`||
`0
`||
`0
`||
`0
`SOURCEMACADDRESS
`MAC 6BYTEs
`6
`6
`6
`6
`PROTOCOLTYPE
`MAC
`BYTES
`2
`16
`20
`24
`BYTE
`NA TNA
`4
`18
`SOURCESAP
`802.3
`BYTE
`NA
`NA
`5
`19
`MAC 3 BTS
`NA
`14
`NA
`14
`802.pPRIORITY
`VLAN Id
`MAC 12BTs
`NA
`144b
`NA
`144b
`TOSPRECEDENCE
`IP
`3BITS
`15
`19
`23
`27
`DIFFERENTIATED SERVICES
`P
`6 BTS
`15
`19
`23
`27
`DESTINATION PADDRESS
`IP
`4BYTES
`30
`34
`38
`42
`PROTOCOL
`IP
`BYTEI
`23
`3
`35
`sourcer.
`It parts
`DistiNToro.
`It parts
`| |
`
`
`
`
`
`UDP
`
`UDP
`TCP
`
`|
`
`
`
`47
`
`|
`
`59
`
`55
`
`TCPCONTROL FLAGS
`(FOR ALIGNING ON BYTE
`BOUNDARY 2 BITS OF
`RESERVED BITS PRECEDING
`THIS FIELD IS INCLUDED)
`DATAAT OFFSET
`
`NA
`
`8 BYTES
`
`
`
`
`
`
`
`- 8 BYTES
`
`8BYTES
`
`DATAAT OFFSET 4 r BYTES
`
`
`
`DATA
`OFFSET
`FROM
`START OF START OF START OF START OF
`IPIPX
`HEADER HEADER HEADER HEADER
`
`
`
`OFFSET2 OFFSET2 OFFSET2 OFFSET2
`
`START OF START OF START OF START OF
`
`HEADER HEADER HEADER HEADER
`
`OFFSET3 OFFSET3 OFFSET3 OFFSET3
`
`HEADER HEADER HEADER HEADER
`
`OFFSET4 OFFSET4 OFFSET4 OFFSET4
`
`START OF START OF START OF START OF
`
`
`
`HEADER HEADER HEADER HEADER
`
`
`
`Ex.1026
`VERIZON / Page 21 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 21 of 47
`
`US 6,996,099 B1
`
`Filter Mask Format:
`Filter
`Counter
`Rem
`Enable
`(5b)
`Port
`(1b)
`(1b)
`NMA
`Data
`Enb
`Offset
`(1b)
`4 (7b)
`
`No Match
`Action
`(10b)
`
`Output
`Mod
`(5b)
`Data
`Offset
`3 (7b)
`
`Output
`Port
`(6b)
`Data
`Data
`Offset
`Offset
`1 (7b)
`2(7b)
`Field Mask
`Field Mask
`Fig.21 a
`
`TOS Prec
`(3b)
`
`DiffServ
`(6b)
`
`802.lp Prior
`(3b)
`
`Egress
`Egress
`Ingress
`Port Mask Modd Mask Port Mask
`(6b)
`(5b)
`(6b)
`
`Field Mask Format:
`Dest
`802. Wan TOS Dif Src
`Src
`Dest
`Dest
`Src
`Prot
`IP
`p
`Id
`Prec Serv
`IP
`SAP SAP
`Mac Mac type
`addr
`addr
`addr
`(2B) (1B)(B) Prio (12b) (3b)
`(6b)
`addr
`(4B)
`(68)
`(6B)
`(3b)
`(4B)
`TCPCnir Flags
`Data2
`Data 4
`Data 3
`(lB)
`(8B)
`(8B)
`(8B)
`Fig.21b
`
`Data 1
`(8B)
`
`
`
`Dest
`Src
`Prot
`Port
`Port
`IP.
`(lB) (2B)(2B)
`
`Ex.1026
`VERIZON / Page 22 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 22 of 47
`
`US 6,996,099 B1
`
`Address
`resolution
`
`22-1
`
`22-2
`
`22-3
`
`22-4
`
`22-5
`
`22-6
`
`22-7
`
`
`
`
`
`Parsing packet to
`extract selected
`fields
`
`
`
`Construct
`a field value
`
`
`
`
`
`Go through all
`filters and apply mask
`
`Concatenate mask results
`with filter number
`generate search key
`
`
`
`Search rules table
`for search key match
`
`Perform action as
`specified based on match
`and filter type
`
`Fig.22
`
`
`
`
`
`
`
`
`
`
`
`Ex.1026
`VERIZON / Page 23 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 23 of 47
`
`US 6,996,099 B1
`
`
`
`lect
`
`Port
`
`Filter
`Walue
`
`Fig.23
`
`Ex.1026
`VERIZON / Page 24 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 24 of 47
`
`US 6,996,099 B1
`
`30 28 26 24 22 2018 1614 12108 6
`Source IPAddress
`Multicast IPAddress
`L3 Port Bitmap
`L3 Module Bitmap
`
`
`
`
`
`Unused
`
`TTL
`Threshold
`
`4 20
`
`
`
`Fig.24
`
`Ex.1026
`VERIZON / Page 25 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 25 0f 47
`
`US 6,996,099 B1
`
`25-1
`
`25-2
`
`25-3
`
`25-4
`
`25-5
`
`Walidate
`IP checksum
`
`Search IP
`Multicast
`Table
`
`TTL Below
`TTL threshold
`
`
`
`
`
`
`
`
`
`
`
`
`
`Source
`Port Match
`
`
`
`YES
`Send to CPS Channel
`
`Fig.25
`
`Ex.1026
`VERIZON / Page 26 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 26 of 47
`
`US 6,996,099 B1
`
`
`
`s
`
`Ex.1026
`VERIZON / Page 27 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 27 Of 47
`
`US 6,996,099 B1
`
`271(2)
`
`26
`
`Fig.27b
`
`
`
`261
`
`SOC 10(1)
`
`Ex.1026
`VERIZON / Page 28 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 28 of 47
`
`US 6,996,099 B1
`
`90
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`9.
`
`IP Multicast
`Table
`
`
`
`
`
`i BP warning. BPDisard,
`
`GBPFGBPAval
`
`
`
`Pk FIFO
`8 Queues.
`
`
`
`RFrom ICMor
`Grant to SM if
`Arbiteris Disabled
`
`Gnt to ICM or
`Req ToSM if
`Arbiteris Disabled
`
`Fig.28
`
`26
`
`Ex.1026
`VERIZON / Page 29 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 29 of 47
`
`US 6,996,099 B1
`
`*N GBPFully Yes E. 29-2
`
`packet
`
`29-3
`
`No.
`
`29-4
`
`Fig. 29
`
`29-5
`
`29-7
`
`29-9
`
`Yes
`
`Send to
`
`29-6
`
`L.
`G) Ye sal-'
`{G} No
`
`No
`
`Yes
`
`29-10
`
`Yes
`
`
`
`29-1
`TT. N. Yes
`KThreshold
`
`Search of IP
`Multicast
`Table
`
`No d
`
`29-12
`
`29-15
`
`29-14
`No
`
`29-16
`s
`2
`(63.
`Dest
`NKsh
`Hit
`
`Yes
`Forward all
`
`Send to
`CPU
`
`No
`
`L3 Switching
`
`29-3
`
`29-17
`
`
`
`
`
`Drop Yes
`Packet
`
`29-19
`
`
`
`
`
`Get port
`bitmap from
`WLAN table
`
`Get port
`tip
`MC table
`
`Ex.1026
`VERIZON / Page 30 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 30 0f 47
`
`US 6,996,099 B1
`
`
`
`COS CNCA 802.lp. Rate
`Queue P (2b) Priority Counter Counter
`(8b) Threshold|Threhold Point Q
`(8b)
`(8b)
`(6b).
`
`Fig.30
`
`Ex.1026
`VERIZON / Page 31 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 31 of 47
`
`US 6,996,099 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`le
`
`is
`000
`00
`oil
`100
`101
`110
`111
`
`orial
`0-15
`8-23
`2439
`32-47
`40-55
`48-63
`56.71
`
`one
`16-31
`24-39
`40-55
`48-63
`567
`64-79
`72-87
`
`of
`32-47
`40-55
`56-7
`64-79
`72-87
`80-95
`88-103
`
`||
`
`oila!
`48-63
`56-7
`72-87
`80-95
`88-103
`96-111
`104-119
`
`Fig.31
`
`Ex.1026
`VERIZON / Page 32 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 32 0f 47
`
`US 6,996,099 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`N
`
`Z
`9
`
`@
`
`Ex.1026
`VERIZON / Page 33 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 33 of 47
`
`US 6,996,099 B1
`
`LXI
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Ex.1026
`VERIZON / Page 34 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 34 of 47
`
`US 6,996,099 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Ex.1026
`VERIZON / Page 35 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 35 0f 47
`
`US 6,996,099 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Ex.1026
`VERIZON / Page 36 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 36 of 47
`
`US 6,996,099 B1
`
`36-1
`
`
`
`ls bit l of action
`bit set
`
`Select Cos
`from the field
`in Filter mask.
`
`IsbitO of
`NoMatch
`action field set
`
`
`
`
`
`Y
`
`Get Cos from the field in s
`Filter mask. Modify Pkt for
`Priority Tagged field. Set
`Regenerate CRC bit.
`
`
`
`
`
`36-5
`
`is bitlO of
`NoMatch action
`field set.
`
`r
`ITOS is not modified by
`higherfiller ask (The
`DSCP is picked from the in
`DSCP field of the Filter
`Mask (only ifpkti py)
`Recalculate IPChecksum.
`Set Regenerate CRC in the
`message.
`
`
`
`
`
`
`
`
`
`ls
`bitll of
`no-match action bit
`st
`& Desport=
`Ox3f
`
`
`
`
`
`
`
`Fig.36
`
`
`
`SelectOutput Port
`& Output port module
`from the filter mask as
`egress port & egress module
`set port Bitmap
`
`Ex.1026
`VERIZON / Page 37 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 37 0f 47
`
`US 6,996,099 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Isbit of
`action bit set
`
`Remember to send
`a copy to CPU,
`Set the bit) of
`Cpu Opcodes.
`
`
`
`
`
`
`
`Isbit 6 of action
`bit set
`
`Remember to send
`a copy to
`Mirrored-to port.
`
`
`
`
`
`
`
`Increment counter
`indicated in the counter
`field of the Rule unless
`the counter was already
`incremented for this plkt
`
`is bit4 of
`action field set
`
`Drop the packet,
`but contine
`checking other
`action bits
`
`37-7
`
`ls bitSofaction
`field set AND
`Destport lsdrif
`
`Select Output Port
`and Output module
`idfrom the Rule
`entry as egress Port
`and egress module,
`Set Por Bitmap
`accordingly
`
`Action bit
`Set
`
`
`
`
`
`
`
`37.11
`
`s
`Action Bit 10
`Set
`
`N
`
`If Tos is not modified by
`a higher filter mask, the DSCP is
`picked. The In-DSCP field field
`of the rule-if plktislpw4-Recalculate
`the IP checksum-set Regenerate CRC
`
`Fig. 37
`
`Ex.1026
`VERIZON / Page 38 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 38 0f 47
`
`US 6,996,099 B1
`
`21
`
`
`
`210
`
`
`
`ADDRESS
`TABLE
`8K entries
`
`Search engine
`
`Fig.38
`
`Ex.1026
`VERIZON / Page 39 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 39 of 47
`
`US 6,996,099 B1
`
`
`
`2
`
`22
`
`21
`
`ADDRESS
`TABLE
`4K entries
`
`ADDRESS
`TABLE
`4K entries
`
`213
`
`214
`
`Fig.39
`
`Ex.1026
`VERIZON / Page 40 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 40 of 47
`
`US 6,996,099 B1
`
`
`
`
`
`U 8 M
`
`K
`I
`G
`E
`C
`A
`
`wn P
`
`× P
`
`is a
`
`r
`
`is
`
`a
`
`0
`
`up
`
`a
`
`a
`
`wo
`
`Fig.4Ob
`
`2
`
`9
`8
`7
`6
`5
`4.
`3
`2
`
`O
`
`Ex.1026
`VERIZON / Page 41 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 41 of 47
`
`US 6,996,099 B1
`
`
`
`9
`8
`6
`5
`4
`3
`2
`
`O
`
`Ex.1026
`VERIZON / Page 42 of 81
`
`

`

`US. Patent
`
`Feb. 7, 2006
`
`%
`
`US 6,996,099 B1
`
`3..
`
`3%:3a
`
`.332g.323
`
`_25
`
`
`
`
`
`..3.a»:.328>2..z,was:zéém£.3is?y>2..he93a:3zv.3
`
`
`
`f._2.33:“E:
`Md05Eas$20asum29%33.»
`
`
`70.858358505.85ins:Em38542%IV3..Em33.6~83.w2».
`
`.355:2.23asEm
`
`“E;E:a»
`
`€538:
`
`EX.1026
`
`VERIZON / Page 43 of 81
`
`~19”.
`
`.2526
`
`Ex.1026
`VERIZON / Page 43 of 81
`
`
`
`
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 43 of 47
`
`US 6,996,099 B1
`
`43-
`Ll
`lfpacket should be dropped due to FFP, Port
`Bitmap=0
`
`
`
`
`
`Port Bitmap = Port Bitmap/(lkCPU)
`
`43-2
`Get PortBitmap and AND with Forwarding Port
`Reg and AND with - Active Port Reg
`corresponding to COSQueue selected (after going
`through the Cos Mapping using C0S Select
`Register) AND HOLRegister, to get the egress
`PortBitmap
`Look at M Bits of Port Based WLAN table.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`ls ingress port Mirrored (
`Mbit0) OR (stack Link
`&& Mbit is set)
`
`
`
`
`
`
`
`
`
`
`
`Y
`
`Is Mirroring
`Based On Filter
`Logic
`
`N
`
`Remember to send
`the packet to
`Mirrored Port
`
`Remember to send
`the packet to
`Mirrored Port
`
`
`
`
`
`
`
`
`
`
`
`
`
`43-7
`
`
`
`Isegress port
`Mirrored (from
`Egress Mirroring
`Register)
`
`Remember to send
`the packet to
`Mirrored Port
`
`Fig.43
`
`Ex.1026
`VERIZON / Page 44 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 44 of 47
`
`US 6,996,099 B1
`
`Out-Profile
`Actions
`
`44
`
`
`
`
`
`
`
`Y
`
`is bit)
`of action bit
`Set
`
`Y
`
`
`
`
`
`inter
`Set the bitO of
`Cou Opcodes.
`pu Upc
`
`Drop the packe
`rop the packet
`but continue
`checking other
`action bits
`
`
`
`If TOS is not modified
`higher filter mask
`prisia
`Oile Of
`of the Rule (only ifpkt is
`Act.
`Recalculate IP
`Checksum. Set
`Regenerate CRC in the
`message.
`
`
`
`
`
`
`
`
`
`
`
`ls bit of the
`action field set
`
`
`
`
`
`
`
`is bid of the Ya'
`action field set
`
`Set the Drop Precedence
`bit to 1.
`Set the CNG bit in the P.
`Channel
`
`32-13
`
`Fig.44
`
`Ex.1026
`VERIZON / Page 45 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 45 0f 47
`
`US 6,996,099 B1
`
`
`
`Address
`Resolution
`Logic
`
`Fast
`Filtering
`Logic
`
`Differentiated
`Services
`Logic
`
`COS
`Manager
`
`Fig.45
`
`Ex.1026
`VERIZON / Page 46 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 46 of 47
`
`US 6,996,099 B1
`
`46-2
`If FFP DSCP, then use the value of
`DSCP from FFPelse
`If DSCP Flag=l then use assigned
`DSCP value else use DSCP value from
`DSCP field of IP Header to index into
`DiffServ Table, increment DSCP Rate
`counter for this port (in Octets).
`
`
`
`
`
`Ifpktisan IP
`Packet and version
`
`46-2
`
`46-7
`
`ISDF
`Walue=02
`
`N
`
`46-8
`Y (Set CNG bit in
`the P-Channel
`
`N
`
`
`
`
`
`Israte counter)=
`DSCP Discard Threshold
`
`Y
`
`
`
`
`
`N
`
`46-6
`
`Y
`Set portbitmap=0
`If (CState or a copy
`should go to CPU
`{
`portbitmap = 1 (CCPU
`Goto Ll
`
`
`
`N
`
`46-12
`
`
`
`Y
`Get 802.lp packet
`priority from New
`DSCP assigned r
`802.lp priority field
`
`Y
`
`is DSCP rate counter
`>=DSCP re-mark
`46-10 Nhreshold 169
`is RMF = 0 or
`RMF = 3
`
`Y
`
`N
`
`46-11
`
`
`
`N
`
`N
`46-15 N
`sNP
`s
`y
`
`Y
`46-14 N
`Get 802.lp
`s
`priority from DSCP
`802.lp priority
`field and the
`corresponding COS
`value from the 802.lp
`Pickup the CoSQueue value from
`DSCP priority Queue.
`
`
`
`
`
`46-18
`
`if FFP DSCP or DSCP flag=l
`then change the DSCP field, recalculate
`IP checksum, regenerate CRC. (The
`DSCP field willcome from FFPlogicif
`FFPDSCP-1 ?on DSP logic)
`
`
`
`
`
`
`
`45-7
`The COS value is not changed
`Change the DSCP field to
`New DSCP field value recalculate
`Pchecksum, regenerate CRC.
`Ll
`
`Fig.46
`
`Ex.1026
`VERIZON / Page 47 of 81
`
`

`

`U.S. Patent
`
`Feb. 7, 2006
`
`Sheet 47 of 47
`
`US 6,996,099 B1
`
`43
`
`Ll
`Get PortBitmap and AND with Forwarding Port
`Reg and AND with Active Port Reg corresponding
`to COS Queue selected (after going through the
`Cos Mapping using COSSelect Register) AND
`HOLRegister, to get the egress PortBitmap
`Look at MBits of Port based WLAN table
`
`47-4
`Is Mirroring
`Based on Filter
`Logic
`
`N
`
`
`
`
`
`
`
`
`
`ls ingressport
`Mirrored (MbitO)
`OR (stack Link &
`Mbit is set)
`
`Y
`
`Remember to send Rye, to send
`packet to
`the packet to
`Minored Port
`Mirrored Port
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`47-6
`
`segress port
`Mirrored (from
`Egress Mirroring
`Register)
`
`Remember to send
`the packet to
`Mirrored Port
`
`
`
`
`
`
`
`
`
`
`
`
`
`Fig.47
`
`Ex.1026
`VERIZON / Page 48 of 81
`
`

`

`US 6,996,099 B1
`
`1
`NETWORKSWITCH HAVING A
`PROGRAMMABLE COUNTER
`
`REFERENCE TO RELATED APPLICATIONS
`
`This application claims priority of U.S. Provisional Patent
`Application Ser. No. 60/124,878, filed on Mar. 17, 1999,
`U.S. Provisional Patent Application Ser. No. 60/135,603,
`filed on May 24, 1999, and U.S. Provisional Patent Appli
`cation Ser. No. 60/149,706, filed on Aug. 20, 1999. This
`application is a continuation-in-part (CIP) of U.S. patent
`application Ser. No. 09/343,409, filed on Jun. 30, 1999. The
`Subject matter of these earlier filed applications is hereby
`incorporated by reference.
`
`BACKGROUND OF THE INVENTION
`
`15
`
`1. Field of the Invention
`The invention relates to a method and apparatus for high
`performance Switching of data packets in local area com
`munications networkS Such as token ring, ATM, Ethernet,
`fast Ethernet, and gigabit Ethernet environments, all of
`which are generally known as LANs. In particular, the
`invention relates to a new Switching architecture in an
`integrated, modular, Single chip Solution, which can be
`implemented on a Semiconductor SubStrate Such as a Silicon
`chip.
`2. Description of the Related Art
`The present invention advances network Switching tech
`nology in a Switch Suitable for use in Ethernet, fast Ethernet,
`gigabit Ethernet, and other types of network environments
`which require high performance Switching of data packets or
`data cells. A Switch utilizing the disclosed elements, and a
`System performing the disclosed Steps, provides cost and
`operational advantages over the prior art.
`
`25
`
`35
`
`SUMMARY OF THE INVENTION
`
`The present invention is directed to a Switch-on-chip
`Solution for a network Switch, capable of use at least on
`ethernet, fast ethernet, and gigabit ethernet Systems, wherein
`all of the Switching hardware is disposed on a single
`microchip. The present invention is configured to maximize
`the ability of packet-forwarding at lineSpeed, and to also
`provide a modular configuration wherein a plurality of
`Separate modules are configured on a common chip, and
`wherein individual design changes to particular modules do
`not affect the relationship of that particular module to other
`modules in the System.
`The present invention is therefore related to a network
`Switch for Switching packets from a Source to a destination,
`wherein the network Switch includes a Source port for
`receiving an incoming packet from a Source, a destination
`port that contains a path to a destination for the packet, and
`a programmable counter unit for counting a number of
`packets of Selected packet types which are received by the
`Switch.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The objects and features of the invention will be more
`readily understood with reference to the following descrip
`tion and the attached drawings, wherein:
`FIG. 1 is a general block diagram of elements of a
`network Switch as discussed herein;
`FIG. 2 is a more detailed block diagram of the network
`Switch;
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`FIG. 3 illustrates the data flow on the CPS channel of the
`network Switch;
`FIG. 4A illustrates demand priority round robin arbitra
`tion for access to the C-channel of the network Switch;
`FIG. 4B illustrates access to the C-channel based upon the
`round robin arbitration illustrated in FIG. 4A;
`FIG. 5 illustrates P-channel message types;
`FIG. 6 illustrates a message format for S channel message
`types,
`FIG. 7 is an illustration of the OSI 7 layer reference
`model;
`FIG. 8 illustrates an operational diagram of an EPIC
`module,
`FIG. 9 illustrates the slicing of a data packet on the ingreSS
`to an EPIC module;
`FIG. 10 is a detailed view of elements of the MMU;
`FIG. 11 illustrates the CBM cell format;
`FIG. 12 illustrates an internal/external memory admission
`flow chart;
`FIG. 13 illustrates a block diagram of an egreSS manager
`76 illustrated in FIG. 10;
`FIG. 14 illustrates more details of an EPIC module;
`FIG. 15 is a block diagram of a fast filtering processor
`(FFP);
`FIG. 16 is a block diagram of the elements of CMIC 40;
`FIG. 17 illustrates a series of steps which are used to
`program an FFP,
`FIG. 18 is a flow chart illustrating the aging process for
`ARL (L2) and L3 tables;
`FIG. 19 illustrates communication using a trunk group
`according to the present invention;
`FIG. 20 is a table listing numerous fields for various
`packet types;
`FIGS. 21A and 21B illustrate a filter mask format and a
`field mask format, respectively;
`FIG.22 is a flow chart which illustrates the formation and
`application of a filter mask,
`FIG.23 illustrates an example of a format for a rules table;
`FIG. 24 illustrates a format for an IP multicast table;
`FIG. 25 is a flow chart illustrating handling of an IP
`multicast packet;
`FIG. 26 illustrates an embodiment of stacked SOC
`Switches 10;
`FIGS. 27A and 27B illustrate alternate embodiments of
`stacked SOC 10 configurations;
`FIG. 28 is a detailed view of the functional modules of
`IPIC 90;
`FIG. 29 illustrates packet handling for packets coming in
`to the high performance interface of IPIC 90;
`FIG. 30 is a diffServ-to-COS mapping table;
`FIG. 31 illustrates the configuration of the offsets;
`FIG. 32 is a primary flowchart for the filtering/metering
`logic;
`FIG. 33 is a flowchart of the partial match logic;
`FIG. 34 is a flowchart of the in-profile action logic;
`FIG.35 is a flowchart of the partial match action logic for
`bits 3–6;
`FIG. 36 is a flowchart of the partial match action logic for
`bits 1, 0, and 10;
`FIG.37 is a flowchart of the in-profile action logic for bits
`2, 8, and 9;
`FIG.38 illustrates a first configuration of an address table
`and a Search engine;
`FIG. 39 illustrates a second configuration of two address
`tables and two Search engines,
`FIG. 4.0a illustrates a first example of address entries
`Stored in an a Single address table;
`
`Ex.1026
`VERIZON / Page 49 of 81
`
`

`

`US 6,996,099 B1
`
`3
`FIG. 40b illustrates a second example of address entries
`Stored in two separate Sorted address tables,
`FIG. 41a illustrates a third example of address entries
`Stored in a single address table;
`FIG. 41b illustrates a fourth example of address entries
`Stored in two separate Sorted address tables,
`FIG. 42 is a flowchart of the in-profile action logic forbits
`11-13;
`FIG. 43 is a flowchart of the mirrored port/final FFP
`actions,
`FIG. 44 is a flowchart of the out-profile action logic;
`FIG. 45 is a flowchart of the data flow of an incoming
`packet;
`FIG. 46 is a flowchart of the differentiated services logic;
`and
`FIG. 47 is a flowchart expanding step 46-4.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENTS
`
`4
`complex multi-chip Solution is necessary which requires
`logic circuitry, Sometimes referred to as glue logic circuitry,
`to enable the various chips to communicate with each other.
`Additionally, cost/benefit tradeoffs are necessary with
`respect to expensive but fast SRAMs versus inexpensive but
`slow DRAMs. Additionally, DRAMs, by virtue of their
`dynamic nature, require refreshing of the memory contents
`in order to prevent losses thereof. SRAMs do not suffer from
`the refresh requirement, and have reduced operational over
`head which compared to DRAMs such as elimination of
`page misses, etc. Although DRAMs have adequate Speed
`when accessing locations on the same page, Speed is reduced
`when other pages must be accessed.
`Referring to the OSI 7-layer reference model discussed
`previously, and illustrated in FIG. 7, the higher layers
`typically have more information. Various types of products
`are available for performing Switching-related functions at
`various levels of the OSI model. Hubs or repeaters operate
`at layer one, and essentially copy and “broadcast' incoming
`data to a plurality of Spokes of the hub. Layer two Switching
`related devices are typically referred to as multiport bridges,
`and are capable of bridging two separate networks. Bridges
`can build a table of forwarding rules based upon which
`MAC (media access controller) addresses exist on which
`ports of the bridge, and pass packets which are destined for
`an address which is located on an opposite Side of the bridge.
`Bridges typically utilize what is known as the “spanning
`tree' algorithm to eliminate potential data loops, a data loop
`is a Situation wherein a packet endlessly loops in a network
`looking for a particular address. The Spanning tree algorithm
`defines a protocol for preventing data loops. Layer three
`Switches, Sometimes referred to as routers, can forward
`packets based upon the destination network address. Layer
`three Switches are capable of learning addresses and main
`taining tables thereof which correspond to port mappings.
`Processing Speed for layer three Switches can be improved
`by utilizing Specialized high performance hardware, and
`off-loading the host CPU so that instruction decisions do not
`delay packet forwarding.
`FIG. 1 illustrates a configuration wherein a Switch-on
`chip (SOC) 10, in accordance with the present invention, is
`functionally connected to external devices 11, external
`memory 12, fast Ethernet ports 13, and gigabit Ethernet
`ports 15. For the purposes of this embodiment, fast Ethernet
`ports 13 will be considered low speed Ethernet ports, since
`they are capable of operating at Speeds ranging from 10
`Mbps to 100 Mbps, while the gigabit Ethernet ports 15,
`which are high Speed Ethernet ports, are capable of operat
`ing at 1000 Mbps. External devices 11 could include other
`Switching devices for expanding Switching capabilities, or
`other devices as may be required by a particular application.
`External memory 12 is additional off-chip memory, which is
`in addition to internal memory which is located on SOC 10,
`as will be discussed below. CPU 52 can be used as necessary
`to program SOC 10 with rules which are appropriate to
`control packet processing. However, once SOC 10 is appro
`priately programmed or configured, SOC 10 operates, as
`much as possible, in a free running manner without com
`municating with CPU 52. Because CPU 52 does not control
`every aspect of the operation of SOC 10, CPU 52 perfor
`mance requirements, at least with respect to SOC 10, are
`fairly low. Aless powerful and therefore less expensive CPU
`52 can therefore be used when compared to known network
`Switches. As also will be discussed below, SOC 10 utilizes
`external memory 12 in an efficient manner So that the cost
`and performance requirements of memory 12 can be
`
`15
`
`25
`
`35
`
`40
`
`AS computer performance has increased in recent years,
`the demands on computer networks has significantly
`increased; faster computer processors and higher memory
`capabilities need networks with high bandwidth capabilities
`to enable high Speed transfer of Significant amounts of data.
`The well-known Ethernet technology, which is based upon
`numerous IEEE Ethernet Standards, is one example of
`computer networking technology which has been able to be
`modified and improved to remain a viable computing tech
`nology. A more complete discussion of networking Systems
`can be found, for example, in SWITCHED AND FAST
`Ethernet, by Breyer and Riley (Ziff-Davis, 1996), and
`numerous IEEE publications relating to IEEE 802 standards.
`Based upon the Open Systems Interconnect (OSI) 7-layer
`reference model, network capabilities have grown through
`the development of repeaters, bridges, routers, and, more
`recently, “Switches', which operate with various types of
`communication media. Thickwire, thinwire, twisted pair,
`and optical fiber are examples of media which has been used
`for computer networks. Switches, as they relate to computer
`networking and to Ethernet, are hardware-based devices
`which control the flow of data packets or cells based upon
`destination address information which is available in each
`packet. A properly designed and implemented Switch should
`be capable of receiving a packet and Switching the p

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket