Network Working Group                                       S. Kini, Ed.
Internet-Draft                                                  Ericsson
Intended status: Informational                                 R. Folkes
Expires: August 18, 2014                                         Juniper
                                                               J. Medved
                                                                   Cisco
                                                             R. Krishnan
                                                                 Brocade
                                                             A. Ghanwani
                                                                    Dell
                                                       February 14, 2014


               Information model for Policy Based Routing
                   draft-kini-i2rs-pbr-info-model-00

Abstract

   Policy Based Routing (PBR) is a generic term that describes
   functionality that currently exists in several routing systems where
   packets are routed, not just based on the destination address but
   rather based on a policy that is configured/programmed in the router.
   This document describes the information model for PBR as it exists in
   many current implementations.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on August 18, 2014.

Copyright Notice

   Copyright (c) 2014 IETF Trust and the persons identified as the
   document authors.  All rights reserved.





Kini, et al.             Expires August 18, 2014                [Page 1]


Internet-Draft      Info model - Policy Based Routing      February 2014


   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Requirements Language . . . . . . . . . . . . . . . . . .   3
   2.  Abbreviations and Terminology . . . . . . . . . . . . . . . .   3
   3.  Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . .   3
   4.  PBR-RIB definition  . . . . . . . . . . . . . . . . . . . . .   4
   5.  Routing Instance  . . . . . . . . . . . . . . . . . . . . . .   4
   6.  Policy Route  . . . . . . . . . . . . . . . . . . . . . . . .   4
   7.  Policy Action . . . . . . . . . . . . . . . . . . . . . . . .   5
   8.  Reading, writing and notifications  . . . . . . . . . . . . .   6
   9.  Open Issues . . . . . . . . . . . . . . . . . . . . . . . . .   6
   10. Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   6
   11. IANA Considerations . . . . . . . . . . . . . . . . . . . . .   6
   12. Security Considerations . . . . . . . . . . . . . . . . . . .   6
   13. References  . . . . . . . . . . . . . . . . . . . . . . . . .   6
     13.1.  Normative References . . . . . . . . . . . . . . . . . .   6
     13.2.  Informative References . . . . . . . . . . . . . . . . .   7
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   7

1.  Introduction

   Policy Based Routing (PBR) is a commonly used term that describes a
   capability that has existed on many routing systems for several
   years.  However, PBR has not been described through an information
   model published as a standard.  Most network operators and
   applications that want to configure/program PBR on a network element
   have used vendor specific mechanisms.  Defining a standardized PBR
   information model can help to simplify the implementations of
   existing use-cases and to define new ones.  Use cases that can
   benefit from PBR are described in
   [I-D.krishnan-i2rs-large-flow-use-case] and
   [I-D.white-i2rs-use-case].

   The need to provide a standardized interface to the routing system's
   functionality is described in [I-D.ietf-i2rs-problem-statement].  The
   architecture for a standardized interface is described in
   [I-D.ietf-i2rs-architecture] and requires standardized data models.



Kini, et al.             Expires August 18, 2014                [Page 2]


Internet-Draft      Info model - Policy Based Routing      February 2014


   This document defines a PBR information model that is fundamental to
   developing a standardized data model for PBR.

   At a high level PBR is a specific forwarding behavior that is applied
   to traffic matched by a filter.  Unlike destination address based
   forwarding, the match filter in PBR can use multiple fields of the
   traffic's protocol data units (PDUs).

1.1.  Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC2119].

2.  Abbreviations and Terminology

   PBR - Policy Based Routing

   PBF - Policy Based Forwarding (This abbreviation has been used in the
   industry synonymously with PBR.  We do not use this abbreviation in
   this document)

   FBF - Filter Based Forwarding (This abbreviation has been used in the
   industry synonymously with PBR.  We do not use this abbreviation in
   this document)

   I2RS - Interface to Routing System

   RIB - Routing Information Base

   PDU - Protocol Data Unit

   MPLS - Multi Protocol Label Switching

   PBR-RIB - Policy Based Routing - Routing Information Base

3.  Scope

   The match filter is mainly restricted to IP (both IPv4 [RFC0791] and
   IPv6 [RFC2460]).  MPLS may be included in a future revision of this
   document.  Support for protocols encapsulated within IP is restricted
   to TCP [RFC0793], UDP [RFC0768], SCTP [RFC4960] and ICMP [RFC0792].
   This will be extended to include more protocols in future revisions.








Kini, et al.             Expires August 18, 2014                [Page 3]


Internet-Draft      Info model - Policy Based Routing      February 2014


4.  PBR-RIB definition

   A PBR-RIB is an entity that contains an ordered list of policy routes
   and is analogous to the RIB defined in
   [I-D.ietf-i2rs-rib-info-model].  The data model MUST allow inserting
   into the ordered list at any position and deleting a previously added
   entry.  Each PBR-RIB is contained within a routing instance.  It is
   identified by a name that is unique within the routing instance and
   is in the same namespace as RIB names.  A PBR-RIB has one of the
   following types - IPv4 or IPv6.  Each PBR-RIB has the following
   optional fields:

   o  interface-list: A list of interfaces of the same type as this PBR-
      RIB.  It must be a subset of the interface-list of the routing
      instance in which this PBR-RIB is contained.

   o  default-routing-RIB: A RIB of the same type contained in the same
      routing instance as this PBR-RIB.  When a packet does not match
      any FIB entries installed using this PBR-RIB, then destination
      based forwarding using FIB entries installed using the default-
      routing-RIB is performed.

5.  Routing Instance

   This document extends the routing-instance from
   [I-D.ietf-i2rs-rib-info-model] to contain PBR-RIBs.  A routing
   instance can optionally contain multiple PBR-RIBs.  Each interface of
   the routing instance can be associated with at most one PBR-RIB.
   Packets arriving on an interface associated with a PBR-RIB are
   forwarded using the FIB generated using the policy-routes of that
   PBR-RIB.

6.  Policy Route

   A policy-route is a generalization of the route described in sec 2.3
   of [I-D.ietf-i2rs-rib-info-model] and consists of a match-filter and
   an associated policy-action (see Section 7).  When a packet
   successfully matches a match-filter, the corresponding policy-action
   is applied and the processing for that packet terminates.  The match-
   filter is optional and when it is not specified, then the policy-
   action is applied as if the match was successful.  If a match fails,
   then a match is attempted on the next policy-route in the order
   specified in that PBR-RIB.  Failure to match the filter of any of the
   policy-routes in a PBR-RIB results in destination based forwarding
   using the FIB generated by the default-routing-RIB.  If a default-
   routing-RIB is not specified, the packet is discarded.  It should be
   noted that different implementations will vary in their capabilities
   for the type and number of matches and actions that they can perform.



Kini, et al.             Expires August 18, 2014                [Page 4]


Internet-Draft      Info model - Policy Based Routing      February 2014


   A mechanism to dynamically learn such capabilities is under
   discussion.

   The following types of operations are defined to build a match-filter
   expression to be used in a policy-route.

   1.  Match sub-expression on one of the IP PDU fields

       *  Longest prefix match for IP source address or destination
          address.

       *  An exact match or a range match for IP protocol type or IP-TOS
          /DSCP.

       *  If the IP protocol type is one of TCP/UDP/SCTP then an exact
          or range match of the source port or the destination port.

       *  If the IP protocol type is ICMP then an exact or range match
          of the ICMP code and/or the ICMP type.

       *  PDU length range match.

   2.  A logical OR of the above sub-expressions for a given PDU field.

   3.  A logical negation of the above sub-expressions.  This may
       contain zero or more logical OR sub-expressions of a given PDU
       field.

   4.  A logical AND of the above sub-expressions for the PDU fields.

7.  Policy Action

   A policy-action is an ordered sequence of zero or more PDU
   manipulation/behavior actions followed by one PDU forwarding action.
   It is a named entity and has its own namespace.  The following PDU
   manipulation/behavior actions are defined:

   o  Set IP-TOS/DSCP.

   o  A vendor-specific action.  E.g. Apply a rate-limiter.  This is
      outside the scope of this document.

   The following PDU forwarding actions are defined:

   o  Drop packet and optionally generate ICMP

   o  Forward to a specified nexthop.  The nexthop is the same as
      defined in sec 2.4 of [I-D.ietf-i2rs-rib-info-model]



Kini, et al.             Expires August 18, 2014                [Page 5]


Internet-Draft      Info model - Policy Based Routing      February 2014


   o  Forward by destination addressed based lookup of FIB entries
      installed using the default-routing-RIB

8.  Reading, writing and notifications

   The PBR-RIB data model has reading, writing and notification
   requirements that are similar to those listed in
   [I-D.ietf-i2rs-rib-info-model].

9.  Open Issues

   Performing actions associated with multiple policy-routes when the
   packet successfully matches the match-filter of multiple policy
   routes.

10.  Acknowledgements

   The authors would like to thank Alok Gulati and TBD for their review.

11.  IANA Considerations

   This memo includes no request to IANA.

12.  Security Considerations

13.  References

13.1.  Normative References

   [I-D.ietf-i2rs-architecture]
              Atlas, A., Halpern, J., Hares, S., Ward, D., and T.
              Nadeau, "An Architecture for the Interface to the Routing
              System", draft-ietf-i2rs-architecture-02 (work in
              progress), February 2014.

   [I-D.ietf-i2rs-problem-statement]
              Atlas, A., Nadeau, T., and D. Ward, "Interface to the
              Routing System Problem Statement", draft-ietf-i2rs-
              problem-statement-00 (work in progress), August 2013.

   [I-D.ietf-i2rs-rib-info-model]
              Bahadur, N., Folkes, R., Kini, S., and J. Medved, "Routing
              Information Base Info Model", draft-ietf-i2rs-rib-info-
              model-02 (work in progress), February 2014.







Kini, et al.             Expires August 18, 2014                [Page 6]


Internet-Draft      Info model - Policy Based Routing      February 2014


   [I-D.krishnan-i2rs-large-flow-use-case]
              ramki, r., Ghanwani, A., Kini, S., McDysan, D., and D.
              Lopez, "Large Flow Use Cases for I2RS PBR and QoS", draft-
              krishnan-i2rs-large-flow-use-case-03 (work in progress),
              February 2014.

   [I-D.white-i2rs-use-case]
              White, R., Hares, S., and A. Retana, "Protocol Independent
              Use Cases for an Interface to the Routing System", draft-
              white-i2rs-use-case-02 (work in progress), February 2014.

   [RFC0768]  Postel, J., "User Datagram Protocol", STD 6, RFC 768,
              August 1980.

   [RFC0791]  Postel, J., "Internet Protocol", STD 5, RFC 791, September
              1981.

   [RFC0792]  Postel, J., "Internet Control Message Protocol", STD 5,
              RFC 792, September 1981.

   [RFC0793]  Postel, J., "Transmission Control Protocol", STD 7, RFC
              793, September 1981.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC2460]  Deering, S. and R. Hinden, "Internet Protocol, Version 6
              (IPv6) Specification", RFC 2460, December 1998.

   [RFC4960]  Stewart, R., "Stream Control Transmission Protocol", RFC
              4960, September 2007.

13.2.  Informative References

   [RFC1104]  Braun, H., "Models of policy based routing", RFC 1104,
              June 1989.

Authors' Addresses

   Sriganesh Kini (editor)
   Ericsson

   Email: sriganesh.kini@ericsson.com








Kini, et al.             Expires August 18, 2014                [Page 7]


Internet-Draft      Info model - Policy Based Routing      February 2014


   Ron Folkes
   Juniper

   Email: ronf@juniper.net


   Jan Medved
   Cisco

   Email: jmedved@cisco.com


   Ram Krishnan
   Brocade

   Email: ramk@brocade.com


   Anoop Ghanwani
   Dell

   Email: anoop@alumni.duke.edu





























Kini, et al.             Expires August 18, 2014                [Page 8]