From 05d0f593bbfe9c85c690f6e4cddfb257a835906e Mon Sep 17 00:00:00 2001 From: Viacheslav Hletenko Date: Mon, 20 Feb 2023 11:54:36 +0000 Subject: T5007: Fix multicast implementation for the tunnel interfaces Multicast has not been implemented for the tunnel interfaces. We have only configuration CLI commands that do anything. Fix it. ip link set dev multicast on ip link set dev multicast off (cherry picked from commit ac821d0d1764e9623015e04c5158a06c00ab370b) --- python/vyos/ifconfig/tunnel.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'python/vyos') diff --git a/python/vyos/ifconfig/tunnel.py b/python/vyos/ifconfig/tunnel.py index 5258a2cb1..f776240a1 100644 --- a/python/vyos/ifconfig/tunnel.py +++ b/python/vyos/ifconfig/tunnel.py @@ -162,6 +162,15 @@ class TunnelIf(Interface): """ Get a synthetic MAC address. """ return self.get_mac_synthetic() + def set_multicast(self): + """ Set multicast """ + if self.config.get('multicast', 'disable') == 'enable': + cmd = 'ip link set dev {ifname} multicast on' + else: + cmd = 'ip link set dev {ifname} multicast off' + + self._cmd(cmd.format(**self.config)) + def update(self, config): """ General helper function which works on a dictionary retrived by get_config_dict(). It's main intention is to consolidate the scattered @@ -170,5 +179,8 @@ class TunnelIf(Interface): # Adjust iproute2 tunnel parameters if necessary self._change_options() + # Add multicast + self.set_multicast() + # call base class first super().update(config) -- cgit v1.2.3