Subject: [Apn] Per flow state : [Was: Using IPv6 Flow Label for APN]

From: "Adrian Farrel" <[email-masked]>
Date: Tue, 3 Aug 2021 10:24:07 +0100

Hi,

I want to follow up on something Shuping just said because I don't think it cam over clearly in the discussion...

> Regarding the "states" for APN, it does not have to be a per-flow "state". The 
> APN attribute is an indicator at the policy enforcement node for indicating 
> policies to be enforced in the middle of a tunnel. 

What this says is that the mapping of flow to APN attribute is n:1
The attribute is used to instruct the policy enforcement points about what policy they should apply to a packet. Packets from many flows may be subject to the same policy.
In that regard, it takes (some of) the policy decision computation from the policy enforcement nodes, and moves it to the APN edge where the APN attribute is computed.

I think this processing is "similar" to the use of DSCP. That is, there is not a different DSCP code point for each flow.

On the other hand, the value of an entropy indicator (IPv6 flow label, MPLS entropy label) for resolving ECMP decisions relies on:
1. All packets from one flow having the same entropy value.
    I think this holds for the APN attribute.
2. There being sufficient variation in entropy values across flows to enable
    sensible distribution of flows into the different ECMP buckets.
    I believe that for APN attributes this is a function of how the APN edges 
    are instructed to create APN attribute values (by the controller/operator),
    but it would be possible for an operator to get this wrong by not introducing
    sufficient variation in the APN attribute values.

Best,
Adrian