SlideShare una empresa de Scribd logo
1 de 3
Descargar para leer sin conexión
CEFv6
If you have to Troubleshoot CISCO device One day you will have to deal with CEF!
No DATA PLANE Troubleshooting without CEFv6!...
If you are looking for the Engineering Team with really high skills guys at cisco you are looking for the
CEF team! These guys need to do two things mutually exclusives and this all the time: They must support
a maximum number of services and at the same time they must design the fastest code because all the
cisco switching performances rely on CEF!
If an IP feature is not supported by CEF, the feature has no future if it has also to be Efficient. if it is
a slow terminal conversion things which need the speed of typing with one finger, fine! but if it must
support wire speed? Forget it!
WHY???
We need to get back to the basics of computers to understand...
When a packet is received by an ASIC specialized to process the data coming from a Physical Media
port, an Interrupt is sent to the CPU. An interrupt is a Signal Transition like 0 to +5v or the opposite.
The Interrupt is raised by the Physical Media Processor to tell the CPU that it has a packet just like
the Postman set up the flag after it has dropped a few mails in your mailbox! Guess who is called first
by the CPU when it gets the interrupt signal? CEF...
Now CEF must take a decision either switch the packet in interrupt mode, either Q the packet for
further processing in a time sharing fashion. It is clear that Real-Time traffic will only be supported by
the Interrupt mode. So where is the problem? The process in interrupt mode disables any other
interrupt. The other Line Cards have a dedicated ASIC with MEmory to accomodate a few packet but
not too much...
The process must process the packet as fast as possible for the protocol which is being routed and for
the other traffic waiting to be processed. This is why complex operation cannot be supported by CEF and
this has been the case of NAT-PT in IPv6!
Rl# s h o w i p v 6 c e f 2 0 0 1 : d b 8 : c a f e : 1 0 : : / 6 4 i n t e r n a l
2 0 0 1 : D B 8 : C A F E : 1 0 : : / 6 4 , e p o c h 0 , R I B [ I ] , r e f c o u n t 4 , p e r - d e s t i n a t i o n s h a r i n g
s o u r c e s : R I B
f e a t u r e s p a c e :
IPRM: 0 x 0 0 0 3 8 0 0 0
i f n u m s :
F a s t E t h e r n e t 0 / 1 . 1 1 ( 1 1 ) : F E 8 0 : : C 8 0 1 : 4 F F : F E 9 4 : 6
p a t h 6 8 2 2 B A 1 C, p a t h l i s t 6 8 2 2 A 7 7 C, s h a r e 1 / 1 , t y p e a t t a c h e d n e x t h o p , f o r I P v 6
nexthop FE80::C801:4FF:FE94:6 FastEthernet0/1.11, adjacency IPV6 adj out of FastEthernet0/1.11,
addr 7
E 8 0 :
: C 8 0
1 : 4 F
F : F
E 9 4 :
o u t p u t c h a i n : I P V a d j
66F91060
1
This is t he neighbor next-hop and cannot IDEI
anything else but a Link-local address! We
find it also in t he line above which resume  
the recursion in case you have multiple
level, t here is one line per level_
Just after you can see the Address of the  
Adjacency pointer which is a memory
pointer to a structure which contains the
Adjacency information like the MAC Address
for the encapsulation, from where it comes
from (ND or ARP f or IPv4) and how many
bytes/packets were encapsulated with this
adjacency...
F91
o u t i o f
To process this packet as fast as possible CEFv6 relies on two tables: One is derived from the Routing
Table and One is derived from the ND Table! But the requirements are completely differents.
The Forwarding Information Base (FIB) is the Routing IAble with all the Recursions resolved, it has the
Neighbor Next-hop for each destintation with a pointer to the Adjacency Table, derived from ND to
perform the encapsulation.
The data structure of a Routing Table or RIB is optimized for efficient management of entries in the
table while the FIB is optimized for getting the Fastest Lookup!
In the distributed platform, the FIB and Adjacencies tablessa re downloaded on the Linecards and it is
the ingress LC which takes the switching decision. The central CPU is not involved for forwarding and
for troubleshooting you must attach to the LC as looking to the Central tables is not useless but it is not
the table we need to look for the decision.
Fred Bovy, IPv6 For Life! CCIE #3013
Thiscomesfrom the CEPForwarding Information Base (FIB)!
F a s t E t h e r n e t 0 / 1 . 1 1 ,
R l I f s how a d j a c e n c y F E 8 0 : : C 801 : 4 F F : F E 9 4 : 6
P r o t o c o l I n t e r f a c e A d d r e s s
I PV6 F a s t E t h e r n e t 0 / 1 . 1 1 F E 8 0 : : C 8 0 1 : 4 F F : F E 9 4 : 6 ( 7 )
R l I f s how a d j a c e n c y F E 8 0 : : C 8 0 1 : 4 F F : F E 9 4 : 6 i n t e r n a l
P r o t o c o l I n t e r f a c e A d d r e s s
I PV6 F a s t E t h e r n e t 0 / 1 . 1 1 F E 8 0 : : C 801 : 4F F : F E 94 : 6 ( 7)
0 packets, 0 by te s
epoch 0 T h i s comesfrom the CEPAdjacencyTable
s o u r c e d i n s e v - e p o c h 1
E nc ap l e n g t h 1 8
CA0104940006CA0004940006010000011
86DD
I P v 6 N D
F a s t a d j a c e n c y e n a b l e d [ O K ]
L3 mt u 1500
F l a g s ( 0 x 1 1 A 9 E )
F i x u p d i s a b l e d
H W ID B/ID B p o i n t e r s O x 6 6 C C D D 1 0 / 0 x 6 7 E 5 8 5 0 0
I P r e d i r e c t e n a b l e d
S w i t c h i n g v e c t o r : I P v 6 a d j a c e n c y o c e
A d j a c e n c y p o i n t e r O x 6 6 F 9 1 C 6 0 1
N e x t - h o p F E 8 0 : : C 8 0 1 : 4 F F : F E 9 4 : 6
a d d r F E 8 0 : : C 8 0 1 : 4 F F : F E 9 4 : 6
R1#show ipv6 cef 2001:db8:cafe:10::/64 internal
2001:DB8:CAFE:10::/64, epoch 0, RIB[I], refcount 4, per-destination sharing
sources: RIB
feature space:
IPRM: 0x00038000
ifnums:
FastEthernet0/1.11(11): FE80::C801:4FF:FE94:6
path 6822BA1C, path list 6822A77C, share 1/1, type attached nexthop, for IPv6
nexthop FE80::C801:4FF:FE94:6 FastEthernet0/1.11, adjacency IPV6 adj out of FastEthernet0/1.11,
addr FE80::C801:4FF:FE94:6
output chain: IPV6 adj out of FastEthernet0/1.11, addr FE80::C801:4FF:FE94:6
66F91C60
To process this packet as fast as possible CEFv6 relies on two tables: One is derived from the Routing
Table and One is derived from the ND Table! But the requirements are completely differents.
The Forwarding Information Base (FIB) is the Routing TAble with all the Recursions resolved, it has the
Neighbor Next-hop for each destintation with a pointer to the Adjacency Table, derived from ND to
perform the encapsulation.
The data structure of a Routing Table or RIB is optimized for efficient management of entries in the
table while the FIB is optimized for getting the Fastest Lookup!
In the distributed platform, the FIB and Adjacencies tablessa re downloaded on the Linecards and it is
the ingress LC which takes the switching decision. The central CPU is not involved for forwarding and
for troubleshooting you must attach to the LC as looking to the Central tables is not useless but it is not
the table we need to look for the decision.
Fred Bovy, IPv6 For Life!.... CCIE #3013
R1#show adjacency FE80::C801:4FF:FE94:6
Protocol Interface Address
IPV6 FastEthernet0/1.11 FE80::C801:4FF:FE94:6(7)
R1#show adjacency FE80::C801:4FF:FE94:6 internal
Protocol Interface Address
IPV6 FastEthernet0/1.11 FE80::C801:4FF:FE94:6(7)
0 packets, 0 bytes
epoch 0
sourced in sev-epoch 1
Encap length 18
CA0104940006CA00049400068100000B
86DD
IPv6 ND
Fast adjacency enabled [OK]
L3 mtu 1500
Flags (0x11A9E)
Fixup disabled
HWIDB/IDB pointers 0x66CCDD10/0x67E58500
IP redirect enabled
Switching vector: IPv6 adjacency oce
Adjacency pointer
Next-hop FE80::C801:4FF:FE94:6
This is the neighbor next-hop and cannot be
anything else but a Link-local address! We
find it also in the line above which resume
the recursion in case you have multiple
level, there is one line per level....
Just after you can see the Address of the
Adjacency pointer which is a memory
pointer to a structure which contains the
Adjacency information like the MAC Address
for the encapsulation, from where it comes
from (ND or ARP for IPv4) and how many
bytes/packets were encapsulated with this
adjacency...
This comes from the CEF Forwarding Information Base (FIB)!
This comes from the CEF Adjacency Table
Use the internal argument
© Frédéric Bovy 153
CEFv6 – Adjacency Entry
R1#show adjacency FE80::C801:4FF:FE94:6 internal
Protocol Interface Address
IPV6 FastEthernet0/1.11 FE80::C801:4FF:FE94:6(7)
0 packets, 0 bytes
epoch 0
sourced in sev-epoch 1
Encap length 18
CA0104940006CA00049400068100000B
86DD
IPv6 ND
Fast adjacency enabled [OK]
L3 mtu 1500
Flags (0x11A9E)
Fixup disabled
HWIDB/IDB pointers 0x66CCDD10/0x67E58500
IP redirect enabled
Switching vector: IPv6 adjacency oce
Adjacency pointer 0x66F91C60
Next-hop FE80::C801:4FF:FE94:6
•  !!
How!many!
packets/bytes!
switched!?!
MAC!Address!
Protocol!Type!
Source!of!the!L2!
Address!
Adjacency)Pointer)
from)the)FIB)
© Frédéric Bovy 153
CEFv6 – Adjacency Entry
R1#show adjacency FE80::C801:4FF:FE94:6 internal
Protocol Interface Address
IPV6 FastEthernet0/1.11 FE80::C801:4FF:FE94:6(7)
0 packets, 0 bytes
epoch 0
sourced in sev-epoch 1
Encap length 18
CA0104940006CA00049400068100000B
86DD
IPv6 ND
Fast adjacency enabled [OK]
L3 mtu 1500
Flags (0x11A9E)
Fixup disabled
HWIDB/IDB pointers 0x66CCDD10/0x67E58500
IP redirect enabled
Switching vector: IPv6 adjacency oce
Adjacency pointer 0x66F91C60
Next-hop FE80::C801:4FF:FE94:6
•  !!
How!many!
packets/bytes!
switched!?!
MAC!Address!
Protocol!Type!
Source!of!the!L2!
Address!
Adjacency)Pointer)
from)the)FIB)

Más contenido relacionado

La actualidad más candente

1347 assemblylanguageprogrammingof8051-100523023308-phpapp01
1347 assemblylanguageprogrammingof8051-100523023308-phpapp011347 assemblylanguageprogrammingof8051-100523023308-phpapp01
1347 assemblylanguageprogrammingof8051-100523023308-phpapp01
bvenkanna
 
Io (2)
Io (2)Io (2)
Io (2)
Aisu
 
Introduction to pic
Introduction to picIntroduction to pic
Introduction to pic
PRADEEP
 
Chp5 pic microcontroller instruction set copy
Chp5 pic microcontroller instruction set   copyChp5 pic microcontroller instruction set   copy
Chp5 pic microcontroller instruction set copy
mkazree
 
EMBEDDED SYSTEMS 5
EMBEDDED SYSTEMS 5EMBEDDED SYSTEMS 5
EMBEDDED SYSTEMS 5
PRADEEP
 
The 8051 assembly language
The 8051 assembly languageThe 8051 assembly language
The 8051 assembly language
hemant meena
 
Chp7 pic 16 f84 interfacing - copy
Chp7 pic 16 f84 interfacing - copyChp7 pic 16 f84 interfacing - copy
Chp7 pic 16 f84 interfacing - copy
mkazree
 

La actualidad más candente (18)

1347 assemblylanguageprogrammingof8051-100523023308-phpapp01
1347 assemblylanguageprogrammingof8051-100523023308-phpapp011347 assemblylanguageprogrammingof8051-100523023308-phpapp01
1347 assemblylanguageprogrammingof8051-100523023308-phpapp01
 
The 8051 microcontroller
The 8051  microcontroller The 8051  microcontroller
The 8051 microcontroller
 
Io (2)
Io (2)Io (2)
Io (2)
 
Introduction to pic
Introduction to picIntroduction to pic
Introduction to pic
 
Embedded Systems Project Based Training|Engineering Projects,Summer Training
Embedded Systems Project Based Training|Engineering Projects,Summer TrainingEmbedded Systems Project Based Training|Engineering Projects,Summer Training
Embedded Systems Project Based Training|Engineering Projects,Summer Training
 
8051 archi
8051 archi8051 archi
8051 archi
 
AT89C52 Data sheet
AT89C52 Data sheetAT89C52 Data sheet
AT89C52 Data sheet
 
8051 basic programming
8051 basic programming8051 basic programming
8051 basic programming
 
4 byte AS number workshop material
4 byte AS number workshop material4 byte AS number workshop material
4 byte AS number workshop material
 
Ei502microprocessorsmicrtocontrollerspart4 8051 Microcontroller
Ei502microprocessorsmicrtocontrollerspart4 8051 MicrocontrollerEi502microprocessorsmicrtocontrollerspart4 8051 Microcontroller
Ei502microprocessorsmicrtocontrollerspart4 8051 Microcontroller
 
Chp5 pic microcontroller instruction set copy
Chp5 pic microcontroller instruction set   copyChp5 pic microcontroller instruction set   copy
Chp5 pic microcontroller instruction set copy
 
1347 Assembly Language Programming Of 8051
1347 Assembly Language Programming Of 80511347 Assembly Language Programming Of 8051
1347 Assembly Language Programming Of 8051
 
EMBEDDED SYSTEMS 5
EMBEDDED SYSTEMS 5EMBEDDED SYSTEMS 5
EMBEDDED SYSTEMS 5
 
Viva
VivaViva
Viva
 
Chap 18 net
Chap 18 netChap 18 net
Chap 18 net
 
PLNOG 6: Marcin Kuczera - Obsługa abonentów poprzez sieć L2 i L3, czyli ciąg ...
PLNOG 6: Marcin Kuczera - Obsługa abonentów poprzez sieć L2 i L3, czyli ciąg ...PLNOG 6: Marcin Kuczera - Obsługa abonentów poprzez sieć L2 i L3, czyli ciąg ...
PLNOG 6: Marcin Kuczera - Obsługa abonentów poprzez sieć L2 i L3, czyli ciąg ...
 
The 8051 assembly language
The 8051 assembly languageThe 8051 assembly language
The 8051 assembly language
 
Chp7 pic 16 f84 interfacing - copy
Chp7 pic 16 f84 interfacing - copyChp7 pic 16 f84 interfacing - copy
Chp7 pic 16 f84 interfacing - copy
 

Destacado (8)

Autoconfig
AutoconfigAutoconfig
Autoconfig
 
Fb i pv6-sparchimanv1.0
Fb i pv6-sparchimanv1.0Fb i pv6-sparchimanv1.0
Fb i pv6-sparchimanv1.0
 
Routing ipv6 v3
Routing ipv6 v3Routing ipv6 v3
Routing ipv6 v3
 
Osp fv3 cs
Osp fv3 csOsp fv3 cs
Osp fv3 cs
 
Ospfv3 primer
Ospfv3 primerOspfv3 primer
Ospfv3 primer
 
I pv6 tutorial
I pv6 tutorialI pv6 tutorial
I pv6 tutorial
 
Ospfv3 News version 2
Ospfv3 News version 2Ospfv3 News version 2
Ospfv3 News version 2
 
IPv6 training
IPv6 trainingIPv6 training
IPv6 training
 

Similar a CEFv6 in a nutshell

CCIE_RS_Quick_Review_Kit
CCIE_RS_Quick_Review_KitCCIE_RS_Quick_Review_Kit
CCIE_RS_Quick_Review_Kit
Chris S Chen
 
IPv6SG_03_20121103
IPv6SG_03_20121103IPv6SG_03_20121103
IPv6SG_03_20121103
@ otsuka752
 

Similar a CEFv6 in a nutshell (20)

OSPF_Exercises.pdf
OSPF_Exercises.pdfOSPF_Exercises.pdf
OSPF_Exercises.pdf
 
How to Cisco ACI Multi-Pod
How to Cisco ACI Multi-PodHow to Cisco ACI Multi-Pod
How to Cisco ACI Multi-Pod
 
Hands on Experience with IPv6 Routing and Switching Services
Hands on Experience with IPv6 Routing and Switching ServicesHands on Experience with IPv6 Routing and Switching Services
Hands on Experience with IPv6 Routing and Switching Services
 
Cisco CCNA IPV6 Static Configuration
Cisco CCNA  IPV6 Static ConfigurationCisco CCNA  IPV6 Static Configuration
Cisco CCNA IPV6 Static Configuration
 
CCIE
CCIE CCIE
CCIE
 
CCIE_RS_Quick_Review_Kit
CCIE_RS_Quick_Review_KitCCIE_RS_Quick_Review_Kit
CCIE_RS_Quick_Review_Kit
 
Cisco -Ccie rs quick_review_kit
Cisco -Ccie rs quick_review_kitCisco -Ccie rs quick_review_kit
Cisco -Ccie rs quick_review_kit
 
Mpl sv1 qbook
Mpl sv1 qbookMpl sv1 qbook
Mpl sv1 qbook
 
IPv6SG_03_20121103
IPv6SG_03_20121103IPv6SG_03_20121103
IPv6SG_03_20121103
 
Ch5
Ch5Ch5
Ch5
 
35d70683c4fd405d89db4a5287aa4b89
35d70683c4fd405d89db4a5287aa4b8935d70683c4fd405d89db4a5287aa4b89
35d70683c4fd405d89db4a5287aa4b89
 
Bm33388392
Bm33388392Bm33388392
Bm33388392
 
Bm33388392
Bm33388392Bm33388392
Bm33388392
 
Cisco CCNA OSPF IPV6 Configuration
Cisco CCNA OSPF IPV6 ConfigurationCisco CCNA OSPF IPV6 Configuration
Cisco CCNA OSPF IPV6 Configuration
 
ospf ahmed tawfeek CCNA dump for Exam12
ospf  ahmed tawfeek CCNA dump for Exam12ospf  ahmed tawfeek CCNA dump for Exam12
ospf ahmed tawfeek CCNA dump for Exam12
 
6215601 understanding-mpls
6215601 understanding-mpls6215601 understanding-mpls
6215601 understanding-mpls
 
Ipv6
Ipv6Ipv6
Ipv6
 
02 - Introduction to the cdecl ABI and the x86 stack
02 - Introduction to the cdecl ABI and the x86 stack02 - Introduction to the cdecl ABI and the x86 stack
02 - Introduction to the cdecl ABI and the x86 stack
 
Getting started with IPv6
Getting started with IPv6Getting started with IPv6
Getting started with IPv6
 
Evaluation of OpenFlow in RB750GL
Evaluation of OpenFlow in RB750GLEvaluation of OpenFlow in RB750GL
Evaluation of OpenFlow in RB750GL
 

Más de Fred Bovy

Neighbor discoverydhcp
Neighbor discoverydhcpNeighbor discoverydhcp
Neighbor discoverydhcp
Fred Bovy
 
Inter as cisco1
Inter as cisco1Inter as cisco1
Inter as cisco1
Fred Bovy
 
I pv6 better than IPv4 but why ?
I pv6 better than IPv4 but why ?I pv6 better than IPv4 but why ?
I pv6 better than IPv4 but why ?
Fred Bovy
 
Fred explainsi pv6-v2-alpha
Fred explainsi pv6-v2-alphaFred explainsi pv6-v2-alpha
Fred explainsi pv6-v2-alpha
Fred Bovy
 
Transition to ipv6 cgv6-edited
Transition to ipv6  cgv6-editedTransition to ipv6  cgv6-edited
Transition to ipv6 cgv6-edited
Fred Bovy
 

Más de Fred Bovy (15)

Neighbor discoverydhcp
Neighbor discoverydhcpNeighbor discoverydhcp
Neighbor discoverydhcp
 
Inter as cisco1
Inter as cisco1Inter as cisco1
Inter as cisco1
 
IPv6 in IPv4/MPLS in a Nutshell
IPv6 in IPv4/MPLS in a NutshellIPv6 in IPv4/MPLS in a Nutshell
IPv6 in IPv4/MPLS in a Nutshell
 
I pv6 better than IPv4 but why ?
I pv6 better than IPv4 but why ?I pv6 better than IPv4 but why ?
I pv6 better than IPv4 but why ?
 
Fred explainsi pv6-v2-alpha
Fred explainsi pv6-v2-alphaFred explainsi pv6-v2-alpha
Fred explainsi pv6-v2-alpha
 
Resume
ResumeResume
Resume
 
Transition to ipv6 cgv6-edited
Transition to ipv6  cgv6-editedTransition to ipv6  cgv6-edited
Transition to ipv6 cgv6-edited
 
Fred bovyresume@2
Fred bovyresume@2Fred bovyresume@2
Fred bovyresume@2
 
Fred explains IPv6
Fred explains IPv6Fred explains IPv6
Fred explains IPv6
 
IPv6 tools
IPv6 toolsIPv6 tools
IPv6 tools
 
Multicast for IPv6
Multicast for IPv6Multicast for IPv6
Multicast for IPv6
 
Dhcp pd in brief
Dhcp pd in briefDhcp pd in brief
Dhcp pd in brief
 
6Rd
6Rd6Rd
6Rd
 
IPv6 Autoconfig
IPv6 AutoconfigIPv6 Autoconfig
IPv6 Autoconfig
 
Transition To I Pv6
Transition To I Pv6Transition To I Pv6
Transition To I Pv6
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 

CEFv6 in a nutshell

  • 1. CEFv6 If you have to Troubleshoot CISCO device One day you will have to deal with CEF! No DATA PLANE Troubleshooting without CEFv6!... If you are looking for the Engineering Team with really high skills guys at cisco you are looking for the CEF team! These guys need to do two things mutually exclusives and this all the time: They must support a maximum number of services and at the same time they must design the fastest code because all the cisco switching performances rely on CEF! If an IP feature is not supported by CEF, the feature has no future if it has also to be Efficient. if it is a slow terminal conversion things which need the speed of typing with one finger, fine! but if it must support wire speed? Forget it! WHY??? We need to get back to the basics of computers to understand... When a packet is received by an ASIC specialized to process the data coming from a Physical Media port, an Interrupt is sent to the CPU. An interrupt is a Signal Transition like 0 to +5v or the opposite. The Interrupt is raised by the Physical Media Processor to tell the CPU that it has a packet just like the Postman set up the flag after it has dropped a few mails in your mailbox! Guess who is called first by the CPU when it gets the interrupt signal? CEF... Now CEF must take a decision either switch the packet in interrupt mode, either Q the packet for further processing in a time sharing fashion. It is clear that Real-Time traffic will only be supported by the Interrupt mode. So where is the problem? The process in interrupt mode disables any other interrupt. The other Line Cards have a dedicated ASIC with MEmory to accomodate a few packet but not too much... The process must process the packet as fast as possible for the protocol which is being routed and for the other traffic waiting to be processed. This is why complex operation cannot be supported by CEF and this has been the case of NAT-PT in IPv6!
  • 2. Rl# s h o w i p v 6 c e f 2 0 0 1 : d b 8 : c a f e : 1 0 : : / 6 4 i n t e r n a l 2 0 0 1 : D B 8 : C A F E : 1 0 : : / 6 4 , e p o c h 0 , R I B [ I ] , r e f c o u n t 4 , p e r - d e s t i n a t i o n s h a r i n g s o u r c e s : R I B f e a t u r e s p a c e : IPRM: 0 x 0 0 0 3 8 0 0 0 i f n u m s : F a s t E t h e r n e t 0 / 1 . 1 1 ( 1 1 ) : F E 8 0 : : C 8 0 1 : 4 F F : F E 9 4 : 6 p a t h 6 8 2 2 B A 1 C, p a t h l i s t 6 8 2 2 A 7 7 C, s h a r e 1 / 1 , t y p e a t t a c h e d n e x t h o p , f o r I P v 6 nexthop FE80::C801:4FF:FE94:6 FastEthernet0/1.11, adjacency IPV6 adj out of FastEthernet0/1.11, addr 7 E 8 0 : : C 8 0 1 : 4 F F : F E 9 4 : o u t p u t c h a i n : I P V a d j 66F91060 1 This is t he neighbor next-hop and cannot IDEI anything else but a Link-local address! We find it also in t he line above which resume the recursion in case you have multiple level, t here is one line per level_ Just after you can see the Address of the Adjacency pointer which is a memory pointer to a structure which contains the Adjacency information like the MAC Address for the encapsulation, from where it comes from (ND or ARP f or IPv4) and how many bytes/packets were encapsulated with this adjacency... F91 o u t i o f To process this packet as fast as possible CEFv6 relies on two tables: One is derived from the Routing Table and One is derived from the ND Table! But the requirements are completely differents. The Forwarding Information Base (FIB) is the Routing IAble with all the Recursions resolved, it has the Neighbor Next-hop for each destintation with a pointer to the Adjacency Table, derived from ND to perform the encapsulation. The data structure of a Routing Table or RIB is optimized for efficient management of entries in the table while the FIB is optimized for getting the Fastest Lookup! In the distributed platform, the FIB and Adjacencies tablessa re downloaded on the Linecards and it is the ingress LC which takes the switching decision. The central CPU is not involved for forwarding and for troubleshooting you must attach to the LC as looking to the Central tables is not useless but it is not the table we need to look for the decision. Fred Bovy, IPv6 For Life! CCIE #3013 Thiscomesfrom the CEPForwarding Information Base (FIB)! F a s t E t h e r n e t 0 / 1 . 1 1 , R l I f s how a d j a c e n c y F E 8 0 : : C 801 : 4 F F : F E 9 4 : 6 P r o t o c o l I n t e r f a c e A d d r e s s I PV6 F a s t E t h e r n e t 0 / 1 . 1 1 F E 8 0 : : C 8 0 1 : 4 F F : F E 9 4 : 6 ( 7 ) R l I f s how a d j a c e n c y F E 8 0 : : C 8 0 1 : 4 F F : F E 9 4 : 6 i n t e r n a l P r o t o c o l I n t e r f a c e A d d r e s s I PV6 F a s t E t h e r n e t 0 / 1 . 1 1 F E 8 0 : : C 801 : 4F F : F E 94 : 6 ( 7) 0 packets, 0 by te s epoch 0 T h i s comesfrom the CEPAdjacencyTable s o u r c e d i n s e v - e p o c h 1 E nc ap l e n g t h 1 8 CA0104940006CA0004940006010000011 86DD I P v 6 N D F a s t a d j a c e n c y e n a b l e d [ O K ] L3 mt u 1500 F l a g s ( 0 x 1 1 A 9 E ) F i x u p d i s a b l e d H W ID B/ID B p o i n t e r s O x 6 6 C C D D 1 0 / 0 x 6 7 E 5 8 5 0 0 I P r e d i r e c t e n a b l e d S w i t c h i n g v e c t o r : I P v 6 a d j a c e n c y o c e A d j a c e n c y p o i n t e r O x 6 6 F 9 1 C 6 0 1 N e x t - h o p F E 8 0 : : C 8 0 1 : 4 F F : F E 9 4 : 6 a d d r F E 8 0 : : C 8 0 1 : 4 F F : F E 9 4 : 6 R1#show ipv6 cef 2001:db8:cafe:10::/64 internal 2001:DB8:CAFE:10::/64, epoch 0, RIB[I], refcount 4, per-destination sharing sources: RIB feature space: IPRM: 0x00038000 ifnums: FastEthernet0/1.11(11): FE80::C801:4FF:FE94:6 path 6822BA1C, path list 6822A77C, share 1/1, type attached nexthop, for IPv6 nexthop FE80::C801:4FF:FE94:6 FastEthernet0/1.11, adjacency IPV6 adj out of FastEthernet0/1.11, addr FE80::C801:4FF:FE94:6 output chain: IPV6 adj out of FastEthernet0/1.11, addr FE80::C801:4FF:FE94:6 66F91C60 To process this packet as fast as possible CEFv6 relies on two tables: One is derived from the Routing Table and One is derived from the ND Table! But the requirements are completely differents. The Forwarding Information Base (FIB) is the Routing TAble with all the Recursions resolved, it has the Neighbor Next-hop for each destintation with a pointer to the Adjacency Table, derived from ND to perform the encapsulation. The data structure of a Routing Table or RIB is optimized for efficient management of entries in the table while the FIB is optimized for getting the Fastest Lookup! In the distributed platform, the FIB and Adjacencies tablessa re downloaded on the Linecards and it is the ingress LC which takes the switching decision. The central CPU is not involved for forwarding and for troubleshooting you must attach to the LC as looking to the Central tables is not useless but it is not the table we need to look for the decision. Fred Bovy, IPv6 For Life!.... CCIE #3013 R1#show adjacency FE80::C801:4FF:FE94:6 Protocol Interface Address IPV6 FastEthernet0/1.11 FE80::C801:4FF:FE94:6(7) R1#show adjacency FE80::C801:4FF:FE94:6 internal Protocol Interface Address IPV6 FastEthernet0/1.11 FE80::C801:4FF:FE94:6(7) 0 packets, 0 bytes epoch 0 sourced in sev-epoch 1 Encap length 18 CA0104940006CA00049400068100000B 86DD IPv6 ND Fast adjacency enabled [OK] L3 mtu 1500 Flags (0x11A9E) Fixup disabled HWIDB/IDB pointers 0x66CCDD10/0x67E58500 IP redirect enabled Switching vector: IPv6 adjacency oce Adjacency pointer Next-hop FE80::C801:4FF:FE94:6 This is the neighbor next-hop and cannot be anything else but a Link-local address! We find it also in the line above which resume the recursion in case you have multiple level, there is one line per level.... Just after you can see the Address of the Adjacency pointer which is a memory pointer to a structure which contains the Adjacency information like the MAC Address for the encapsulation, from where it comes from (ND or ARP for IPv4) and how many bytes/packets were encapsulated with this adjacency... This comes from the CEF Forwarding Information Base (FIB)! This comes from the CEF Adjacency Table Use the internal argument
  • 3. © Frédéric Bovy 153 CEFv6 – Adjacency Entry R1#show adjacency FE80::C801:4FF:FE94:6 internal Protocol Interface Address IPV6 FastEthernet0/1.11 FE80::C801:4FF:FE94:6(7) 0 packets, 0 bytes epoch 0 sourced in sev-epoch 1 Encap length 18 CA0104940006CA00049400068100000B 86DD IPv6 ND Fast adjacency enabled [OK] L3 mtu 1500 Flags (0x11A9E) Fixup disabled HWIDB/IDB pointers 0x66CCDD10/0x67E58500 IP redirect enabled Switching vector: IPv6 adjacency oce Adjacency pointer 0x66F91C60 Next-hop FE80::C801:4FF:FE94:6 •  !! How!many! packets/bytes! switched!?! MAC!Address! Protocol!Type! Source!of!the!L2! Address! Adjacency)Pointer) from)the)FIB) © Frédéric Bovy 153 CEFv6 – Adjacency Entry R1#show adjacency FE80::C801:4FF:FE94:6 internal Protocol Interface Address IPV6 FastEthernet0/1.11 FE80::C801:4FF:FE94:6(7) 0 packets, 0 bytes epoch 0 sourced in sev-epoch 1 Encap length 18 CA0104940006CA00049400068100000B 86DD IPv6 ND Fast adjacency enabled [OK] L3 mtu 1500 Flags (0x11A9E) Fixup disabled HWIDB/IDB pointers 0x66CCDD10/0x67E58500 IP redirect enabled Switching vector: IPv6 adjacency oce Adjacency pointer 0x66F91C60 Next-hop FE80::C801:4FF:FE94:6 •  !! How!many! packets/bytes! switched!?! MAC!Address! Protocol!Type! Source!of!the!L2! Address! Adjacency)Pointer) from)the)FIB)