Default Pipeline in custom mode
An instance can be configured in this mode via CLI by using the command
pipeline-model custom
.
The switch consisting of three Hash tables and one TCAM table, as shown in Figure 5, advertises the default pipeline in custom mode. The default pipeline consists of four tables, three of type HASH and one of type TCAM with the following capabilities:
Table ID |
0 |
1 |
2 |
3 |
---|---|---|---|---|
Table Name | Custom L2 Src |
Custom L2 Dst |
Custom L3 Table |
Custom TCAM Table |
Metadata Match | 0x0000000000000000 |
0x0000000000000000 |
0x0000000000000000 |
0x0000000000000000 |
Metadata Write | 0x0000000000000000 |
0x0000000000000000 |
0x0000000000000000 |
0x0000000000000000 |
Max Entries | 8k |
8k |
8k |
2k |
Match | ETH_SRC VLAN_VID |
ETH_DST VLAN_VID |
ETH_TYPE VLAN_VID IP_PROTO IPV4_SRC IPV4_DST TCP_SRC TCP_DST UDP_SRC UDP_DST IPV6_SRC IPV6_DST |
IN_PORT ETH_DST ETH_SRC ETH_TYPE VLAN_VID VLAN_PCP IP_DSCP IP_PROTO IPV4_SRC IPV4_DST TCP_SRC TCP_DST UDP_SRC UDP_DST IPV6_SRC IPV6_DST |
Wildcards | IN_PORT ETH_DST ETH_SRC ETH_TYPE VLAN_VID VLAN_PCP IP_DSCP IP_PROTO IPV4_SRC IPV4_DST TCP_SRC TCP_DST UDP_SRC UDP_DST IPV6_SRC IPV6_DST |
|||
Instructions | GOTO APPLY WRITE CLEAR METER |
GOTO APPLY WRITE CLEAR METER |
GOTO APPLY WRITE CLEAR METER |
APPLY WRITE CLEAR METER |
Instructions Miss | GOTO APPLY WRITE CLEAR METER |
GOTO APPLY WRITE CLEAR METER |
GOTO APPLY WRITE CLEAR METER |
APPLY WRITE CLEAR METER |
Next Tables | 1, 2, 3 |
2, 3 |
3 |
|
Next Tables Miss | 1, 2, 3 |
2, 3 |
3 |
|
Write Action | OUTPUT GROUP SET-FIELD PUSH_VLAN POP_VLAN IP_TTL |
OUTPUT GROUP SET-FIELD PUSH_VLAN POP_VLAN IP_TTL |
OUTPUT GROUP SET-FIELD PUSH_VLAN POP_VLAN IP_TTL |
OUTPUT GROUP SET-FIELD PUSH_VLAN POP_VLAN IP_TTL |
Write Action Set-Field | ETH_DST ETH_SRC VLAN_VID VLAN_PCP |
ETH_DST ETH_SRC VLAN_VID VLAN_PCP |
ETH_DST ETH_SRC VLAN_VID VLAN_PCP IP_DSCP IPV4_SRC IPV4_DST TCP_SRC TCP_DST UDP_SRC UDP_DST |
ETH_DST ETH_SRC VLAN_VID VLAN_PCP IP_DSCP IPV4_SRC IPV4_DST TCP_SRC TCP_DST UDP_SRC UDP_DST |
Write Action Miss | OUTPUT GROUP SET-FIELD PUSH_VLAN POP_VLAN IP_TTL |
OUTPUT GROUP SET-FIELD PUSH_VLAN POP_VLAN IP_TTL |
OUTPUT GROUP SET-FIELD PUSH_VLAN POP_VLAN IP_TTL |
OUTPUT GROUP SET-FIELD PUSH_VLAN POP_VLAN IP_TTL |
Write Action Miss Set-Field | ETH_DST ETH_SRC VLAN_VID VLAN_PCP |
ETH_DST ETH_SRC VLAN_VID VLAN_PCP |
ETH_DST ETH_SRC VLAN_VID VLAN_PCP IP_DSCP IPV4_SRC IPV4_DST TCP_SRC TCP_DST UDP_SRC UDP_DST |
ETH_DST ETH_SRC VLAN_VID VLAN_PCP IP_DSCP IPV4_SRC IPV4_DST TCP_SRC TCP_DST UDP_SRC UDP_DST |
Apply Action | OUTPUT GROUP |
OUTPUT GROUP |
OUTPUT GROUP |
OUTPUT GROUP SET-FIELD PUSH_VLAN POP_VLAN IP_TTL |
Apply Action Set-Field | ETH_DST ETH_SRC VLAN_VID VLAN_PCP IP_DSCP IPV4_SRC IPV4_DST TCP_SRC TCP_DST UDP_SRC UDP_DST |
|||
Apply Action Miss | OUTPUT GROUP |
OUTPUT GROUP |
OUTPUT GROUP |
OUTPUT GROUP SET-FIELD PUSH_VLAN POP_VLAN IP_TTL |
Apply Action Miss Set-Field | ETH_DST ETH_SRC VLAN_VID VLAN_PCP IP_DSCP IPV4_SRC IPV4_DST TCP_SRC TCP_DST UDP_SRC UDP_DST |
Only one instance will be operationally up in custom pipeline-model by default. The other instances running the custom pipeline-model will be operationally down with the reason as
Resources not available
. This is because all hardware resources are allocated to the first OpenFlow instance enabled with this pipeline-model. To bring up other instances running this pipeline-model, the SDN controller will have to free up resources in the existing pipeline on the first instance.