|
Major points
AIB is the most stable component (Atul)
1) AIB external managed adjacency 2) Software Path bundle load balance 3) Packet capture 4) Preroute Mcast 5) Preroute Unicast
BM-ADJ control path Producer (create/delete/modify) -> AIB -> PD BM ADJ -> HW IM/IIR -> PI BM ADJ -> PD BM ADJ -> PI AIB -> PD BM ADJ -> HW
Unicast preroute path RP CPU -> LC CPU (prior 4.1.0 of ISSU changes) RP CPU -> LC PSE (from 4.1.0) set next hop bit and next hop address, next hop address must be connected address. RSVP / Linklocal / OSPF-EIGRP etc. session init packets
AIB external registration ================= #define BMP_ADJ_CMPL_DLL_NAME "libbundlemgr_platform_hfr_cmpl_cti.dll" dll_parms.aibcl_compl_fn_dll_name = BMP_ADJ_CMPL_DLL_NAME; #define BMP_ADJ_CMPL_FUNC_NAME "bmp_adj_cmpl_adj" dll_parms.aibcl_compl_fn_name = BMP_ADJ_CMPL_FUNC_NAME; #define BMP_ADJ_DLL_NAME "libbundlemgr_adj_pd.dll"; dll_parms.aibcl_plat_dll_name = BMP_ADJ_DLL_NAME; #define BMP_ADJ_PROG_FUNC_NAME "bmp_prog_adj"; dll_parms.aibcl_plat_prog_fn_name = BMP_ADJ_PROG_FUNC_NAME; #define BMP_ADJ_STATS_FUNC_NAME "bmp_read_stats" dll_parms.aibcl_plat_read_stats_fn_name = BMP_ADJ_STATS_FUNC_NAME;
Bundle Load Balance in SW path ======================= aib_complete_entry calls dlldata->complete_fn() function (bmp_adj_cmpl_adj())
Packet Capture Function ======================= packet drop capture drop in PSE -> shq/spr -> squidlib->fabio->qad->forwarder driver (drop packets capture here)
packet punt capture on interface 1) enable software packet capture on an interface (phy only) l2_adj_rewrite <86> <0x4d9630f4, 0x504c75d8> < 0, 0> queue_fifo <56> <0x4d930bdc, 0x505084f0> < 0, 0> pak_capture <162> <0x4d9758f4, 0x505321c4> < 0, 0> txm_nopull <60> <0x4d93fea4, 0x504fbe98> < 0, 0>
ipv4 <26> <0x4df6b0c8, 0x5052f178> < 0, 0> hdlc <14> <0x4e35415c, 0x00000000> < 0, 0> l2_adj_rewrite <86> <0x4d9630f4, 0x5054f9f8> < 0, 0> queue_fifo <56> <0x4d930bdc, 0x5052fc50> < 0, 0> link_jump <94> <0x4e36842c, 0x00000000> < 0, 0> txm_nopull <60> <0x4d93fea4, 0x5052f924> < 0, 0>
2) drop packet capture fwd_spr_pak_rx() if (pak_capture_capture_packet(pak, PC_DIRECTION_INGRESS) == PCR_DROP_PACKET) fwd_shq_pak_rx() if (pak_capture_capture_packet(pak, PC_DIRECTION_EGRESS) == PCR_DROP_PACKET) {
|
|
|