version 1.23.6.6, 2014/12/18 00:50:06
|
version 1.23.6.8, 2015/01/15 01:41:53
|
Line 729 rxBPFPacket(sched_task_t *task)
|
Line 729 rxBPFPacket(sched_task_t *task)
|
rlen = read(TASK_FD(task), AIT_GET_BUF(&b), AIT_LEN(&b)); |
rlen = read(TASK_FD(task), AIT_GET_BUF(&b), AIT_LEN(&b)); |
h = (struct bpf_hdr*) AIT_GET_BUF(&b); |
h = (struct bpf_hdr*) AIT_GET_BUF(&b); |
rlen -= h->bh_hdrlen; |
rlen -= h->bh_hdrlen; |
if (rlen < h->bh_caplen || h->bh_caplen != h->bh_datalen || | if (rlen < h->bh_datalen || h->bh_caplen != h->bh_datalen || |
rlen < ETHER_HDR_LEN + sizeof(struct tagRPCCall)) { |
rlen < ETHER_HDR_LEN + sizeof(struct tagRPCCall)) { |
rpc_SetErr(ERPCMISMATCH, "Short RPC packet"); |
rpc_SetErr(ERPCMISMATCH, "Short RPC packet"); |
goto end; |
goto end; |
Line 792 rxBPFPacket(sched_task_t *task)
|
Line 792 rxBPFPacket(sched_task_t *task)
|
|
|
/* send RPC reply */ |
/* send RPC reply */ |
if (!noreply) |
if (!noreply) |
schedWrite(TASK_ROOT(task), cbProto[srv->srv_proto][CB_TXPACKET], | schedEvent(TASK_ROOT(task), cbProto[srv->srv_proto][CB_TXPACKET], |
c, TASK_FD(task), rpc, len); |
c, TASK_FD(task), rpc, len); |
end: |
end: |
AIT_FREE_VAL(&b); |
AIT_FREE_VAL(&b); |