summaryrefslogtreecommitdiff
path: root/src/conf_mode/igmp_proxy.py
diff options
context:
space:
mode:
authorDmitriyEshenko <dmitriy.eshenko@vyos.io>2020-12-04 11:40:02 +0000
committerDmitriyEshenko <dmitriy.eshenko@vyos.io>2020-12-04 11:40:02 +0000
commit1a4fa2ff7e196492ce2fd63534ae93ffa249ff33 (patch)
tree27bfd2ddc5556df0b98eaa49f351b15b5ec88fc1 /src/conf_mode/igmp_proxy.py
parent621f85524fee2846aa5bfd25f7e961d72ede0d5d (diff)
downloadvyos-1x-1a4fa2ff7e196492ce2fd63534ae93ffa249ff33.tar.gz
vyos-1x-1a4fa2ff7e196492ce2fd63534ae93ffa249ff33.zip
pim: igmp: igmp-proxy: T2744: Add check to prevent pimd and igmp-proxy conflict
Diffstat (limited to 'src/conf_mode/igmp_proxy.py')
-rwxr-xr-xsrc/conf_mode/igmp_proxy.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/conf_mode/igmp_proxy.py b/src/conf_mode/igmp_proxy.py
index cd0704124..0e1c2c569 100755
--- a/src/conf_mode/igmp_proxy.py
+++ b/src/conf_mode/igmp_proxy.py
@@ -76,6 +76,13 @@ default_config_data = {
def get_config():
igmp_proxy = default_config_data
conf = Config()
+
+ if conf.exists('protocols igmp'):
+ igmp_proxy['igmp_configured'] = True
+
+ if conf.exists('protocols pim'):
+ igmp_proxy['pim_configured'] = True
+
if not conf.exists('protocols igmp-proxy'):
return None
else:
@@ -125,6 +132,10 @@ def verify(igmp_proxy):
if igmp_proxy['disable']:
return None
+ if 'igmp_configured' in igmp_proxy or 'pim_configured' in igmp_proxy:
+ raise ConfigError('Can not configure both IGMP proxy and PIM '\
+ 'at the same time')
+
# at least two interfaces are required, one upstream and one downstream
if len(igmp_proxy['interfaces']) < 2:
raise ConfigError('Must define an upstream and at least 1 downstream interface!')