Title: A LFB Library for ForCES
1A LFB Library for ForCES
- ltdraft-dong-forces-lfblib-00.txtgt (to be
submitted) - Ligang Dong, donglg_at_mail.zjgsu.edu.cn
- Fengen Jia, jfg_at_mail.ndsc.com.cn
- Weiming Wang,wmwang_at_mail.zjgsu.edu.cn
- IETF 68th Meeting
- Mar. 20, 2007, Prague Czech
2Draft Content
- Defined 22 LFBs by use of XML schema proposed in
FE Model - compliant with ForCES FE model specifications
- Attributes, capabilities, events, etc
- Defined relative frame types, data types, and
metadata types used in proposed LFBs
3LFB Designs - Port LFBs
- EtherPort
- a description of a general Ethernet port function
- EtherEncap
- for ethernet encapsulation
- EtherDecap
- for Ethernet de-encapsulation and Ethernet
filtering functions
4LFB Designs - IPv4 unicast forwarding LFBs
- IPv4Validator
- for validates IPv4 packets
- IPv4UcastLPM
- IPv4 Longest Prefix Match Lookup LFB
- IPv4NextHopApplicator
- for applying next hop action to IPv4 packets
- ARP
- provides the function of address resolution.
- ICMPProc
- provides basic ICMP function.
- OptionProc
- processes IPv4 packet options,
- currently defined option Router-alert option.
5LFB Designs IPv6 unicast forwarding LFBs
- IPv6Validator
- for validating correctness of IPv6 packets
- IPv6UcastLPM
- for IPv6 longest prefix lookup function
- IPv6UcastNexthopApplicator
- for applying next hop action to IPv6 packets
- IPv6AddrResolution
- provides the function of IPv6 address resolution
part of Neighbor Discovery protocol - ICMPv6Proc
- provides basic ICMPv6 function.
- ExtendHeaderProc
- processes IPv6 packet extended header.
6LFB Designs Queue manager scheduler LFBs
- Scheduler
- Basic scheduler LFB
- Queue
- Basic queue LFB
- InterFECommEncap
- for encapsulating data that needs to be sent over
switch fabric to other FEs - InterFECommDecap
- for decapsulating data that comes from switch
fabric
7LFB Designs Common Function LFBs
- RedirectSink
- provides the function for data packets to be
redirected to CE. - RedirectSource
- provides the function for receiving data packets
redirected from CE - MetaClassifier
- provides the function of classifying packets
according to meta data. - currently defined to work with one meta data
8Example - IPv4UcastLPM (1)
- ltLFBClassDef LFBClassID"0x00011004"gt
- ltnamegtIPv4UcastLPMlt/namegt
- ltsynopsisgtIPv4 Longest Prefix Match Lookup
LFBlt/synopsisgt - ltversiongt1.0lt/versiongt
- ltinputPortsgt
- ltinputPortgt
- ltnamegtPktInlt/namegt
- ltsynopsisgt
- The port to receive IPv4 packets from other
LFBs - lt/synopsisgt
- ltexpectationgt
- ltframeExpectedgtltrefgtIPv4lt/refgtlt/frameExpectedgt
- lt/expectationgt
- lt/inputPortgt
- lt/inputPortsgt
9Example - IPv4UcastLPM (2)
- ltoutputPortsgt
- ltoutputPortgt
- ltnamegtSuccessOutlt/namegt
- ltsynopsisgtSuccessful output when all is
finelt/synopsisgt - ltproductgt
- ltframeProducedgt
- ltrefgtIPv4lt/refgt
- lt/frameProducedgt
- ltmetadataProducedgt
- ltrefgtNextHopIDlt/refgt
- lt/metadataProducedgt
- lt/productgt
- lt/outputPortgt
-
10Example - IPv4UcastLPM (3)
- ltoutputPortgt
- ltnamegtExceptionOutlt/namegt
- ltsynopsisgtException outputlt/synopsisgt
- ltproductgt
- ltframeProducedgtltrefgtIPv4lt/refgtlt/frameProducedgt
- ltmetadataProducedgt
- ltrefgtInputPortID lt/refgt
- ltrefgtExceptionIDlt/refgt
- lt/metadataProducedgt
- lt/productgt
- lt/outputPortgt
- ltoutputPortgt
- ltnamegtFailOutputlt/namegt
- ltsynopsisgtDrop outputlt/synopsisgt
- ltproductgt
- ltframeProducedgtltrefgt IPv4 lt/refgtlt/frameProduced
gt - lt/productgt
- lt/outputPortgt
- lt/outputPortsgt
11Example - IPv4UcastLPM (4)
- ltattributesgt
- ltattribute elementID"1"gt
- ltnamegt PrefixTable lt/namegt
- ltsynopsisgtIPv4 prefix tablelt/synopsisgt
- ltarray type"variable-size"gt
- lttypeRefgtIPv4PrefixTableEntrylt/typeRefgt
- ltcontentKey contentKeyID"1"gt
- ltcontentKeyFieldgt
- IPv4PrefixTableEntry.prefix
- lt/contentKeyFieldgt
- lt/contentKeygt
- lt/arraygt
- lt/attributegt
12Example - IPv4UcastLPM (5)
- ltattribute elementID"2"gt
- ltnamegtLocalIpAddrTablelt/namegt
- ltsynopsisgtTable of interfaces' ip address
info. on the local device - lt/synopsisgt
- lttypeRefgtLocalIpAddrTypelt/typeRefgt
- lt/attributegt
- ltattribute elementID"3"gt
- ltnamegtStatsEnablelt/namegt
- ltsynopsisgtWhether enable the statistics in this
LFBlt/synopsisgt - lttypeRefgtBooleanTypelt/typeRefgt
- lt/attributegt
- ltattribute elementID"4"gt
- ltnamegtIPv4Statslt/namegt
- ltsynopsisgtThe IPv4 associated
statisticslt/synopsisgt - lttypeRefgt IPv4UcastLPMStatisticsType lt/typeRefgt
- lt/attributegt
- lt/attributesgt
13Example - IPv4UcastLPM (6)
- ltcapabilitiesgt
- ltcapability elementID"1"gt
- ltnamegtPrefixTableLimitlt/namegt
- ltsynopsisgtMaximum number of prefix supported
by this LFB - lt/synopsisgt
- lttypeRefgtuint32lt/typeRefgt
- lt/capabilitygt
- ltcapability elementID"2"gt
- ltnamegtLocalIpAddrTableLimitlt/namegt
- ltsynopsisgtMaxnum of IP address entries
supported by this LFB - lt/synopsisgt
- lttypeRefgtuint32lt/typeRefgt
- lt/capabilitygt
- lt/capabilitiesgt
- ltdescriptiongtThis LFB represents the IPv4
longest prefix match lookup operation. - lt/descriptiongt
- lt/LFBClassDefgt
14Implementation status
- Proposed LFBs all have been implemented in terms
of their forwarding functions - Most of the proposed LFB attributes have been
implemented and tested, examples are as - Some LFB attributes, capabilities, and events are
to be implemented
LFB Names LFB attributes
IPv4UcastLPM PrefixTable, LocalIpAddrTable
IPv4NextHopApplicator NextHopTable
IPv6UcastLPM PrefixTable, LocalIpv6AddrTable
IPv6UcastNexthopApplicator NextHopTable
EtherEncap ArpTable, NbrTable
15Conclusion
- Earlier version of LFB definitions was posted on
ForCES email list in Feb. 2006. - This draft is basically an improvement to the
version - Based on implementation responses
- Works on LFB definitions highly depends upon
implementations, and just consume time and other
resources. Our current work is still far from
perfect. - Comments on the draft are really appreciated!
16Acknowledges
- Research is funded by
- NSF China (60573116, 60603072)
- Zhejiang Provincial NSF China (No. Z106829)
- Zhejiang Sci Tech Project (2006C11215)
17Thank You!