The ONL NPR Tutorial

NPR Tutorial >> Filters, Queues and Bandwidth TOC

New Window?

Auxilliary Filters

Auxilliary filters are normally used in a monitoring application in conjunction with a plugin. But they have other uses in an experimental environment. For example, they have been used to generate a heavy traffic load.

The main features of auxilliary filters are:

Normally, a user installs an auxilliary filter to direct packets to a plugin. The plugin collects statistics and drops any packets that it receives. This page describes the basic functionality offered by auxilliary filters and leaves the use of a plugin for later pages. [[ aux-2npr-resize.png Figure ]]

To demonstrate the packet-copying nature of auxilliary filters, we use the dumbbell network shown to the right and send ping packets from n1p3 to n2p2. At input port 1.3, we install both a route table and an auxilliary filter so that the route table will direct packets over the solid red top path and the auxilliary filter will direct packets over the dashed red bottom path. The route table directs packets destined for n2p2 to go out port 1.4. But the auxilliary filter directs matching packets to go out port 1.0. The effect of the auxilliary filter can be demonstrated by watching the bandwidth going over the two paths and the bandwidth going out of port 2.2.
[[ aux-dialogue-resize.png Figure ]]

The recipe for installing the auxilliary filter at input port 1.3 is:

We have accepted the values for the other options in the Add Filter window.
[[ aux-bw.png Figure ]]

The bandwidth chart (right) shows that the traffic going out port 2.2 (solid red curve) is double the bandwidth received at port 2.1 (green 2.1 rx) and bandwidth transmitted at port 1.0 (brown 1.0 tx). The chart clearly shows that there is traffic going over both the two links that connect NPR 1 and NPR 2.

The output of the ping command (below) also shows that the there are duplicate (DUP!) packets detected at the receiver n2p2.

[[ aux-ping-resize.png Figure ]]
 

Sampling Filters

Sampling filters are a type of auxilliary filter that allows you to probabilistically select a fraction of packets that match an auxilliary filter. Although a sampling filter can be used without a plugin, it becomes much more useful in conjunction with a plugin that can process the sampled packets. The main things to remember are:

[[ sampling-filter-resize.png Figure ]]

We could have converted the auxilliary filter at the beginning of this page to a sampling filter by just selecting a sampling percentage other than 100%. But since auxilliary filters and sampling filters in particular are usually used in conjunction with plugins, we partially show how that can be done here. We leave the explanation of how to install a plugin to a later page. The figure (right) shows a 50% sampling filter that directs packets to microengine 0 where a plugin must be installed. The only differences are:

We discuss sampling filters in more detail in the section on plugins.

 Revised:  Wed, Sep 3, 2008 

  
  

NPR Tutorial >> Filters, Queues and Bandwidth TOC