27.03.2014 Views

Moby Dick Consolidated System Integration Plan

Moby Dick Consolidated System Integration Plan

Moby Dick Consolidated System Integration Plan

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

D0103v1.doc Version 1 6.7.2003<br />

Acknowledgment, Binding Request, and Home Address options), Routing option, Hop-by-hop option,<br />

Authentication option, Encapsulating Security Payload (ESP) option, Fragment option, IPv6 (tunnelling),<br />

and ICMPv6.<br />

The goal of this software is simple: the filtering rules will not be directly written in the XXX. In fact, the<br />

software offers the possibility to filter packets using a more or less complete subset of the different header<br />

fields. Only the user, and/or the network administrator, thanks to their good knowledge of the network<br />

protocols, is able to define precisely these rules. Thus, the code of the software is the same in all the<br />

different entities of the network using it, and in all the different QoS domains. Only the contents of the<br />

filters can change from an entity to another, or from a QoS domain to another.<br />

4.1.2.9.5 DSCP Matching Table<br />

When a user, or a network administrator, triggers a modification of the filters descriptions, the TUM<br />

modifies the DMT automatically. In this section, we describe how this table is organized.<br />

Filter number<br />

(= line number)<br />

0<br />

1<br />

2<br />

3<br />

4<br />

…<br />

N<br />

Filter Pointer<br />

Filter0Ptr<br />

NULL<br />

Filter2Ptr<br />

Filter3Ptr<br />

NULL<br />

…<br />

FilterNPtr<br />

Table 3: Format of the DMT<br />

Each line of the table only contains a pointer to a complete description of a filter loaded in the memory<br />

(see Table 3).<br />

Each filter is a simple structure containing a description, the DSCP (CoS) used to mark each packet that<br />

matches this filter, a set of bits identifying the different headers to examine, and a pointer to a list of items<br />

representing the different fields of the packet header that are to be inspected (see figure 26). Thus, the<br />

number of fields in a filter is variable. The bits identifying the different headers to examine accelerate the<br />

filtering process. Indeed, if a filter contains items related to TCP fields, and if the packet does not contain<br />

a TCP header, the filter doesn’t match, and browsing its items list and the header fields’ values becomes<br />

useless. The use of these bits avoids useless treatments in the DMF.<br />

Every item of this list contains an identification of the field to inspect, i.e. a value identifying the name of<br />

the field in the kernel (IP6_SRC_ADDR is equivalent to the IP6SrcAddr field in the FD,<br />

TCP_SRC_PORT is equivalent to the TCPSrcPort field, etc.), the expected value of this field, and a<br />

pointer to the next item.<br />

Desc .: ANiceFilter<br />

Headers: IP6, TCP<br />

CoS: 101101<br />

Items list: item1<br />

Ident.: IP6_SRC_ADDR<br />

Value: FEC0::1<br />

Next: item2<br />

Ident.: IP6_DSCP<br />

Value: 010110<br />

Next: item3<br />

Ident .: TCP_SRC_PORT<br />

Value: 21<br />

Next: NULL<br />

Figure 26: Representation of a filter in the Linux kernel<br />

It is possible that the information extracted from the packet header matches with several filters. Only the<br />

first filter is taken into account. Thus, the number of the filter, which is the range of the filter in the table,<br />

represents its priority. The lower is this number, the greater is the priority of the filter. So, it is important<br />

to sort the filters from the more detailed to the less detailed.<br />

Table updates<br />

The TUM modifies the DMT each time the user, or the network administrator, modifies the FD and<br />

communicates it to the module (figure 27). The modified FD – which is a single text file – is forwarded to<br />

the module over a simple Linux character device (/dev/dscp). This solution is the simplest way to<br />

D0103v1.doc 41 / 168

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!