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

Update sub test case to retain TTL=1 for incoming packets with TTL = 1 #3656

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open
Changes from 1 commit
Commits
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
126 changes: 126 additions & 0 deletions feature/gribi/otg_tests/mpls_in_udp/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -253,6 +253,132 @@ openconfig-network-instance:
* Generate traffic from ATE port 1
* Validate ATE port 2 receives the innermost IPv4 traffic with correct VLAN and inner_decap_ipv6

### TE-18.1.5 Rewrite the ingress innner packet TTL = 1, if the incoming TTL = 1.
Create AFT entries using gRIBI to match on IP and TTL = 1 to
encapsulate the matching packets in MPLS in UDP with inner ip ttl as 1.

#### gRIBI RPC content

The gRIBI client should send this proto message to the DUT to create AFT
entries. See [OC AFT Encap PR in progress](https://github.com/openconfig/public/pull/1153)
for the new OC AFT model nodes needed for this.

```proto
vishnureddybadveli marked this conversation as resolved.
Show resolved Hide resolved
network_instances: {
network_instance: {
afts {
#
# entries used for "group_A"
ipv6_unicast {
ipv6_entry {
prefix: "inner_ipv6_dst_A" # this is an IPv6 entry for the origin/inner packet.
next_hop_group: 100
}
}
ipv4_unicast {
ipv4_entry {
prefix: "ipv4_inner_dst_A" # this is an IPv4 entry for the origin/inner packet.
next_hop_group: 100
}
}
next_hop_groups {
next_hop_group {
id: 100
next_hops { # reference to a next-hop
next_hop: {
index: 100
}
}
}
}
next_hops {
next_hop {
index: 100
network_instance: "group_A"
encap-headers {
encap-header {
index: 1
pushed_mpls_label_stack: [100,]
}
}
encap-headers {
encap-header {
index: 2
src_ip: "outer_ipv6_src"
dst_ip: "outer_ipv6_dst_A"
dst_udp_port: "outer_dst_udp_port"
ip_ttl: "outer_ip-ttl"
inner_ip_ttl_min: 1
vishnureddybadveli marked this conversation as resolved.
Show resolved Hide resolved
dscp: "outer_dscp"
}
}
}
}
#
# entries used for "group_B"
ipv6_unicast {
ipv6_entry {
prefix: "inner_ipv6_dst_B"
next_hop_group: 200
}
}
ipv4_unicast {
ipv4_entry {
prefix: "ipv4_inner_dst_B"
next_hop_group: 200
}
}
next_hop_groups {
next_hop_group {
id: 200
next_hops { # reference to a next-hop
next_hop: {
index: 200
}
}
}
}
next_hops {
next_hop {
index: 200
network_instance: "group_B"
encap-headers {
encap-header {
index: 1
type : OPENCONFIG_AFT_TYPES:MPLS
mpls {
pushed_mpls_label_stack: [200,]
}
}
}
encap-headers {
encap-header {
index: 2
type: OPENCONFIG_AFT_TYPES:UDP
udp {
src_ip: "outer_ipv6_src"
dst_ip: "outer_ipv6_dst_B"
dst_udp_port: "outer_dst_udp_port"
ip_ttl: "outer_ip-ttl"
inner_ip_ttl_min: 1
dscp: "outer_dscp"
}
}
}
}
}
}
}
}
```

#### Procedure - A
* Send traffic from ATE port 1 to DUT port 1 with inner packet TTL as 1.
* Validate afts next hop counters
vishnureddybadveli marked this conversation as resolved.
Show resolved Hide resolved
* Using OTG, validate ATE port 2 receives MPLS-IN-UDP packets
* Validate destination IPs are outer_ipv6_dst_A and outer_ipv6_dst_B
* Validate MPLS label is set
* Validate inner packet ttl as 1.
vishnureddybadveli marked this conversation as resolved.
Show resolved Hide resolved
## OpenConfig Path and RPC Coverage

```yaml
Expand Down
Loading