Subject: [sfc] Mobile use cases draft-ietf-sfc-use-case-mobility-03

From: Dave Dolson <[email-masked]>
Date: Mon, 26 Jan 2015 17:16:30 +0000

Authors of draft-ietf-sfc-use-case-mobility,

You make explicit reference (in section 2.2) to the care to be taken 
with bidirectional flows, which I agree with.

So, referring to your figure 5:

             +-------------------------+
             |          PCRF           |
             +----+--------------+-----+
                  |              |
                Gx-IF          Sd-IF
                  |              |
             +----+-----+   +----+-----+
   ==========O  [PCEF]  |   |          O--------[SFC 1] ---- [Appl. 1]
             |          |   |          O--------[SFC 2] ---- [Appl. 2]
   ==========O   P-GW   O---O  [TDF]   O--------[SFC 3] ---- [Appl. 3]
             |          |   |          O--------[SFC 4] ---- [Appl. 4]
   ==========O          |   |          O--------[SFC n] ---- [Appl. n]
             +----------+   +----------+
                        *              *
   3GPP Bearer         SGi            SGi

It isn't clear what device is selecting the chains for down-link traffic.

Given that the TDF is making application-specific decisions, how would 
one ensure the down-link traffic is classified to the same service 
functions as the up-link traffic, something very critical for many of 
the use cases?

  * a TDF can classify traffic using a wide variety of methods, 
    including signature-matching that uses fields only available at 
    the start of a flow, likely only appearing in one direction;
    (classification based solely on port number is rather weak). 
    So in the general case, decisions are made for TCP connections, 
    not for packets.

I propose that the picture is more like the following, with the TDF 
book-ending the service chains to ensure consistent classification of 
both up-link and down-link traffic for a given transport connection.

             +-------------------------+
             |          PCRF           |
             +----+--------------+-----+
                  |              |
                Gx-IF          Sd-IF
                  |              |
                  |         +----+------------------------------------+
                  |         |    [TDF]                                |
                  |         |       +----------------------------+    |
             +----+-----+   |       |                            |    |
   ==========O  [PCEF]  |   |       O---[SFC 1] ---- [Appl. 1]---O    |
             |          |   |       O---[SFC 2] ---- [Appl. 2]---O    |---
   ==========O   P-GW   O---O       O---[SFC 3] ---- [Appl. 3]---O    |
             |          |   |       O---[SFC 4] ---- [Appl. 4]---O    |
   ==========O          |   |       O---[SFC n] ---- [Appl. n]---O    |
             +----------+   +-------+                            +----+
                        *                                               *
   3GPP Bearer         SGi                                              SGi

Perhaps this is what you intended. Is this what you had in mind?

David Dolson
Senior Software Architect, Sandvine Inc.