内核PPPOE问题请教
在PPPOE的discover阶段:
当驱动收到的包送到上层时,会根据type来判断,如果是ETH_P_PPP_DISC,会交给pppoe_disc_rcv()函数处理,但这个函数只处理PADT包啊!如果是PADO包怎么办?
有的书上说这个包(PADO)是交给pppoe_rcv()函数处理的,但在代码中:
static struct packet_type pppoes_ptype = {
.type = __constant_htons(ETH_P_PPP_SES),
.func = pppoe_rcv,
};
也就是说只有SESSION阶段的包才会交给pppoe_rcv()处理啊!
到底是怎么回事?
|