mpls_compliance - bstoll/featureprofiles GitHub Wiki
Ensure that the gRIBI server implements a base set of MPLS functionality without traffic validation.
- Configure ATE
port-1connected to DUTport-1, and ATEport-2connected to DUTport-2. - ATE
port-2is configured to have an assigned address of192.0.2.2, and the interface to the DUT is enabled. - For label stack depths beginning at
baseLabel, withnumLabelsaddition labels:- Program a
LabelEntrymatching outer label 100 pointing to a NHG containing a single NH. - Program a
NextHopEntrywhich points to192.0.2.2pushing[baseLabel, ..., baseLabel+numLabels]onto the MPLS label stack.
- Program a
- Validate that gRIBI transactions are successfully processed by the server.
- Configure DUT with a destination interface connected to an ATE. The ATE is
configured to have an assigned address of
192.0.2.2, and the interface to the DUT is enabled. - For label stack depths from
N=1...numLabelsprogram:- an IPv4 entry for
10.0.0.0/24with a next-hop of192.0.2.2pushing N additional labels onto the packet.
- an IPv4 entry for
- Validate that gRIBI transactions are successfully processed by the server.
- Configure DUT with a destination interface connected to an ATE. The ATE is configured to have assigned address 192.0.2.2.
- Program DUT with a label forwarding entry matching label 100 and specifying to pop the top label.
- Validate that gRIBI transactions are successfully processed by the server.
- Configure DUT with destination interface connected to an ATE. The ATE is
configured to have assigned address
192.0.2.2. - Program DUT with a label forwarding entry matching label 100 and specifying to
pop:
- Label
100 - Label stack
[100, 42] - Label stack
[100, 42, 43, 44, 45]
- Label
- Configure DUT with destination interface connected to an ATE. The ATE is
configured to have assigned address
192.0.2.2. - Program DUT with a label forwarding entry matching label 100 and label 200,
pointing to a next-hop that is programmed to pop the top label, and:
- push label 100 - resulting in a swap for incoming label 100, and a push of 100 for incoming label 200.
- push stack
[100, 200, 300, 400] - push stack
[100, 200, 300, 400, 500, 600]
- gRIBI:
Modify()-
ModifyRequest-
AFTOperation: idnetwork_instance-
op:ADD -
ipv4: *prefix -
mpls: *next_hop_group -
next_hop_group*id*next_hop -
next_hop*id*ip_address*pushed_label_stack*pop_top_label*popped_label_stack
-
-
ModifyResponse: -
AFTResult:idstatus