IXA SDK 3.x 及其程序开发
description
Transcript of IXA SDK 3.x 及其程序开发
-
IXA SDK 3.x
-
AgendaIXA
-
IXA IXA SDK 3.5 Developer WorkbenchIXA SDK 3.5 Portability Framework
-
IXA SDK 3.5 Intel IXP2xxx C (NetSim) Wind River VxWorks 5.4()MontaVista Linux3.0() XScale
-
IXA SDK 3.5(image) (HAL)C:\IXA_SDK_3.5\me_tools\XSC_CoreLibs\uclo(HAL)XScaleCSRSRAMC:\IXA_SDK_3.5\me_tools\XSC_CoreLibs\HalMev2HALC(OSSL)
-
IXA SDK 3.5
-
IXA SDK 3.5(microblock) IPv45 (core component) XScale POS/MAC/ATM API
-
IXA SDK 3.5(Infrastructure Library)(CCI)VxWorks (CP_PDK) (NPF)APIVxWorks
-
10OC-12 ATMOC-48 POSOC-192 POSCSIX
IPv4 L3RFC1812IPv6 L3MPLS
-
POSMACATMTCP/IP
-
IXA
-
C CAMIPv4IPv6CRC
-
XScale CSR SRAMDRAM(DRAM)SRAM
-
CCICP_PDK(CCI) API (CP_PDK)(NPF) API
-
(OSSL)
-
OSCCI OSSL
-
\src ApplicationsBuilding_blocksCp_pdk EXAMPLESFrameworkCCRMIncludeCLibraryCRCxscaleCCIWorkspaceWind River Tornadomake
-
\src\applications Dispatch_loopListBuild.listLogScripts.indStreams
-
AgendaIXA
-
(NPF) (Intel) (plug-in) QoSVIDD
-
NPFRIBRIB (element aware)
-
NPF
-
(NPFCSIX)
MAC
MAC
MAC
MAC
MAC
MAC
Switch fabric
MAC
MAC
MAC
MAC
MAC
MAC
-
DRAM(2KB)
-
SRAM Scratch ring (meta data) SRAM (8)32
SRAM
SDRAM
32b
32B
2KB
-
(dispatch loop) dl_source dl_sink dlNextBlock
-
CC / (patches symbols)
-
CCI
-
ICMP
-
SP
-
(property) - MTUMAC IP
-
(call-back)API
-
NPFCP_PDK NPF API
-
CP_PDKAPIAPINPFAPI APIAPI CP
-
CP_PDK FEAPINPF APIAPIAPIshim
-
ARP
-
CP_PDK IETFForCESIETFdraft-ietf-forces-protocol-01.txt (agent) COPSCommon Open Policy Service QoS RFC2748 GSMPGeneral Switch Management ProtocolIPRFC3292-5 CORBA InfinibandPCI
-
CP-PDK(FP)APIAPI ShimAPIFP APINPF APIIntelIXPFP
-
CP-PDK
-
VIDD IP-in-IP (NPT)END
-
AgendaIXA
-
ID 8ID dl_next_block dl_next_block
-
void main(){DL_Source_Init();// initialize DL_Source blockIPFwd_Init(); // initialize the Ipv4 Forwarding blockMeter_Init(); // initialize the meter blockWRED_Init(); // initialize the WRED blockDL_Sink_Init(); // initialize DL_MESink blockwhile(TRUE) { // Run the dispatch loopDL_Source(); // Get a packet from the scratch ringIPFwd(); // call the IP forwarding blockMeter(); // call the metering blockWRED(); // call the WRED blockDL_Sink(); // pass packet to another microengine} // end dispatch loop while} // end main
-
SRAM24SDRAM
313029:2423:0EOPSOPcell_countLw_offset
-
31:2827:2423:2019:1615:1211:87:43:0Buffer_nextBuffer_sizeoffsetPacket_sizeFree_list_idRx_statHeader_typeInput_portOutput_portNext_hop_idFabric_portreservedNexthop_id_typecolorFlow_idClass_idreservedPacket_next
Buffer_nextBuffer_sizeoffsetPacket_sizeFree_list_idIDRx_statHeader_typeInput_portOutput_portNext_hop_idFabric_portNexthop_id_typecolorQoSFlow_idQoSMPLSClass_idPacket_next
-
AgendaIXA
-
APIAPIAPIAPIAPIAPIAPISRAMDRAMAPI
-
APImicroengine.c
ix_rm_ueng_set_ucodeix_rm_ueng_map_ucodeix_rm_ueng_reset_allix_rm_ueng_patch_symbolsix_rm_ueng_loadix_rm_ueng_set_ucodeix_rm_ueng_startix_rm_ueng_stopix_rm_ueng_resetix_rm_ueng_enableix_rm_ueng_disable
-
API
ix_rm_hw_queue_createix_rm_hw_queue_deleteix_rm_hw_enqueueix_rm_hw_dequeueix_rm_hw_queue_array_get_base_addressSRAM Q-Arrayix_rm_hw_sram_ring_createSRAMix_rm_hw_scratch_ring_createix_rm_hw_ring_deleteix_rm_hw_ring_putix_rm_hw_ring_get
-
API
ix_rm_hw_buffer_free_list_createix_rm_sw_buffer_free_list_createix_rm_buffer_free_list_deleteix_rm_buffer_free_list_get_infoix_rm_buffer_allocix_rm_buffer_freeix_rm_buffer_free_chainix_rm_buffer_get_metaix_rm_buffer_get_dataix_rm_buffer_is_eopix_rm_buffer_is_sopix_rm_buffer_get_type
-
API ID32 (end point) ID(dispatch engine) internal_communication.c
-
API ix_cp_property_info /prop1/prop2/prop3/prop4
-
CCIAPI 32
3362828/CC
-
CCIAPI
ix_cci_cc_add_event_handler ix_cci_cc_add_message_handler ix_cci_cc_add_packet_handler ix_cci_cc_create ix_cci_cc_destroy ix_cci_cc_remove_event_handler ix_cci_cc_remove_message_handler ix_cci_cc_remove_packet_handlerix_cci_exe_add_policyix_cci_exe_get_info
-
ICMP / IDbindings.h
-
CCIAPI
create_eventactivate_eventprocess_due_eventsreschedule_eventget_user_contextix_cci_handle_events
-
CCIAPI
ix_cci_get_first_pendingix_cci_get_next_pendingix_cci_process_selected_childix_cci_process_wrr_policyWRRix_cci_process_rr_policyRRix_cci_process_sp_policySPix_cci_policy_destroyix_cci_policy_add_branchix_cci_policy_add_leafix_cci_policy_clear_entry
-
CCIAPI C:\IXA_SDK_3.1\src\applications\sysapp_common\source\execution_engines.c
_ix_sa_create_execution_engines_ix_sa_delete_execution_enginesix_cci_exe_shutdown_ix_sa_exe_init_ix_sa_enum_cc_from_listCC_LIST_ix_sa_exe_fini_ix_sa_reg_verify_engines_ix_sa_check_engine_prop_ix_sa_create_default_engine_ix_sa_delete_default_engine_ix_sa_default_exe_init_ix_sa_default_exe_fini_ix_sa_set_cc
-
sysapp_main.c
ix_sa_create_ix_sa_entry_ix_sa_start_ix_sa_init_ix_sa_finiix_sa_shutdown_ix_sa_msf_initMSF RBUF_ix_sa_media_resetmedia_card_10x1gb_initMSF
-
XML System_PorpertiesAUTO_RESTARTBLAD_IDPORT00IP_VERIP_ADDRIP_MASKIP_BCASTIP_GATEMTULINK_SPEEDMAC_ADDRMEDIA_TYPEPORT01PORT02PORT03ME_01CONTEXTCONTEXT_MASKSystemAppFREELISTSFL_01ELEMENT_COUNTSRAM_SIZESRAM_CHANDRAM_SIZEDRAM_CHANSCRATCH_RINGSSR_01IDCHANELEMENT_SIZESR_02SR_03SA_EXEC_ENGINESSA_EE_00CC_LISTMICROENGINESME_01CONTEXTCONTEXT_MASK
-
CP_PDK C:\IXA_SDK3.1\src\cp_pdk apps cachenetlink.c Common DataTypeIPv4IPv6IPv4IPv6EncapIncInterconnectTCP/IPControlPlane APIImplementationsNPFAPIIPv4ATMDiffServCoreBlocksdataRelayShimincPDKManagerPDKPDKTransportPluginIPv4ATM
-
CP_PDKCppui ForwardingPlane DataRelayShimFPManagerFPModulePacketHandlerTransportPlugin Fpmodule_coreIXA SDK Fpmodule_proxy Npf_api NPF API
-
AgendaIXA
-
Oc-48 POS IPv4
PPP
IPv4
CSIX
CSIX
CSIX
CSIX
PPP
-
POSIPv4PPPIPv4CSIX04125636CSIX7CSIX_TX
-
CSIXPPP
-
IPv6
-
AgendaIXA
-
Packet_RXPPP_classify Ipv4FwderQMCSIXCSIX
-
Packet_RX OC-48 POSDlSinkpacket_rx.c(mpacket)RBUFRBUF128RBUF8KB DRAM
-
Packet_RXrxc RBUFDRAMRBUF
-
Packet_RX
SESPSOP SOPEOPSOPEOPSEPPMOPEOP SOPEOPMOPSOPEOPMSPSOP MOP ESPSOP EOP SPPMOPEOP SOPSSPSOP SOP MPPMOPEOP MOP EPPMOPEOP EOP
-
PPP_classify PPPIPv4IPv6LCPIPCP LCPIPCPPPPXScale dlMeta
-
Ipv4Fwder IPv4 RFC1812RFC2644 MPLSIPv6-IPv4
-
Ipv4Fwderdl_next_blockBID_IPV4dl_next_blockIPV4_NEXT1
-
QM SRAMSRAMQ-ArrayCAM16cache
-
QMCSIXATMQMPOSQM
-
QM0CAMCAMLRUCAMCAMLRU
-
CSIX 6416QoS (RR)(WRR) VoQXoff
-
CSIX 323232 4
-
CSIX CSIXC 8/16 C8CC 81632IDQoSIDMPLS/IDMSF(TCW)CSIXCSIX
-
CSIX(TXC)CTXCCTXCTXCDRAM TBUFDRAMTBUF 4CAMTBUFDRAMTBUFTBUF41n-1-3n2n+1-4n
-
AgendaIXA
-
IPv4
-
IPv4
(RTM)
CSIX TX
(CCI)
(RM)
-
C:\IXA_SDK_3.1\sec\building_blocks
AtmsarATM SARIpv4ipv4_coreIPv4Ipv6IPv6Qos6DSCPWREDQueue_managerqm_cell\core\queue_managerRxATMCSIXPOSSchedulerATMCSIXStack_driverTxATMCSIXPOS AAL5
-
eth_rx XScaleSRAM 48MAC610 MACMAC
-
64SRAM_FLT_TABLE_BASESRAM_PORT_BIT_MAP_BASE SRAML2
-
IX_CC_ETH_RX_MSG_GET_STATISTICS_INFOIX_CC_ETH_RX_MSG_GET_INTERFACE_STATEIX_CC_COMMON_MSG_ID_PROP_UPDATEIX_CC_ETH_RX_MSG_ADD_MAC_ADDRMACIX_CC_ETH_RX_MSG_DELETE_MAC_ADDRMACIX_CC_ETH_RX_MSG_LOOKUP_PORT
-
IPARPARPARPARPNPNPARPPCINP
-
APICCI API
Ix_cc_eth_rx_initIx_cc_eth_rx_finiix_cc_eth_rx_msg_handlerix_cc_eth_rx_low_priority_pkt_handlerix_cc_eth_rx_hdlr.cix_cc_eth_rx_high_priority_pkt_handlerix_cc_eth_rx_hdlr.c
-
APIAPI
ix_cc_eth_rx_async_get_statistics_infoix_cc_eth_rx_msg_hlp.cix_cc_eth_rx_async_get_interface_stateix_cc_eth_rx_msg_hlp.cix_cc_eth_rx_async_add_mac_addrMACix_cc_eth_rx_msg_hlp.cix_cc_eth_rx_async_delete_mac_addrMACix_cc_eth_rx_msg_hlp.cix_cc_eth_rx_async_lookup_portMACix_cc_eth_rx_msg_hlp.cix_cc_eth_rx_get_statistics_info/ix_cc_eth_rx_core.c
-
APIAPI
ix_cc_eth_rx_get_interface_stateix_cc_eth_rx_core.cix_cc_eth_rx_set_propertyix_cc_eth_rx_core.cix_cc_eth_rx_add_mac_addrMACMACix_cc_eth_rx_core.cix_cc_eth_rx_del_mac_addrMACMACix_cc_eth_rx._core.cix_cc_eth_rx_lookup_portix_cc_eth_rx_core.c
-
rtmv4 IPv4API
-
API
Ix_cc_rtmv4_initIx_cc_rtmv4_finiIx_cc_rtmv4_add_next_hopNHDBIx_cc_rtmv4_delete_next_hopNHDBIx_cc_rtmv4_updata_next_hopNHDBIx_cc_rtmv4_get_next_hopIx_cc_rtmv4_set_mtuMTUIx_cc_rtmv4_set_flagsIx_cc_rtmv4_add_routeIx_cc_rtmv4_update_routeIx_cc_rtmv4_delete_routeIx_cc_rtmv4_lookupIx_cc_rtmv4_dump_next_hopsIx_cc_rtmv4_dump_routesIx_cc_rtmv4_purgeIx_cc_rtmv4_purge_routesIx_cc_rtmv4_get_symblesIx_cc_rtmv4_get_statistics
-
IPv4 RFC1812RFC2644IPICMPICMPIPv4 rtmv4
-
IPv4RTM644ICMP
-
IPv4IP IPv4 IP{0, 0}DEE
-
IPv4ICMP ICMP ICMPICMPICMPICMP
-
IPv4ICMPICMP_ix_cc_ipv4_icmp_build_messageix_rm_buffer_get_metaICMPICMP_ix_cc_ipv4_init_ip_headerTTLix_cc_hw_get_packet_data ICMPIP_ix_cc_ipv4_get_port_ip_addressICMPIDICMP_ix_cc_ipv4_get_ip_id() ICMPICMP_ix_cc_ipv4_icmp_queue_message
-
IPv4IPIPIPIPICMPIPIPIP1ICMP
-
IPv4(LSRR)(SSRR)ICMP
-
IPv4MTUMTUDFDFICMPMTU
-
IPv4APICCI API
ix_cc_ipv4_initix_cc_ipv4_finiix_cc_ipv4_msg_handlerix_cc_ipv4_microblock_high_priority_pkt_handlerIPv4ix_cc_ipv4_microblock_low_priority_pkt_handlerIPv4ix_cc_ipv4_stkdrv_pkt_handlerix_cc_ipv4_common_pkt_handler
-
IPv4APIAPI
ix_cc_ipv4_async_add_routeix_cc_ipv4_async_delete_routeix_cc_ipv4_async_update_route ix_cc_ipv4_async_lookup_routeix_cc_ipv4_async_purge_routesix_cc_ipv4_async_dump_routesix_cc_ipv4_async_add_next_hopix_cc_ipv4_async_delete_next_hopix_cc_ipv4_async_update_next_hopix_cc_ipv4_async_get_next_hopix_cc_ipv4_async_purge_rtm
-
IPv4APIAPI
ix_cc_ipv4_add_routeix_cc_ipv4_delete_routeix_cc_ipv4_update_routeix_cc_ipv4_lookup_routeix_cc_ipv4_purge_routesix_cc_ipv4_dump_routesix_cc_ipv4_add_next_hopix_cc_ipv4_delete_next_hopix_cc_ipv4_update_next_hopix_cc_ipv4_get_next_hopix_cc_ipv4_purge_rtm
-
(VIDD)
-
VIDDTCP/IP (VIDD) IXPXScaleTCP/IPMUX
-
IPv4IPv6MPLSID
-
APICCI API
ix_cc_stkdrv_initix_cc_stkdrv_finiix_cc_stkdrv_high_priority_pkt_handlerix_cc_stkdrv_low_priority_pkt_handlerix_cc_stkdrv_msg_handlerix_cc_stkdrv_pkt_to_remote_handler
-
VIDD
ix_cc_stkdrv_vidd_initVIDDix_cc_stkdrv_vidd_finiVIDDix_cc_stkdrv_vidd_npt_loadVxWorks MUXix_cc_stkdrv_vidd_receive_pktVIDDix_cc_stkdrv_vidd_npt_sendMUXix_cc_stkdrv_vidd_npt_unloadMUXix_cc_stkdrv_vidd_npt_ioctlVIDDix_cc_stkdrv_vidd_npt_startVIDDix_cc_stkdrv_vidd_npt_stopVIDDix_cc_stkdrv_vidd_npt_mCastAddrAddVIDDix_cc_stkdrv_vidd_npt_mCastAddrDelVIDDix_cc_stkdrv_vidd_npt_mCastAddrGetVIDDix_cc_stkdrv_vidd_npt_pollSendix_cc_stkdrv_vidd_npt_pollRcv
-
QMQM PCI CSIXATMPOS
-
CSIXWRR QoS DRR
-
L2 CSIXATM/POSARP /
-
ARP ARP2IPARPIP ARPARP(aging) ARPIPARP ARP1 ARP