isis receive 收包流程

2021-07-04 16:20:10 字數 1307 閱讀 5936

**如下

int

isis_receive (struct thread *thread)

主要流程:

1 收包 rx,呼叫註冊的處理函式, 例如isis*_receive_*_bcast/p2p

2 處理報文 handle

3 處理下乙個 read_on

處理報文的邏輯如下,

static int

isis_handle_pdu (struct isis_circuit *circuit, u_char * ssnpa)

呼叫關係

(gdb) bt

#0 isis_handle_pdu (circuit=0x7ffff427c8c8, ssnpa=0x7ffff4582b60 "") at isis_pdu.c:1654

#1 0x00007ffff42ce5a2 in isis_receive (thread=0x7ffff4582cc0) at isis_pdu.c:1796

#2 0x00007ffff42f24ef in thread_call (thread=0x7ffff4582cc0) at thread.c:1177

#3 0x00007ffff42bda3d in main (argc=5, argv=0x662700, envp=0x6460b0) at isis_main.c:353

#4 0x00007ffff7a0708f in ns3::dcemanager::dostartprocess (context=0x677f40) at ../model/dce-manager.cc:283

#5 0x00007ffff7a907fc in ns3::taskmanager::trampoline (context=0x662900) at ../model/task-manager.cc:274

#6 0x00007ffff7a8c7d7 in ns3::pthreadfibermanager::run (arg=0x678230) at ../model/pthread-fiber-manager.cc:402

#7 0x000000318b2079d1 in start_thread () from /lib64/libpthread.so.0

#8 0x000000318a6e88fd in clone () from /lib64/libc.so.6

(gdb)

主要結論:

對於ppp網路,並不追究snpa的值。

軟中斷和收包流程

open softirq建立型別與handler的對應關係。void open softirq int nr,void action struct softirq action void data netif rx將收到的包放到softnet data的input pkt queue中,之後呼叫ne...

jrtplib V3 11 1 收包流程

最近在看 jrtplib的收包流程,看了這篇文章 jrtplib接收資料報流程 只是用的庫老了點 v3.7 的,寫的也太長了,不夠簡練,於是自己寫乙份 v3.11.1的簡練點的收包流程說明,撿重點,無關的流程略過。rtp包的接收入口函式 int rtpsession poll 流程 一 的剖析 說明...

linux e1000e收包流程解析

收到報文 e1000e poll skb變數pfmemalloc的含義 ret pci register driver e1000 driver pci driver e1000 driver.probe e1000 probe e1000 probe struct pci dev pdev,con...