update ce_static_route to fix bugs (#62498)
This commit is contained in:
parent
b7897e3a8d
commit
cbe8271745
1 changed files with 21 additions and 19 deletions
|
@ -471,8 +471,10 @@ class StaticRoute(object):
|
||||||
if not self.changed:
|
if not self.changed:
|
||||||
return
|
return
|
||||||
if self.aftype == "v4":
|
if self.aftype == "v4":
|
||||||
|
aftype = "ip"
|
||||||
maskstr = self.convert_len_to_mask(self.mask)
|
maskstr = self.convert_len_to_mask(self.mask)
|
||||||
else:
|
else:
|
||||||
|
aftype = "ipv6"
|
||||||
maskstr = self.mask
|
maskstr = self.mask
|
||||||
if self.next_hop is None:
|
if self.next_hop is None:
|
||||||
next_hop = ''
|
next_hop = ''
|
||||||
|
@ -493,38 +495,38 @@ class StaticRoute(object):
|
||||||
if self.state == "present":
|
if self.state == "present":
|
||||||
if self.vrf != "_public_":
|
if self.vrf != "_public_":
|
||||||
if self.destvrf != "_public_":
|
if self.destvrf != "_public_":
|
||||||
self.updates_cmd.append('ip route-static vpn-instance %s %s %s vpn-instance %s %s'
|
self.updates_cmd.append('%s route-static vpn-instance %s %s %s vpn-instance %s %s'
|
||||||
% (vrf, self.prefix, maskstr, destvrf, next_hop))
|
% (aftype, vrf, self.prefix, maskstr, destvrf, next_hop))
|
||||||
else:
|
else:
|
||||||
self.updates_cmd.append('ip route-static vpn-instance %s %s %s %s %s'
|
self.updates_cmd.append('%s route-static vpn-instance %s %s %s %s %s'
|
||||||
% (vrf, self.prefix, maskstr, nhp_interface, next_hop))
|
% (aftype, vrf, self.prefix, maskstr, nhp_interface, next_hop))
|
||||||
elif self.destvrf != "_public_":
|
elif self.destvrf != "_public_":
|
||||||
self.updates_cmd.append('ip route-static %s %s vpn-instance %s %s'
|
self.updates_cmd.append('%s route-static %s %s vpn-instance %s %s'
|
||||||
% (self.prefix, maskstr, self.destvrf, next_hop))
|
% (aftype, self.prefix, maskstr, self.destvrf, next_hop))
|
||||||
else:
|
else:
|
||||||
self.updates_cmd.append('ip route-static %s %s %s %s'
|
self.updates_cmd.append('%s route-static %s %s %s %s'
|
||||||
% (self.prefix, maskstr, nhp_interface, next_hop))
|
% (aftype, self.prefix, maskstr, nhp_interface, next_hop))
|
||||||
if self.pref:
|
if self.pref:
|
||||||
self.updates_cmd.append(' preference %s' % (self.pref))
|
self.updates_cmd[0] += ' preference %s' % (self.pref)
|
||||||
if self.tag:
|
if self.tag:
|
||||||
self.updates_cmd.append(' tag %s' % (self.tag))
|
self.updates_cmd[0] += ' tag %s' % (self.tag)
|
||||||
if self.description:
|
if self.description:
|
||||||
self.updates_cmd.append(' description %s' % (self.description))
|
self.updates_cmd[0] += ' description %s' % (self.description)
|
||||||
|
|
||||||
if self.state == "absent":
|
if self.state == "absent":
|
||||||
if self.vrf != "_public_":
|
if self.vrf != "_public_":
|
||||||
if self.destvrf != "_public_":
|
if self.destvrf != "_public_":
|
||||||
self.updates_cmd.append('undo ip route-static vpn-instance %s %s %s vpn-instance %s %s'
|
self.updates_cmd.append('undo %s route-static vpn-instance %s %s %s vpn-instance %s %s'
|
||||||
% (vrf, self.prefix, maskstr, destvrf, next_hop))
|
% (aftype, vrf, self.prefix, maskstr, destvrf, next_hop))
|
||||||
else:
|
else:
|
||||||
self.updates_cmd.append('undo ip route-static vpn-instance %s %s %s %s %s'
|
self.updates_cmd.append('undo %s route-static vpn-instance %s %s %s %s %s'
|
||||||
% (vrf, self.prefix, maskstr, nhp_interface, next_hop))
|
% (aftype, vrf, self.prefix, maskstr, nhp_interface, next_hop))
|
||||||
elif self.destvrf != "_public_":
|
elif self.destvrf != "_public_":
|
||||||
self.updates_cmd.append('undo ip route-static %s %s vpn-instance %s %s'
|
self.updates_cmd.append('undo %s route-static %s %s vpn-instance %s %s'
|
||||||
% (self.prefix, maskstr, self.destvrf, self.next_hop))
|
% (aftype, self.prefix, maskstr, self.destvrf, self.next_hop))
|
||||||
else:
|
else:
|
||||||
self.updates_cmd.append('undo ip route-static %s %s %s %s'
|
self.updates_cmd.append('undo %s route-static %s %s %s %s'
|
||||||
% (self.prefix, maskstr, nhp_interface, next_hop))
|
% (aftype, self.prefix, maskstr, nhp_interface, next_hop))
|
||||||
|
|
||||||
def operate_static_route(self, version, prefix, mask, nhp_interface, next_hop, vrf, destvrf, state):
|
def operate_static_route(self, version, prefix, mask, nhp_interface, next_hop, vrf, destvrf, state):
|
||||||
"""operate ipv4 static route"""
|
"""operate ipv4 static route"""
|
||||||
|
|
Loading…
Reference in a new issue