예제 #1
0
static int clip_arp_rcv(struct sk_buff *skb)
{
    struct atm_vcc *vcc;

    DPRINTK("clip_arp_rcv\n");
    vcc = ATM_SKB(skb)->vcc;
    if (!vcc)
	goto Exit;

    incoming_arp(CLIP_VCC(vcc), (struct atmarphdr *)skb->data, skb->len);

Exit:
    dev_kfree_skb_any(skb);
    return 0;
}
예제 #2
0
파일: io.c 프로젝트: ebichu/dd-wrt
static void recv_vcc(VCC *vcc)
{
    unsigned char buffer[MAX_BUFFER];
    int size;

    size = read(vcc->fd,buffer,MAX_BUFFER);
    if (!size) {
	disconnect_vcc(vcc);
	return;
    }
    if (size < 0) {
	diag(COMPONENT,DIAG_ERROR,"read vcc: %s",strerror(errno));
	disconnect_vcc(vcc);
	return;
    }
    if (debug) {
	int i;
	for (i = 0; i < size; i++) printf("%02X ",buffer[i]);
	printf("\n");
    }
    incoming_arp(vcc,(struct atmarphdr *) buffer,size);
}