瓶颈突破

不想整天在工作中迷失,天天想一想
正文

aib & preroute TOI

(2011-05-16 23:21:17) 下一个
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) {
[ 打印 ]
阅读 ()评论 (0)
评论
目前还没有任何评论
登录后才可评论.