mirror of
https://github.com/CumulusNetworks/ifupdown2.git
synced 2024-05-06 15:54:50 +00:00
Catch the interface long error during parsing
Ticket: CM-5882 Reviewed By: Testing Done:
This commit is contained in:
@ -754,7 +754,6 @@ class ifupdownMain(ifupdownBase):
|
||||
"""
|
||||
new_ifacenames = []
|
||||
err_iface = ''
|
||||
ifnamsiz_error = ''
|
||||
for i in ifacenames:
|
||||
ifaceobjs = self.get_ifaceobjs(i)
|
||||
if not ifaceobjs:
|
||||
@ -766,19 +765,13 @@ class ifupdownMain(ifupdownBase):
|
||||
if not ifaceobjs:
|
||||
err_iface += ' ' + ri
|
||||
else:
|
||||
if utils.check_ifname_size_invalid(ri):
|
||||
ifnamsiz_error += ' ' + ri
|
||||
new_ifacenames.append(ri)
|
||||
else:
|
||||
err_iface += ' ' + i
|
||||
else:
|
||||
if utils.check_ifname_size_invalid(i):
|
||||
ifnamsiz_error += ' ' + i
|
||||
new_ifacenames.append(i)
|
||||
if err_iface:
|
||||
raise Exception('cannot find interfaces:%s' %err_iface)
|
||||
if ifnamsiz_error:
|
||||
raise Exception('the following interface names are too long:%s' %ifnamsiz_error)
|
||||
return new_ifacenames
|
||||
|
||||
def _iface_whitelisted(self, auto, allow_classes, excludepats, ifacename):
|
||||
@ -943,8 +936,6 @@ class ifupdownMain(ifupdownBase):
|
||||
else:
|
||||
self.populate_dependency_info(ops)
|
||||
|
||||
if filtered_ifacenames:
|
||||
filtered_ifacenames = self._preprocess_ifacenames(filtered_ifacenames)
|
||||
try:
|
||||
self._sched_ifaces(filtered_ifacenames, ops,
|
||||
skipupperifaces=skipupperifaces,
|
||||
@ -1074,8 +1065,6 @@ class ifupdownMain(ifupdownBase):
|
||||
elif ops[0] == 'query-raw':
|
||||
return self.print_ifaceobjs_raw(filtered_ifacenames)
|
||||
|
||||
if filtered_ifacenames:
|
||||
filtered_ifacenames = self._preprocess_ifacenames(filtered_ifacenames)
|
||||
self._sched_ifaces(filtered_ifacenames, ops,
|
||||
followdependents=True if self.WITH_DEPENDS else False)
|
||||
|
||||
@ -1160,7 +1149,6 @@ class ifupdownMain(ifupdownBase):
|
||||
return
|
||||
self.logger.info('reload: scheduling up on interfaces: %s'
|
||||
%str(interfaces_to_up))
|
||||
interfaces_to_up = self._preprocess_ifacenames(interfaces_to_up)
|
||||
self._sched_ifaces(interfaces_to_up, upops,
|
||||
followdependents=True if self.WITH_DEPENDS else False)
|
||||
if self.DRYRUN:
|
||||
@ -1278,7 +1266,6 @@ class ifupdownMain(ifupdownBase):
|
||||
|
||||
self.logger.info('reload: scheduling up on interfaces: %s'
|
||||
%str(filtered_ifacenames))
|
||||
filtered_ifacenames = self._preprocess_ifacenames(filtered_ifacenames)
|
||||
try:
|
||||
self._sched_ifaces(filtered_ifacenames, upops,
|
||||
followdependents=True if self.WITH_DEPENDS else False)
|
||||
|
@ -219,6 +219,10 @@ class networkInterfaces():
|
||||
iface_attrs = re.split(self._ws_split_regex, iface_line)
|
||||
ifacename = iface_attrs[1]
|
||||
|
||||
if utils.check_ifname_size_invalid(ifacename):
|
||||
self._parse_warn(self._currentfile, lineno,
|
||||
'%s: interface name too long' %ifacename)
|
||||
|
||||
# in cases where mako is unable to render the template
|
||||
# or incorrectly renders it due to user template
|
||||
# errors, we maybe left with interface names with
|
||||
|
Reference in New Issue
Block a user