Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RT-1.32 : actions_MED_LocPref_prepend_flow_control_test.go #2767

Open
wants to merge 35 commits into
base: main
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
215b77b
updated RT-1.32
cprabha Mar 6, 2024
a35bce0
Merge branch 'main' into RT-1.32
cprabha Mar 6, 2024
c545a3f
Merge branch 'main' into RT-1.32
cprabha Mar 18, 2024
17cc615
resolving conflicts
cprabha Mar 18, 2024
4c686bb
Merge branch 'main' into RT-1.32
cprabha Mar 18, 2024
80e528e
Fixing go static error
cprabha Mar 18, 2024
01a28b4
Merge branch 'RT-1.32' of https://github.com/cprabha/featureprofiles …
cprabha Mar 18, 2024
b6023a1
Merge branch 'main' into RT-1.32
cprabha Mar 19, 2024
b3cc76b
Resolving conflicts
cprabha Mar 19, 2024
e10b88e
Merge branch 'main' into RT-1.32
cprabha Mar 25, 2024
a15fbbd
Resolving conflicts
cprabha Mar 25, 2024
3f1340b
Changed folder name as per latest git commit
cprabha Apr 5, 2024
ff48324
updating with git copy of README
cprabha Apr 5, 2024
e3cfa2a
Merge branch 'main' into RT-1.32
cprabha Apr 22, 2024
2b9c1dd
Resolving conflicts
cprabha Apr 24, 2024
d04d22e
Resolving conflicts
cprabha Aug 7, 2024
e6af919
updated
cprabha Aug 13, 2024
90d2665
Merge branch 'main' into RT-1.32
cprabha Aug 13, 2024
afb9a30
updating deviations
cprabha Aug 13, 2024
e041fa1
Merge branch 'RT-1.32' of https://github.com/cprabha/featureprofiles …
cprabha Aug 13, 2024
304074a
resolving conflicts
cprabha Aug 13, 2024
4dec617
Resvoling conflicts
cprabha Aug 13, 2024
74bf297
Merge branch 'main' into RT-1.32
Swetha-haridasula Aug 19, 2024
6282a97
Merge branch 'main' into RT-1.32
cprabha Aug 19, 2024
e293824
Merge branch 'main' into RT-1.32
cprabha Aug 22, 2024
326ab83
resolving conflicts
cprabha Aug 22, 2024
5c62b78
Merge branch 'main' into RT-1.32
cprabha Aug 26, 2024
1ac36a2
Added verification for setmedincrease policy
cprabha Aug 26, 2024
a88204a
updated verification
cprabha Aug 26, 2024
10e3fe7
Merge branch 'main' into RT-1.32
cprabha Aug 28, 2024
789a72c
Resolving conflicts
cprabha Aug 28, 2024
d0128d5
Merge branch 'main' into RT-1.32
cprabha Oct 16, 2024
2480605
resoving conflicts
cprabha Oct 16, 2024
dd22724
Merge branch 'main' into RT-1.32
cprabha Oct 24, 2024
49db4da
Resolving conflicts
cprabha Oct 24, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
updating deviations
  • Loading branch information
cprabha committed Aug 13, 2024
commit afb9a30808b2b6134cc72ac6b11860ee7c1443c0
227 changes: 212 additions & 15 deletions internal/deviations/deviations.go
Original file line number Diff line number Diff line change
Expand Up @@ -146,12 +146,6 @@ func DefaultNetworkInstance(dut *ondatra.DUTDevice) string {
return "DEFAULT"
}

// ExplicitP4RTNodeComponent returns if device does not report P4RT node names in the component hierarchy.
// Fully compliant devices should report the PORT hardware components with the INTEGRATED_CIRCUIT components as their parents, as the P4RT node names.
func ExplicitP4RTNodeComponent(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetExplicitP4RtNodeComponent()
}

// ISISRestartSuppressUnsupported returns whether the device should skip isis restart-suppress check.
func ISISRestartSuppressUnsupported(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetIsisRestartSuppressUnsupported()
Expand Down Expand Up @@ -185,11 +179,6 @@ func StaticProtocolName(dut *ondatra.DUTDevice) string {
return "DEFAULT"
}

// UseVendorNativeACLConfig returns whether a device requires native model to configure ACL, specifically for RT-1.4.
func UseVendorNativeACLConfig(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetUseVendorNativeAclConfig()
}

// SwitchChipIDUnsupported returns whether the device supports id leaf for SwitchChip components.
func SwitchChipIDUnsupported(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetSwitchChipIdUnsupported()
Expand Down Expand Up @@ -912,6 +901,11 @@ func BgpCommunitySetRefsUnsupported(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetBgpCommunitySetRefsUnsupported()
}

// DefaultImportExportPolicy returns true when device does not have a default deny action in the absence of a route policy
func DefaultImportExportPolicy(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetDefaultImportExportPolicy()
}

// TableConnectionsUnsupported returns true if Table Connections are unsupported.
func TableConnectionsUnsupported(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetTableConnectionsUnsupported()
Expand All @@ -927,8 +921,211 @@ func SkipBgpSendCommunityType(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetSkipBgpSendCommunityType()
}

// PolicyResultTypeNextStatementUnsupported returns true if devices which are not
// supporting next statement in policy options.
func PolicyResultTypeNextStatementUnsupported(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetPolicyResultTypeNextStatementUnsupported()
// BgpActionsSetCommunityMethodUnsupported return true if BGP actions set-community method is unsupported
func BgpActionsSetCommunityMethodUnsupported(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetBgpActionsSetCommunityMethodUnsupported()

}

// SetNoPeerGroup Ensure that no BGP configurations exists under PeerGroups.
func SetNoPeerGroup(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetSetNoPeerGroup()
}

// BgpCommunityMemberIsAString returns true if device community member is not a list
func BgpCommunityMemberIsAString(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetBgpCommunityMemberIsAString()
}

// IPv4StaticRouteWithIPv6NextHopUnsupported unsupported ipv4 with ipv6 nexthop
func IPv4StaticRouteWithIPv6NextHopUnsupported(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetIpv4StaticRouteWithIpv6NhUnsupported()
}

// IPv6StaticRouteWithIPv4NextHopUnsupported unsported ipv6 with ipv4 nexthop
func IPv6StaticRouteWithIPv4NextHopUnsupported(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetIpv6StaticRouteWithIpv4NhUnsupported()
}

// StaticRouteWithDropNhUnsupported unsuported drop nexthop
func StaticRouteWithDropNhUnsupported(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetStaticRouteWithDropNh()
}

// StaticRouteWithExplicitMetric set explict metric
func StaticRouteWithExplicitMetric(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetStaticRouteWithExplicitMetric()
}

// BgpDefaultPolicyUnsupported return true if BGP default-import/export-policy is not supported.
func BgpDefaultPolicyUnsupported(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetBgpDefaultPolicyUnsupported()
}

// ExplicitEnableBGPOnDefaultVRF return true if BGP needs to be explicity enabled on default VRF
func ExplicitEnableBGPOnDefaultVRF(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetExplicitEnableBgpOnDefaultVrf()
}

// RoutingPolicyTagSetEmbedded returns true if the implementation does not support tag-set(s) as a
// separate entity, but embeds it in the policy statement
func RoutingPolicyTagSetEmbedded(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetRoutingPolicyTagSetEmbedded()
}

// SkipAfiSafiPathForBgpMultipleAs return true if device do not support afi/safi path to enable allow multiple-as for eBGP
func SkipAfiSafiPathForBgpMultipleAs(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetSkipAfiSafiPathForBgpMultipleAs()
}

// CommunityMemberRegexUnsupported return true if device do not support community member regex
func CommunityMemberRegexUnsupported(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetCommunityMemberRegexUnsupported()
}

// SamePolicyAttachedToAllAfis returns true if same import policy has to be applied for all AFIs
func SamePolicyAttachedToAllAfis(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetSamePolicyAttachedToAllAfis()
}

// SkipSettingStatementForPolicy return true if device do not support afi/safi path to enable allow multiple-as for eBGP
func SkipSettingStatementForPolicy(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetSkipSettingStatementForPolicy()
}

// SkipCheckingAttributeIndex return true if device do not return bgp attribute for the bgp session specifying the index
func SkipCheckingAttributeIndex(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetSkipCheckingAttributeIndex()
}

// FlattenPolicyWithMultipleStatements return true if devices does not support policy-chaining
func FlattenPolicyWithMultipleStatements(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetFlattenPolicyWithMultipleStatements()
}

// SlaacPrefixLength128 for Slaac generated IPv6 link local address
func SlaacPrefixLength128(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetSlaacPrefixLength128()
}

// DefaultRoutePolicyUnsupported returns true if default route policy is not supported
func DefaultRoutePolicyUnsupported(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetDefaultRoutePolicyUnsupported()
}

// CommunityMatchWithRedistributionUnsupported is set to true for devices that do not support matching community at the redistribution attach point.
func CommunityMatchWithRedistributionUnsupported(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetCommunityMatchWithRedistributionUnsupported()
}

// BgpMaxMultipathPathsUnsupported returns true if the device does not support
// bgp max multipaths.
func BgpMaxMultipathPathsUnsupported(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetBgpMaxMultipathPathsUnsupported()
}

// MultipathUnsupportedNeighborOrAfisafi returns true if the device does not
// support multipath under neighbor or afisafi.
func MultipathUnsupportedNeighborOrAfisafi(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetMultipathUnsupportedNeighborOrAfisafi()
}

// ModelNameUnsupported returns true if /components/components/state/model-name
// is not supported for any component type.
func ModelNameUnsupported(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetModelNameUnsupported()
}

// InstallPositionAndInstallComponentUnsupported returns true if install
// position and install component are not supported.
func InstallPositionAndInstallComponentUnsupported(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetInstallPositionAndInstallComponentUnsupported()
}

// EncapTunnelShutBackupNhgZeroTraffic returns true when encap tunnel is shut then zero traffic flows to backup NHG
func EncapTunnelShutBackupNhgZeroTraffic(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetEncapTunnelShutBackupNhgZeroTraffic()
}

// MaxEcmpPaths supported for isis max ecmp path
func MaxEcmpPaths(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetMaxEcmpPaths()
}

// WecmpAutoUnsupported returns true if wecmp auto is not supported
func WecmpAutoUnsupported(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetWecmpAutoUnsupported()
}

// RoutingPolicyChainingUnsupported returns true if policy chaining is unsupported
func RoutingPolicyChainingUnsupported(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetRoutingPolicyChainingUnsupported()
}

// ISISLoopbackRequired returns true if isis loopback is required.
func ISISLoopbackRequired(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetIsisLoopbackRequired()
}

// WeightedEcmpFixedPacketVerification returns true if fixed packet is used in traffic flow
func WeightedEcmpFixedPacketVerification(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetWeightedEcmpFixedPacketVerification()
}

// OverrideDefaultNhScale returns true if default NextHop scale needs to be modified
// else returns false
func OverrideDefaultNhScale(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetOverrideDefaultNhScale()
}

// BgpExtendedCommunitySetUnsupported returns true if set bgp extended community is unsupported
func BgpExtendedCommunitySetUnsupported(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetBgpExtendedCommunitySetUnsupported()
}

// BgpSetExtCommunitySetRefsUnsupported returns true if bgp set ext community refs is unsupported
func BgpSetExtCommunitySetRefsUnsupported(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetBgpSetExtCommunitySetRefsUnsupported()
}

// BgpDeleteLinkBandwidthUnsupported returns true if bgp delete link bandwidth is unsupported
func BgpDeleteLinkBandwidthUnsupported(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetBgpDeleteLinkBandwidthUnsupported()
}

// QOSInQueueDropCounterUnsupported returns true if /qos/interfaces/interface/input/queues/queue/state/dropped-pkts
// is not supported for any component type.
func QOSInQueueDropCounterUnsupported(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetQosInqueueDropCounterUnsupported()
}

// BgpExplicitExtendedCommunityEnable returns true if explicit extended community enable is needed
func BgpExplicitExtendedCommunityEnable(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetBgpExplicitExtendedCommunityEnable()
}

// MatchTagSetConditionUnsupported returns true if match tag set condition is not supported
func MatchTagSetConditionUnsupported(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetMatchTagSetConditionUnsupported()
}

// PeerGroupDefEbgpVrfUnsupported returns true if peer group definition under ebgp vrf is unsupported
func PeerGroupDefEbgpVrfUnsupported(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetPeerGroupDefEbgpVrfUnsupported()
}

// RedisConnectedUnderEbgpVrfUnsupported returns true if redistribution of routes under ebgp vrf is unsupported
func RedisConnectedUnderEbgpVrfUnsupported(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetRedisConnectedUnderEbgpVrfUnsupported()
}

// BgpAfiSafiInDefaultNiBeforeOtherNi returns true if certain AFI SAFIs are configured in default network instance before other network instances
func BgpAfiSafiInDefaultNiBeforeOtherNi(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetBgpAfiSafiInDefaultNiBeforeOtherNi()
}

// BgpSetmedUnionTypeUnsupported returns true if devices which are not
// supporting bgp set med union type in OC.
func BgpSetmedUnionTypeUnsupported(dut *ondatra.DUTDevice) bool {
return lookupDUTDeviations(dut).GetBgpSetmedUnionTypeUnsupported()
}