|
|
| version 1.23.6.6, 2014/12/18 00:50:06 | version 1.24, 2015/01/15 01:42:37 |
|---|---|
| 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); |