diff options
| author | ARShreenidhi <rshreenidhi@vmware.com> | 2021-11-03 00:17:52 -0700 | 
|---|---|---|
| committer | ARShreenidhi <rshreenidhi@vmware.com> | 2021-11-03 00:17:52 -0700 | 
| commit | 6a28d13560d0fee5b6997d1a756bafa7e02e1216 (patch) | |
| tree | 1172490e763d10dc1d431ee9b5275df7228f9520 /tests/topotests/lib/bgp.py | |
| parent | 3c11665b023f0d1e7b49ea729324ca563e766af3 (diff) | |
tests: testcase to configure verity tcp mss in vrf
Signed-off-by: ARShreenidhi <rshreenidhi@vmware.com>
Diffstat (limited to 'tests/topotests/lib/bgp.py')
| -rw-r--r-- | tests/topotests/lib/bgp.py | 53 | 
1 files changed, 53 insertions, 0 deletions
diff --git a/tests/topotests/lib/bgp.py b/tests/topotests/lib/bgp.py index 556240bfb5..458ae4b054 100644 --- a/tests/topotests/lib/bgp.py +++ b/tests/topotests/lib/bgp.py @@ -4428,3 +4428,56 @@ def verify_evpn_routes(      logger.debug("Exiting lib API: {}".format(sys._getframe().f_code.co_name))      return False +def verify_tcp_mss(tgen, dut, neighbour, configured_tcp_mss, vrf=None): +    """ +    This api is used to verify the tcp-mss value  assigned to a neigbour of DUT + +    Parameters +    ---------- +    * `tgen` : topogen object +    * `dut`: device under test +    * `neighbour`:neigbout IP address +    * `configured_tcp_mss`:The TCP-MSS value to be verified +    * `vrf`:vrf + +    Usage +    ----- +    result = verify_tcp_mss(tgen, dut,neighbour,configured_tcp_mss) +    Returns +    ------- +    errormsg(str) or True +    """ + +    logger.debug("Entering lib API: {}".format(sys._getframe().f_code.co_name)) +    rnode = tgen.routers()[dut] +    if vrf: +        cmd = "show bgp vrf {} neighbors {} json".format(vrf, neighbour) +    else: +        cmd = "show bgp neighbors {} json".format(neighbour) + +    # Execute the command +    show_vrf_stats = run_frr_cmd(rnode, cmd, isjson=True) + +    # Verify TCP-MSS  on router +    logger.info("Verify that no core is observed") +    if tgen.routers_have_failure(): +        errormsg = "Core observed while running CLI: %s" % (cmd) +        return errormsg +    else: +        if configured_tcp_mss == show_vrf_stats.get(neighbour).get( +            "bgpTcpMssConfigured" +        ): +            logger.debug( +                "Configured TCP - MSS Found: {}".format(sys._getframe().f_code.co_name) +            ) +            return True +        else: +            logger.debug( +                "TCP-MSS Mismatch ,configured {} expecting {}".format( +                    show_vrf_stats.get(neighbour).get("bgpTcpMssConfigured"), +                    configured_tcp_mss, +                ) +            ) +            return "TCP-MSS Mismatch" +    logger.debug("Exiting lib API: {}".format(sys._getframe().f_code.co_name)) +    return False  | 
