SRL: A Language for Describing Traffic Flows and Specifying Actions for Flow Groups
RFC 2723

Document Type RFC - Informational (October 1999; No errata)
Last updated 2013-03-02
Stream IETF
Formats plain text pdf htmlized bibtex
Stream WG state (None)
Document shepherd No shepherd assigned
IESG IESG state RFC 2723 (Informational)
Consensus Boilerplate Unknown
Telechat date
Responsible AD (None)
Send notices to (None)
Network Working Group                                        N. Brownlee
Request for Comments: 2723                    The University of Auckland
Category: Informational                                     October 1999

            SRL: A Language for Describing Traffic Flows and
                   Specifying Actions for Flow Groups

Status of this Memo

   This memo provides information for the Internet community.  It does
   not specify an Internet standard of any kind.  Distribution of this
   memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (1999).  All Rights Reserved.

Abstract

   This document describes a language for specifying rulesets, i.e.
   configuration files which may be loaded into a traffic flow meter so
   as to specify which traffic flows are measured by the meter, and the
   information it will store for each flow.

Table of Contents

   1  Purpose and Scope . . . . . . . . . . . . . . . . . . . . . .    2
      1.1 RTFM Meters and Traffic Flows . . . . . . . . . . . . . .    2
      1.2 SRL Overview  . . . . . . . . . . . . . . . . . . . . . .    3
   2  SRL Language Description  . . . . . . . . . . . . . . . . . .    4
      2.1 Define Directive  . . . . . . . . . . . . . . . . . . . .    4
      2.2 Program . . . . . . . . . . . . . . . . . . . . . . . . .    5
      2.3 Declaration . . . . . . . . . . . . . . . . . . . . . . .    5
   3  Statement . . . . . . . . . . . . . . . . . . . . . . . . . .    5
      3.1 IF_statement  . . . . . . . . . . . . . . . . . . . . . .    6
          3.1.1 expression  . . . . . . . . . . . . . . . . . . . .    6
          3.1.2 term  . . . . . . . . . . . . . . . . . . . . . . .    6
          3.1.3 factor  . . . . . . . . . . . . . . . . . . . . . .    6
          3.1.4 operand_list  . . . . . . . . . . . . . . . . . . .    6
          3.1.5 operand . . . . . . . . . . . . . . . . . . . . . .    6
          3.1.6 Test Part . . . . . . . . . . . . . . . . . . . . .    7
          3.1.7 Action Part . . . . . . . . . . . . . . . . . . . .    8
          3.1.8 ELSE Clause . . . . . . . . . . . . . . . . . . . .    8
      3.2 Compound_statement  . . . . . . . . . . . . . . . . . . .    8
      3.3 Imperative_statement  . . . . . . . . . . . . . . . . . .    9
          3.3.1 SAVE Statement  . . . . . . . . . . . . . . . . . .    9
          3.3.2 COUNT Statement . . . . . . . . . . . . . . . . . .   10

Brownlee                     Informational                      [Page 1]
RFC 2723              SRL: A Traffic Flow Language          October 1999

          3.3.3 EXIT Statement  . . . . . . . . . . . . . . . . . .   10
          3.3.4 IGNORE Statement  . . . . . . . . . . . . . . . . .   10
          3.3.5 NOMATCH Statement . . . . . . . . . . . . . . . . .   10
          3.3.6 STORE Statement . . . . . . . . . . . . . . . . . .   11
          3.3.7 RETURN Statement  . . . . . . . . . . . . . . . . .   11
      3.4 Subroutine_declaration  . . . . . . . . . . . . . . . . .   11
      3.5 CALL_statement  . . . . . . . . . . . . . . . . . . . . .   12
   4  Example Programs  . . . . . . . . . . . . . . . . . . . . . .   13
      4.1 Classify IP Port Numbers  . . . . . . . . . . . . . . . .   13
      4.2 Classify Traffic into Groups of Networks  . . . . . . . .   14
   5  Security Considerations . . . . . . . . . . . . . . . . . . .   15
   6  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   15
   7  APPENDICES  . . . . . . . . . . . . . . . . . . . . . . . . .   16
      7.1 Appendix A: SRL Syntax in BNF . . . . . . . . . . . . . .   16
      7.2 Appendix B: Syntax for Values and Masks . . . . . . . . .   18
      7.3 Appendix C: RTFM Attribute Information  . . . . . . . . .   19
   8  Acknowledgments . . . . . . . . . . . . . . . . . . . . . . .   20
   9  References  . . . . . . . . . . . . . . . . . . . . . . . . .   20
   10 Author's Address  . . . . . . . . . . . . . . . . . . . . . .   21
   11 Full Copyright Statement  . . . . . . . . . . . . . . . . . .   22

1  Purpose and Scope

   A ruleset for an RTFM Meter is a sequence of instructions to be
   executed by the meter's Pattern Matching Engine (PME).  The form of
   these instructions is described in detail in the 'RTFM Architecture'
   and 'RTFM Meter MIB' documents [RTFM-ARC, RTFM-MIB], but most users -
   at least initially - find them confusing and difficult to write,
   mainly because the effect of each instruction is strongly dependent
   on the state of the meter's Packet Matching Engine at the moment of
   its execution.

   SRL (the Simple Ruleset Language) is a procedural language for
   creating RTFM rulesets.  It has been designed to be simple for people
   to understand, using statements which help to clarify the execution
   context in which they operate.  SRL programs will be compiled into
   rulesets which can then be downloaded to RTFM meters.

   An SRL compiler is available as part of NeTraMet (a free-software
   implementation of the RTFM meter and manager), version 4.2
Show full document text