ipv4_entry_test - bstoll/featureprofiles GitHub Wiki
Validate IPv4 support in gRIBI.
- Connect ATE port-1 to DUT port-1, ATE port-2 to DUT port-2, and ATE port-3 to DUT port-3.
- Establish gRIBI client connection with DUT, negotiating
RIB_AND_FIB_ACK
as the requestedack_type
and persistence modePRESERVE
. make it become leader. Flush all entries after each case. - Using gRIBI Modify RPC install the following IPv4Entry sets, and validate
the specified behaviours:
- Single IPv4Entry -> NHG -> NH.
- Install 198.51.100.0/24 to NextHopGroup containing one NextHop specified to ATE port-2.
- Forward packets between ATE port-1 and ATE port-2 (destined to 198.51.100.0/24 ) and determine that packets are forwarded successfully:
- Single IPv4Entry -> NHG -> multiple NHs.
- Install 198.51.100.0/24 to NextHopGroup containing two NextHop entries specified to ATE ports 2 and 3.
- Validate that packets forwarded between ATE ports 1 and (2 and 3), ensuring that traffic is forwarded.
- Single IPv4Entry -> NHG -> multiple NHs with MAC override.
- Install 198.51.100.0/24 to NextHopGroup containing two NextHop entries specified to ATE ports 2 and 3, and override the destination MAC to a specified value.
- Validate that packets forwarded between ATE ports 1 and (2 and 3)
- TODO: validate the ATE received packets are of the expected destination MAC address.
- Single IPv4Entry -> NHG -> non-existent NH.
- Send a Modify() containing 2 AFTOperations that install 198.51.100.0/24 to NextHopGroup containing next-hops that do not exist. Validate that FAILED error is received for all the 2 operations. Ensure that traffic to 198.51.100.0/24 is blackholed.
- Single IPv4Entry -> NHG -> NH with down interface
- Install 198.51.100.0/24 to NextHopGroup containing a NextHop that
references (interface_ref) a down interface and override the
destination MAC (mac_address), ensure that
FIB_PROGRAMMED
is returned.
- Install 198.51.100.0/24 to NextHopGroup containing a NextHop that
references (interface_ref) a down interface and override the
destination MAC (mac_address), ensure that
- Single IPv4Entry -> NHG -> NH.
N/A
N/A
- gRIBI
- Modify()
- ModifyRequest:
- AFTOperation:
- id
- network_instance
- op
- Ipv4
- Ipv4EntryKey: prefix
- Ipv4Entry: next_hop_group
- next_hop_group
- NextHopGroupKey: id
- NextHopGroup: next_hop
- next_hop
- NextHopKey: id
- NextHop:
- ip_address
- AFTOperation:
- ModifyResponse:
- AFTResult:
- id
- status
- AFTResult:
- ModifyRequest:
- Modify()