aboutsummaryrefslogtreecommitdiffstats
path: root/vicn/resource/icn
diff options
context:
space:
mode:
Diffstat (limited to 'vicn/resource/icn')
-rw-r--r--vicn/resource/icn/central.py6
-rw-r--r--vicn/resource/icn/cicn.py7
2 files changed, 11 insertions, 2 deletions
diff --git a/vicn/resource/icn/central.py b/vicn/resource/icn/central.py
index aa8ea357..fd272bf6 100644
--- a/vicn/resource/icn/central.py
+++ b/vicn/resource/icn/central.py
@@ -81,6 +81,8 @@ class ICNFaces(Resource):
def __delete__(self):
raise NotImplementedError
+ def __after__(self):
+ return ("VPPInterface",)
#--------------------------------------------------------------------------
# Internal methods
#--------------------------------------------------------------------------
@@ -102,7 +104,11 @@ class ICNFaces(Resource):
map_ = data['map_node_interface']
src = self._state.manager.by_uuid(map_[src_node_uuid])
+ if src.has_vpp_child:
+ src = src.vppinterface
dst = self._state.manager.by_uuid(map_[dst_node_uuid])
+ if dst.has_vpp_child:
+ dst = dst.vppinterface
log.debug('{} -> {} ({} -> {})'.format(src_node_uuid,
dst_node_uuid, src.device_name, dst.device_name))
diff --git a/vicn/resource/icn/cicn.py b/vicn/resource/icn/cicn.py
index 8ab36ec9..597692c8 100644
--- a/vicn/resource/icn/cicn.py
+++ b/vicn/resource/icn/cicn.py
@@ -71,7 +71,7 @@ class CICNForwarder(Forwarder):
@inherit_parent
def __get__(self):
def parse(rv):
- if rv.return_value > 0 or 'cicn: not enabled' in rv.stdout:
+ if rv.return_value > 0 or 'cicn: not enabled' in rv.stdout or "Forwarder : disabled" in rv.stdout:
raise ResourceNotFound
return BashTask(self.node, CMD_VPP_CICN_GET,
lock = self.node.vpp.vppctl_lock, parse=parse)
@@ -134,6 +134,9 @@ class CICNForwarder(Forwarder):
def _get_cache_size(self):
def parse(rv):
- return int(rv.stdout)
+ if not rv.stdout:
+ return 0
+ else:
+ return int(rv.stdout)
return BashTask(self.node, CMD_VPP_CICN_GET_CACHE_SIZE, parse=parse,
lock = self.node.vpp.vppctl_lock)