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

Adding TE-18.1 sub test cases code #3649

Open
wants to merge 36 commits into
base: main
Choose a base branch
from

Conversation

vishnureddybadveli
Copy link
Contributor

@vishnureddybadveli vishnureddybadveli commented Dec 16, 2024

Add TE-18.1.1 MPLS in UDP OTG test for ARISTA.
Add TE-18.1.2 Validate prefix match rule for MPLS in GRE encap using default route.

Vendor/gRIBIGO client support is missing so some parts of code are commented out.

@coveralls
Copy link

coveralls commented Dec 16, 2024

Pull Request Test Coverage Report for Build 12943332668

Warning: This coverage report may be inaccurate.

This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

Details

  • 0 of 8 (0.0%) changed or added relevant lines in 2 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage decreased (-0.01%) to 17.773%

Changes Missing Coverage Covered Lines Changed/Added Lines %
internal/deviations/deviations.go 0 3 0.0%
proto/metadata_go_proto/metadata.pb.go 0 5 0.0%
Totals Coverage Status
Change from base Build 12923061920: -0.01%
Covered Lines: 2481
Relevant Lines: 13959

💛 - Coveralls

@vishnureddybadveli vishnureddybadveli self-assigned this Dec 16, 2024
@vishnureddybadveli vishnureddybadveli requested a review from a team as a code owner December 27, 2024 04:33
@OpenConfigBot
Copy link

OpenConfigBot commented Dec 29, 2024

Pull Request Functional Test Report for #3649 / 9ed4836

Virtual Devices

Device Test Test Documentation Job Raw Log
Arista cEOS status
TE-18.1: gRIBI MPLS in UDP Encapsulation
Cisco 8000E status
TE-18.1: gRIBI MPLS in UDP Encapsulation
Cisco XRd status
TE-18.1: gRIBI MPLS in UDP Encapsulation
Juniper ncPTX status
TE-18.1: gRIBI MPLS in UDP Encapsulation
Nokia SR Linux status
TE-18.1: gRIBI MPLS in UDP Encapsulation
Openconfig Lemming status
TE-18.1: gRIBI MPLS in UDP Encapsulation

Hardware Devices

Device Test Test Documentation Raw Log
Arista 7808 status
TE-18.1: gRIBI MPLS in UDP Encapsulation
Cisco 8808 status
TE-18.1: gRIBI MPLS in UDP Encapsulation
Juniper PTX10008 status
TE-18.1: gRIBI MPLS in UDP Encapsulation
Nokia 7250 IXR-10e status
TE-18.1: gRIBI MPLS in UDP Encapsulation

Help

@Swetha-haridasula Swetha-haridasula requested a review from a team as a code owner January 8, 2025 04:48
Added missing colon at description.
Updated with description reflecting README file
dplore
dplore previously approved these changes Jan 23, 2025
feature/gribi/otg_tests/mpls_in_udp/mpls_in_udp_test.go Outdated Show resolved Hide resolved
@xw-g xw-g requested a review from self-maurya January 24, 2025 03:14
feature/gribi/otg_tests/mpls_in_udp/mpls_in_udp_test.go Outdated Show resolved Hide resolved
feature/gribi/otg_tests/mpls_in_udp/mpls_in_udp_test.go Outdated Show resolved Hide resolved
// programEntries pushes RIB entries on the DUT required for Encap functionality
func programEntries(t *testing.T, dut *ondatra.DUTDevice, c *gribi.Client) {
t.Log("Programming RIB entries")
// TODO: vvardhanreddy revisit when functionality is added.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why can't we leave the code here instead of commenting it out?

a failure test case basically indicate that the DUT does not support the expected behavior, right?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry code does not compile due to lack of fluent gribi support for encap, I had predicted fluent gRIBI API's in the commented out code for reference only and the code will be reworked when the functionality is available.

// TODO: b/364961777 upstream GUE decoder to gopacket addition is pending.
// err := validatePacketCapture(t, tcArgs, tc.capturePorts)
clearCapture(t, otg.OTG(), topo)
// if err != nil {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why we comment these code?

@xw-g
Copy link
Collaborator

xw-g commented Jan 24, 2025

@self-maurya, (putting the business logic aside), can you help quickly check if the code style aligns with our expectation? Thanks.

@xw-g
Copy link
Collaborator

xw-g commented Jan 24, 2025

@vishnureddybadveli can you put some description in the code about why it's a good idea to put ### TE-18.1.2 Validate prefix match rule for MPLS in GRE encap using default route in gRIBI test? Thanks.

} else {
programEntries(t, dut, &c)
}
configDefaultRoute(t, dut, cidr(ipv6EntryPrefix, ipv6EntryPrefixLen), otgPort1.IPv6)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

static route, not a default route, right? (also, nit: add a quick description about why we need such static route would be nice. It's not mentioned in the README.)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what we mean by static route is anything configured explicitly(even default route is a configured one) when compared to routes learnt by protocols like BGP etc

}
}

func TestMPLSOUDPEncap(t *testing.T) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

which part of the code implement the PBR of TE-18.1.2?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

L226 tries to implement PBR, but action with encap v6 headers is missing which is been worked by our partner team. We will revisit this when functionality is available.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants