nb: provide 'discard' value for nexthop

According to OVN v21.06.0 'discard' is a valid value for nexthop.

Closes-Bug: #1946092
Change-Id: I1eb4eebd70e65e3c45a631349f484ac215147809
This commit is contained in:
Anton Vazhnetsov 2021-08-23 13:57:46 +03:00
parent 3a5927938b
commit ea0d335fcb
4 changed files with 13 additions and 1 deletions

View File

@ -37,3 +37,5 @@ POLICY_ACTION_TYPES = (POLICY_ACTION_ALLOW,
PROTO_TCP = 'tcp'
PROTO_UDP = 'udp'
ROUTE_DISCARD = "discard"

View File

@ -849,7 +849,8 @@ class LrRouteAddCommand(cmd.BaseCommand):
def __init__(self, api, router, prefix, nexthop, port=None,
policy='dst-ip', may_exist=False):
prefix = str(netaddr.IPNetwork(prefix))
nexthop = str(netaddr.IPAddress(nexthop))
if nexthop != const.ROUTE_DISCARD:
nexthop = str(netaddr.IPAddress(nexthop))
super().__init__(api)
self.router = router
self.prefix = prefix

View File

@ -768,6 +768,11 @@ class TestLogicalRouterOps(OvnNorthboundTest):
self._lr_add_route(router_name)
self._lr_add_route(router_name, may_exist=True)
def test_lr_route_add_discard(self):
self._lr_add_route(nexthop=const.ROUTE_DISCARD)
self.assertRaises(netaddr.AddrFormatError, self._lr_add_route,
prefix='not-discard')
def test_lr_route_del(self):
prefix = "192.0.2.0/25"
route = self._lr_add_route(prefix=prefix)

View File

@ -0,0 +1,4 @@
---
features:
- |
Support the new "discard" static route nexthop type. It was added in OVN 21.06.