tcpdump on uClinux run “No Such device” kernel linux-3.x uClinux,the target CPU is Cortex R7,
#tcpdump -i any munmap of memory not mmapped by process 383 (tcpdump): 0xffffffff -0x20bffe tcpdump: any: can't mmap rx ring: No such device I check source code,libpcap.a source file Pcap-linux.c function create_ring() print this error,handle->fd is socket handle. /* memory map the rx ring */ handle->md.mmapbuflen = req.tp_block_nr * req.tp_block_size; handle->md.mmapbuf = mmap(0, handle->md.mmapbuflen, PROT_READ|PROT_WRITE, MAP_SHARED, handle->fd, 0); if (handle->md.mmapbuf == MAP_FAILED) { snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, "can't mmap rx ring: %s", pcap_strerror(errno)); /* clear the allocated ring on error*/ destroy_ring(handle); return -1; } the further reason is mm/nommu.c validate_mmap_request() return -ENODEV in kernel if (!(capabilities & BDI_CAP_MAP_DIRECT) return -ENODEV; Can tcpdump run on uClinux and how? PS. I have configured CONFIG_PACKET=y and CONFIG_PACKET_DIAG=y linux kernel .config,I can not find CONFIG_PACKET_MMAP
_______________________________________________ uClinux-dev mailing list uClinux-dev@uclinux.org http://mailman.uclinux.org/mailman/listinfo/uclinux-dev This message was resent by uclinux-dev@uclinux.org To unsubscribe see: http://mailman.uclinux.org/mailman/options/uclinux-dev