aib & preroute TOI

不想整天在工作中迷失,天天想一想
打印 被阅读次数

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          
     queue_fifo              
     pak_capture             
     txm_nopull              

     ipv4                    
     hdlc                    
     l2_adj_rewrite          
     queue_fifo              
     link_jump               
     txm_nopull              


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) {

登录后才可评论.