]> git.proxmox.com Git - mirror_ifupdown2.git/commitdiff
addons: vrf: ifquery fixes for vrf
authorNikhil <nikhil@cumulusnetworks.com>
Wed, 30 Mar 2016 23:56:37 +0000 (16:56 -0700)
committerRoopa Prabhu <roopa@cumulusnetworks.com>
Tue, 5 Apr 2016 04:38:17 +0000 (21:38 -0700)
Ticket: CM-10175
Reviewed By: Roopa Prabhu
Testing Done: yes, by installing ifupdown .deb onto dell-s3000-02

This patch fixes inappropriate ifquery fails.
This patch also include a review comment update for addressvirtual.py
[CCR-4310], ticket: [CM-8658]
Signed-off-by: Nikhil <nikhil@cumulusnetworks.com>
addons/addressvirtual.py
addons/vrf.py
ifupdownaddons/iproute2.py

index 45a582c5c1ba7a0e254b3ae27791c015b2cda6e2..bfe640c3711372600dd5372037a4a001795b6916 100644 (file)
@@ -244,7 +244,7 @@ class addressvirtual(moduleBase):
             return True 
         mac = mac.lower()
         try:
-            if int(mac.split(":")[0][1], 16) & 1 :
+            if int(mac.split(":")[0], 16) & 1 :
                 self.logger.error("%s: Multicast bit is set in the virtual mac address '%s'" %(ifaceobj.name, mac))
                 return False
             return True
index 338a06d34260376370277fbdb59dcd150da76f3e..bb25427326bb9e6f9a327fbca3e5dee54106ad30 100644 (file)
@@ -764,7 +764,7 @@ class vrf(moduleBase):
         try:
             master = self.ipcmd.link_get_master(ifaceobj.name)
             if not master or master != vrf:
-                ifaceobjcurr.update_config_with_status('vrf', master, 1)
+                ifaceobjcurr.update_config_with_status('vrf', str(master), 1)
             else:
                 ifaceobjcurr.update_config_with_status('vrf', master, 0)
         except Exception, e:
index 48a67523303871438cbc90f3779ed2030f51fc7f..28014f39a085044274b7844403405e07c3d3a41a 100644 (file)
@@ -116,9 +116,9 @@ class iproute2(utilsBase):
         [linkCache.update_attrdict([ifname], linkattrs)
                     for ifname, linkattrs in linkout.items()]
 
-    def _addr_filter(self, addr, scope=None):
+    def _addr_filter(self, ifname, addr, scope=None):
         default_addrs = ['127.0.0.1/8', '::1/128' , '0.0.0.0']
-        if addr in default_addrs:
+        if ifname == 'lo' and addr in default_addrs:
             return True
         if scope and scope == 'link':
             return True
@@ -158,14 +158,14 @@ class iproute2(utilsBase):
                 except KeyError:
                     linkout[ifname] = linkattrs
             if citems[2] == 'inet':
-                if self._addr_filter(citems[3], scope=citems[5]):
+                if self._addr_filter(citems[3], ifname, scope=citems[5]):
                     continue
                 addrattrs = {}
                 addrattrs['scope'] = citems[5]
                 addrattrs['type'] = 'inet'
                 linkout[ifname]['addrs'][citems[3]] = addrattrs
             elif citems[2] == 'inet6':
-                if self._addr_filter(citems[3], scope=citems[5]):
+                if self._addr_filter(citems[3], ifname, scope=citems[5]):
                     continue
                 if citems[5] == 'link': continue #skip 'link' addresses
                 addrattrs = {}