SLIDE 1
draft-anderson-forces-model-00 Todd A. Anderson Intel Labs - - PowerPoint PPT Presentation
draft-anderson-forces-model-00 Todd A. Anderson Intel Labs - - PowerPoint PPT Presentation
draft-anderson-forces-model-00 Todd A. Anderson Intel Labs Architecture CE Set CE Set CE CE CE CE CE Manager Gc Gr Gr Gr CE CE Gl Gp FE FE FE Manager Gf Gi Network Element Forwarding Element Model
SLIDE 2
SLIDE 3
“Capability” Level “Stage” Level
Forwarding Element Model
- Goal: define a way to express the
capabilities of a FE in a manner convenient to CEs.
- Solution: use a two level hierarchy.
Logical Function Forwarder Meter Shaper Demux Classic IPv4 URL LB Switch Token Bucket Leaky Bucket L2Proto Demux IPProto Demux 5-tuple Demux
SLIDE 4
Stage Level
- Gives an overview of what the FE can do in
terms of the stages it supports.
– Need a namespace for different stage types.
- Allows multiples of the same stage in a FE.
– Need per stage instance IDs.
- Allows the description of arbitrary stage
topologies.
- Estimate 15-20 kinds of stages.
SLIDE 5
Capability Level
- Describes the detailed abilities of each stage instance.
- Uses a uniform methodology across different stages.
- Each stage does at most 5 things:
– Classifies the packet. – Acts on the result of the classification. – Keeps statistics. – Generates events. – Uses parameters.
- Stages can be:
– Read-only. – Have default classification/action pairs or parameters. – Have restrictions on allowable values.
SLIDE 6
Classification Abilities
- Variable length sequence of “properties” on
which the stage can classify.
- Two varieties of properties:
– Packet properties (e.g., IPproto, SIP, DIP, TOS) – Metadata properties (e.g., ingress/egress port)
- Uses a property namespace.
SLIDE 7
Action Abilities
- Variable length sequence of “actions” that
the stage can perform.
- Three varieties of actions:
– Packet editing (e.g., modify TOS or DIP). – Metadata editing (e.g., set egress port). – Target selection (e.g., send packet to “drop” target).
- Uses an action namespace.
SLIDE 8
Event Abilities
- Variable length sequence of “events” that
the stage might generate.
- Example events: packet redirection, port
up/down, forwarding table miss.
- Uses an event namespace.
SLIDE 9
Statistics Abilities
- Variable length sequence of “statistics” that
the stage maintains as it processing packets.
- Example statistics: # of packets processed, #
- f forwarding table misses.
- Uses a statistics namespace.
SLIDE 10
Parameter Abilities
- Variable length sequence of “parameters”
used by the stage.
- Parameters are the “knobs and dials” of the
stage.
- Affects how the stage processes
packets…not a per packet configuration.
- Uses a parameter namespace.
SLIDE 11
Default Values
- Stage capability description must include:
– # of default classification/action entries. – # of default properties.
– List of TLVs for each classification/action entry. – List of TLVs for each property.
- T = one of the namespace “names”.
- L = straight-forward.
- V = a standard data structure associated
with the given name.
SLIDE 12
Restrictions on Allowable Values
- Stages may place restrictions on the values
- f properties, actions, parameters, statistics,
- r events.
- Solution:
– For each ability, the min and max allowable values are specified using the existing TLV approach. – For properties, equality, inequality, and range matching abilities are also specified.
SLIDE 13