diff --git a/cluster/defaults.go b/cluster/defaults.go index 8f5953cd3..a0facd76b 100644 --- a/cluster/defaults.go +++ b/cluster/defaults.go @@ -144,6 +144,7 @@ const ( DefaultAciOpflexStartupResolveAftConn = "false" DefaultAciOpflexSwitchSyncDelay = "5" DefaultAciOpflexSwitchSyncDynamic = "10" + DefaultAciEnableHppDirect = "false" KubeAPIArgAdmissionControlConfigFile = "admission-control-config-file" DefaultKubeAPIArgAdmissionControlConfigFileValue = "/etc/kubernetes/admission.yaml" @@ -929,6 +930,7 @@ func (c *Cluster) setClusterNetworkDefaults() { setDefaultIfEmpty(&c.Network.AciNetworkProvider.DisableHppRendering, DefaultAciDisableHppRendering) setDefaultIfEmpty(&c.Network.AciNetworkProvider.ApicConnectionRetryLimit, DefaultAciApicConnectionRetryLimit) setDefaultIfEmpty(&c.Network.AciNetworkProvider.TaintNotReadyNode, DefaultAciTaintNotReadyNode) + setDefaultIfEmpty(&c.Network.AciNetworkProvider.EnableHppDirect, DefaultAciEnableHppDirect) setDefaultIfEmpty(&c.Network.AciNetworkProvider.DropLogDisableEvents, DefaultAciDropLogDisableEvents) setDefaultIfEmpty(&c.Network.AciNetworkProvider.OpflexStartupEnabled, DefaultAciOpflexStartupEnabled) setDefaultIfEmpty(&c.Network.AciNetworkProvider.OpflexStartupPolicyDuration, DefaultAciOpflexStartupPolicyDuration) @@ -1048,6 +1050,8 @@ func (c *Cluster) setClusterNetworkDefaults() { networkPluginConfigDefaultsMap[AciOpflexSwitchSyncDelay] = c.Network.AciNetworkProvider.OpflexSwitchSyncDelay networkPluginConfigDefaultsMap[AciOpflexSwitchSyncDynamic] = c.Network.AciNetworkProvider.OpflexSwitchSyncDynamic networkPluginConfigDefaultsMap[AciUnknownMacUnicastAction] = c.Network.AciNetworkProvider.UnknownMacUnicastAction + networkPluginConfigDefaultsMap[AciEnableHppDirect] = c.Network.AciNetworkProvider.EnableHppDirect + networkPluginConfigDefaultsMap[AciOpflexAgentResetWaitDelay] = c.Network.AciNetworkProvider.OpflexAgentResetWaitDelay } for k, v := range networkPluginConfigDefaultsMap { setDefaultIfEmptyMapValue(c.Network.Options, k, v) diff --git a/cluster/network.go b/cluster/network.go index ab76ae2e9..95c3db6f4 100644 --- a/cluster/network.go +++ b/cluster/network.go @@ -187,6 +187,8 @@ const ( AciOpflexSwitchSyncDelay = "aci_opflex_switch_sync_delay" AciOpflexSwitchSyncDynamic = "aci_opflex_switch_sync_dynamic" AciUnknownMacUnicastAction = "aci_unknown_mac_unicast_action" + AciEnableHppDirect = "aci_enable_hpp_direct" + AciOpflexAgentResetWaitDelay = "aci_opflex_agent_reset_wait_delay" // List of map keys to be used with network templates // EtcdEndpoints is the server address for Etcd, used by calico @@ -368,6 +370,8 @@ const ( OpflexSwitchSyncDelay = "OpflexSwitchSyncDelay" OpflexSwitchSyncDynamic = "OpflexSwitchSyncDynamic" UnknownMacUnicastAction = "UnknownMacUnicastAction" + EnableHppDirect = "EnableHppDirect" + OpflexAgentResetWaitDelay = "OpflexAgentResetWaitDelay" ) type IPPool struct { @@ -743,6 +747,8 @@ func (c *Cluster) doAciDeploy(ctx context.Context, data map[string]interface{}) OpflexSwitchSyncDelay: c.Network.Options[AciOpflexSwitchSyncDelay], OpflexSwitchSyncDynamic: c.Network.Options[AciOpflexSwitchSyncDynamic], UnknownMacUnicastAction: c.Network.Options[AciUnknownMacUnicastAction], + EnableHppDirect: c.Network.Options[AciEnableHppDirect], + OpflexAgentResetWaitDelay: c.Network.Options[AciOpflexAgentResetWaitDelay], AciCniDeployContainer: c.SystemImages.AciCniDeployContainer, AciHostContainer: c.SystemImages.AciHostContainer, AciOpflexContainer: c.SystemImages.AciOpflexContainer, diff --git a/types/rke_types.go b/types/rke_types.go index ff57f882f..12623c23c 100644 --- a/types/rke_types.go +++ b/types/rke_types.go @@ -709,6 +709,8 @@ type AciNetworkProvider struct { OpflexSwitchSyncDelay string `yaml:"opflex_switch_sync_delay,omitempty" json:"opflexSwitchSyncDelay,omitempty"` OpflexSwitchSyncDynamic string `yaml:"opflex_switch_sync_dynamic,omitempty" json:"opflexSwitchSyncDynamic,omitempty"` UnknownMacUnicastAction string `yaml:"unknown_mac_unicast_action,omitempty" json:"unknownMacUnicastAction,omitempty"` + EnableHppDirect string `yaml:"enable_hpp_direct,omitempty" json:"enableHppDirect,omitempty"` + OpflexAgentResetWaitDelay string `yaml:"opflex_agent_reset_wait_delay,omitempty" json:"opflexAgentResetWaitDelay,omitempty"` } type KubernetesServicesOptions struct {