Skip to main content

Redirect Policy

Location in GUI: Tenants » XXX » Policies » Protocol » L4-L7 Policy-Based Redirect

Diagram

Classes

services (apic.tenants)

NameTypeConstraintMandatoryDefault Value
redirect_policiesList[redirect_policies]No

redirect_policies (apic.tenants.services)

NameTypeConstraintMandatoryDefault Value
nameStringRegex: ^[a-zA-Z0-9_.:-]{1,64}$Yes
aliasStringRegex: ^[a-zA-Z0-9_.:-]{1,64}$No
descriptionStringRegex: ^[a-zA-Z0-9\\!#$%()*,-./:;@ _{|}~?&+]{1,128}$No
anycastBooleantrue, falseNofalse
typeChoiceL3, L2, L1NoL3
hashingChoicesip-dip-prototype, sip, dipNosip-dip-prototype
thresholdBooleantrue, falseNofalse
max_thresholdIntegermin: 0, max: 100No0
min_thresholdIntegermin: 0, max: 100No0
pod_awareBooleantrue, falseNofalse
resilient_hashingBooleantrue, falseNofalse
redirect_backup_policyStringRegex: ^[a-zA-Z0-9_.:-]{1,64}$No
threshold_down_actionChoicepermit, deny, bypassNopermit
l1l2_destinationsList[l1l2_destinations]No
l3_destinationsList[l3_destinations]No
ip_sla_policyStringRegex: ^[a-zA-Z0-9_.:-]{1,64}$No
expected_stateClass[expected_state]No

l1l2_destinations (apic.tenants.services.redirect_policies)

NameTypeConstraintMandatoryDefault Value
descriptionStringRegex: ^[a-zA-Z0-9\\!#$%()*,-./:;@ _{|}~?&+]{1,128}$No
nameStringRegex: ^[a-zA-Z0-9_.:-]{1,64}$Yes
macMACNo
weightIntegermin: 1No
podIntegermin: 1, max: 255No
redirect_health_groupStringRegex: ^[a-zA-Z0-9_.:-]{1,64}$No
concrete_interfaceClass[concrete_interface]Yes

l3_destinations (apic.tenants.services.redirect_policies)

NameTypeConstraintMandatoryDefault Value
descriptionStringRegex: ^[a-zA-Z0-9\\!#$%()*,-./:;@ _{|}~?&+]{1,128}$No
nameStringRegex: ^[a-zA-Z0-9_.:-]{1,64}$No
ipIPYes
ip_2IPNo
macMACNo
podIntegermin: 1, max: 255No1
redirect_health_groupStringRegex: ^[a-zA-Z0-9_.:-]{1,64}$No

expected_state (apic.tenants.services.redirect_policies)

NameTypeConstraintMandatoryDefault Value
minimum_healthIntegermin: 0, max: 100No
maximum_critical_faultsIntegermin: 0No
maximum_major_faultsIntegermin: 0No
maximum_minor_faultsIntegermin: 0No

concrete_interface (apic.tenants.services.redirect_policies.l1l2_destinations)

NameTypeConstraintMandatoryDefault Value
l4l7_deviceStringRegex: ^[a-zA-Z0-9_.:-]{1,64}$Yes
concrete_deviceStringRegex: ^[a-zA-Z0-9_.:-]{1,64}$Yes
interfaceStringRegex: ^[a-zA-Z0-9_.:-]{1,64}$Yes

Examples

Simple example:

apic:
tenants:
- name: ABC
services:
redirect_policies:
- name: PBR1
l3_destinations:
- ip: 1.1.1.1
mac: 00:00:00:11:22:33
- name: PBR_L1
type: L1
l1l2_destinations:
- name: L1_DEST1
concrete_interface:
l4l7_device: DEV-L1
concrete_device: DEV1-L1
interface: INT1
- name: PBR_L2
type: L2
l1l2_destinations:
- name: L2_DEST1
concrete_interface:
l4l7_device: DEV-L2
concrete_device: DEV1-L2
interface: INT1

Full example:

apic:
tenants:
- name: ABC
services:
redirect_policies:
- name: PBR1
alias: PBR1
description: My Desc
type: L3
anycast: false
hashing: sip-dip-prototype
threshold: false
max_threshold: 0
min_threshold: 0
threshold_down_action: permit
resilient_hashing: false
redirect_backup_policy: L4L7_REDIRECT_BACKUP1
l3_destinations:
- description: My Desc
name: L3_DEST1
ip: 1.1.1.1
ip_2:
mac: 00:00:00:11:22:33
pod: 1
redirect_health_group: HEALTH_GROUP_1
- name: PBR_L1
alias: PBR_L1
description: My Desc
type: L1
hashing: sip-dip-prototype
resilient_hashing: false
l1l2_destinations:
- description: L1 destination
name: L1_DEST1
redirect_health_group: HEALTH_GROUP_L1
concrete_interface:
l4l7_device: DEV-L1
concrete_device: DEV1-L1
interface: INT1
- name: PBR_L2
alias: PBR_L2
description: My Desc
type: L2
hashing: sip-dip-prototype
resilient_hashing: false
l1l2_destinations:
- description: L2 destination
name: L2_DEST1
mac: 00:00:00:11:22:34
weight: 1
pod: 1
redirect_health_group: HEALTH_GROUP_L2
concrete_interface:
l4l7_device: DEV-L2
concrete_device: DEV1-L2
interface: INT1