Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm building iptraf-ng on CentOS 5.9 and running into the following errors:

src/packet.c: In function ‘packet_process’:
src/packet.c:322: error: ‘ETH_P_QINQ1’ undeclared (first use in this function)
src/packet.c:322: error: (Each undeclared identifier is reported only once
src/packet.c:322: error: for each function it appears in.)
src/packet.c:323: error: ‘ETH_P_QINQ2’ undeclared (first use in this function)
src/packet.c:324: error: ‘ETH_P_QINQ3’ undeclared (first use in this function)
src/packet.c:325: error: ‘ETH_P_8021AD’ undeclared (first use in this function)

I am assuming that this is from the build not seeing the kernel or network interface constant definitions properly. This is on a virtual machine and the normal version of straight iptraf will not work with vnet0.

What would be the proper steps to include the support libraries here for compilation?

NOTE: I have also attempted to build the source rpm as well, however it's a losing battle it seems as per here.

share|improve this question
up vote 0 down vote accepted

You've either not installed the kernel headers, or these symbols have been introduced in kernel version 2.6.19 or newer. In the latter case you're out of luck and should upgrade to centos 6.

share|improve this answer
CentOS uses 2.6.18 (missed it by that much!) and I've verified kernel-headers-2.6.18-348.el5 does not contain include files with ETH_P_QINQ1. – Mark Wagner Apr 12 '13 at 23:16

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.