diff --git a/feature/gribi/otg_tests/basic_encap_test/basic_encap_test.go b/feature/gribi/otg_tests/basic_encap_test/basic_encap_test.go index 5e9548e7507..26a330162fe 100644 --- a/feature/gribi/otg_tests/basic_encap_test/basic_encap_test.go +++ b/feature/gribi/otg_tests/basic_encap_test/basic_encap_test.go @@ -59,7 +59,7 @@ const ( vrfEncapB = "ENCAP_TE_VRF_B" ipv4PrefixLen = 30 ipv6PrefixLen = 126 - trafficDuration = 15 * time.Second + trafficDuration = 30 * time.Second nhg10ID = 10 nh201ID = 201 nh202ID = 202 @@ -95,7 +95,7 @@ const ( ipv4EntryPrefixLen = 24 ipv6FlowIP = "2015:aa8::1" ipv6EntryPrefix = "2015:aa8::" - ipv6EntryPrefixLen = 32 + ipv6EntryPrefixLen = 64 ratioTunEncap1 = 0.25 // 1/4 ratioTunEncap2 = 0.75 // 3/4 ratioTunEncapTol = 0.05 // 5/100 @@ -791,7 +791,7 @@ func configureDUT(t *testing.T, dut *ondatra.DUTDevice) { for idx, a := range []attrs.Attributes{dutPort1, dutPort2, dutPort3, dutPort4, dutPort5} { p := portList[idx] intf := a.NewOCInterface(p.Name(), dut) - if p.PMD() == ondatra.PMD100GBASEFR && dut.Vendor() != ondatra.CISCO { + if p.PMD() == ondatra.PMD100GBASEFR && dut.Vendor() != ondatra.CISCO && dut.Vendor() != ondatra.JUNIPER { e := intf.GetOrCreateEthernet() e.AutoNegotiate = ygot.Bool(false) e.DuplexMode = oc.Ethernet_DuplexMode_FULL @@ -918,6 +918,7 @@ func (fa *flowAttr) getFlow(flowType string, name string, dscp uint32) gosnappi. innerV4 := flow.Packet().Add().Ipv4() innerV4.Src().SetValue(innerV4SrcIP) innerV4.Dst().SetValue(innerV4DstIP) + innerV4.Priority().Dscp().Phb().SetValue(dscp) } // add inner ipv6 headers @@ -925,6 +926,7 @@ func (fa *flowAttr) getFlow(flowType string, name string, dscp uint32) gosnappi. innerV6 := flow.Packet().Add().Ipv6() innerV6.Src().SetValue(InnerV6SrcIP) innerV6.Dst().SetValue(InnerV6DstIP) + innerV6.TrafficClass().SetValue(dscp << 2) } } else if flowType == "ipv6" { v6 := flow.Packet().Add().Ipv6() @@ -945,8 +947,13 @@ func sendTraffic(t *testing.T, args *testArgs, flows []gosnappi.Flow, capture bo otg := args.ate.OTG() args.topo.Flows().Clear().Items() args.topo.Flows().Append(flows...) + otg.PushConfig(t, args.topo) otg.StartProtocols(t) + + otgutils.WaitForARP(t, args.ate.OTG(), args.topo, "IPv4") + otgutils.WaitForARP(t, args.ate.OTG(), args.topo, "IPv6") + if capture { startCapture(t, args.ate) defer stopCapture(t, args.ate) diff --git a/feature/gribi/otg_tests/basic_encap_test/metadata.textproto b/feature/gribi/otg_tests/basic_encap_test/metadata.textproto index adf9ef8379d..3e2aefb2f08 100644 --- a/feature/gribi/otg_tests/basic_encap_test/metadata.textproto +++ b/feature/gribi/otg_tests/basic_encap_test/metadata.textproto @@ -18,6 +18,14 @@ platform_exceptions: { pf_require_sequential_order_pbr_rules: true } } +platform_exceptions: { + platform: { + vendor: JUNIPER + } + deviations: { + ttl_copy_unsupported: true + } +} platform_exceptions: { platform: { vendor: ARISTA