Friday, February 10, 2012

Linux patches for TAHI v6eval 3.3.2

In my previous, ancient post running-tahi-v6eval-suite-on-linux I put out some information for posterity on converting v6eval to run on Linux systems.   Most Linux systems have moved on since three years ago and so has the v6eval suite.

I've kept up with porting the suite @$work to do automatic, unattended evaluation and reporting of our product, but I've neglected to keep it nice and clean for the rest of world.

Seeing that quite a few searches end up on that old post, I've cleaned it up and present a new patch for use against TAHI v6eval-3.3.2 .   You can download the patch HERE.

A few points about the patch and the v6eval suite:

  • To apply, extract the v6eval-3.3.2 package somewhere cd to v6eval-3.3.2 and run patch -p1 < (path to patch filel)
  • v6eval is not 64-bit clean, although it compiles fine, pktbuf will dump core.  I have not investigated or fixed this yet.   The TAHI maintainers are aware that it's not 64-bit capable.    Try to compile only in a 32bit environment.  In addition, I have not tested with -m32 compiles, if they work, let me know.
  • This compiles on a fairly recent Gentoo and a recent version of basically Centos/Redhat.(gcc 4.4.5).
  • Read the INSTALL.linux file for hints
  • Since the patch creates new files, some of these files may need permissions fixes, mainly and lorder need execute permissions.
  • Use to build, or incorporate the environment variables.
  • Getting a valid pmake is the hardest part, however Gentoo made it easy:
*  sys-devel/pmake
      Latest version available:
      Latest version installed:
      Size of files: 289 kB
      Description:   BSD build tool to create programs in parallel. Debian's version of NetBSD's make
      License:       BSD
  • The patch tries to do the minimum against the distributed code to get it to work with one exception.
  • The patch contains my custom pcap filter enhancement for the tn.def file:
Normally the engine only supports filtering for just ipv6 packets with a single line in the tn.def file:

filter ipv6

Since the automation harness at work has a busy network, I've modified the filter expression to be capable of any valid bpf filter, which means you need use similar syntax to tcpdump, so
filter ipv6
filter ip6

I use something similar to the following example to restrict tests to only the NUT, using the NUT's mac address:

filter ether host aa:bb:cc:dd:ee:ff and ip6


1 comment:

  1. Someone up to the challenge of running v6eval with macvlan interface? *shudder*