BGP的核心就是交换路由,所以关键的部分还是在路由的更新与撤销上面,这之间包含了冗长的属性,community等等处理过程,不做详述. bgp_read函数是路由更新的事件处理函数,在收到BGP_MSG_UPDATE消息的时候开始调用bgp_update_receive函数处理. switch (i) { case NLRI_UPDATE: case NLRI_MP_UPDATE: nlri_ret = bgp_nlri_parse(peer, NLRI_ATTR_ARG, &nlris[i])