For traffic arriving on a VPLS interface, a router supports PBF to steer traffic over a VPLS SDP in the same service. An OF controller can rely on this functionality and program PBF steering action for H-OFS instances with switched-defined-cookie enabled using the following OF encoding:
ALU_IPD_EXPERIMENTER_ID: 0x000025BA
ALU_AXN_REDIRECT_TO_SDP: 1
flow_mod:
instruction= OFPIT_WRITE_ACTIONS/OFPIT_APPLY_ACTIONS,
action= OFPAT_EXPERIMENTER(ALU_AXN_REDIRECT_TO_SDP),
encoding:
struct alu_axn_redirect_to_sdp{
uint16_t type; /* OFPAT_EXPERIMENTER. */
uint16_t len; /* Total Length is a multiple of 8. */
uint32_t experimenter; /* Experimenter ID vendor unique*/
uint8_t redirect_type; /* Type = 0 for SDP*/
uint8_t flags; /
* Flags that can be used to denote info(reserved)*/
uint16_t sdp-id; /* Sdp-id*/
uint32_t vcId; /* Vc-id*/
unit8_t pad[0]; /* Not needed */
}; ASSERT(sizeof(alu_axn_redirect_to_sdp) == 16)
In case of erroneous programming, the following experimenter-specific errors are returned to the controller:
enum alu_err_exp_class
{
ALU_ERR_CLASS_RD_TO_SDP = 0,
ALU_ERR_CLASS_RD_TO_NHOP = 1,
}
enum alu_err_redirect_to_sdp
{
ALU_ERR_RS_INVALID_FLAGS = 0
ALU_ERR_RS_INVALID_ARGS = 1
ALU_ERR_RS_INVALID_SDP_ID = 2
ALU_ERR_RS_INVALID_VC_ID = 3
}