diff --git a/ofdpa/flows.py b/ofdpa/flows.py
index 5844090..e4c4516 100755
--- a/ofdpa/flows.py
+++ b/ofdpa/flows.py
@@ -1000,7 +1000,13 @@
 
             ports      = config[ "port_map" ].keys( )
             dst_ip_str = "224.0.0.1"
-            (port_to_in_vlan, port_to_out_vlan, port_to_src_mac_str, port_to_dst_mac_str, port_to_src_ip_str, Groups) = fill_mcast_pipeline_L3toL2(
+            (
+                port_to_in_vlan,
+                port_to_out_vlan,
+                port_to_src_mac_str,
+                port_to_dst_mac_str,
+                port_to_src_ip_str,
+                Groups) = fill_mcast_pipeline_L3toL2(
                 self.controller,
                 logging,
                 ports,
@@ -1059,7 +1065,13 @@
                 return
             ports      = config[ "port_map" ].keys( )
             dst_ip_str = "224.0.0.1"
-            (port_to_in_vlan, port_to_out_vlan, port_to_src_mac_str, port_to_dst_mac_str, port_to_src_ip_str, Groups) = fill_mcast_pipeline_L3toL2(
+            (
+                port_to_in_vlan,
+                port_to_out_vlan,
+                port_to_src_mac_str,
+                port_to_dst_mac_str,
+                port_to_src_ip_str,
+                Groups) = fill_mcast_pipeline_L3toL2(
                 self.controller,
                 logging,
                 ports,
@@ -1120,7 +1132,13 @@
                 return
             ports      = config[ "port_map" ].keys( )
             dst_ip_str = "224.0.0.1"
-            (port_to_in_vlan, port_to_out_vlan, port_to_src_mac_str, port_to_dst_mac_str, port_to_src_ip_str, Groups) = fill_mcast_pipeline_L3toL2(
+            (
+                port_to_in_vlan,
+                port_to_out_vlan,
+                port_to_src_mac_str,
+                port_to_dst_mac_str,
+                port_to_src_ip_str,
+                Groups) = fill_mcast_pipeline_L3toL2(
                 self.controller,
                 logging,
                 ports,
@@ -1180,7 +1198,13 @@
                 return
             ports      = config[ "port_map" ].keys( )
             dst_ip_str = "224.0.0.1"
-            (port_to_in_vlan, port_to_out_vlan, port_to_src_mac_str, port_to_dst_mac_str, port_to_src_ip_str, Groups) = fill_mcast_pipeline_L3toL2(
+            (
+                port_to_in_vlan,
+                port_to_out_vlan,
+                port_to_src_mac_str,
+                port_to_dst_mac_str,
+                port_to_src_ip_str,
+                Groups) = fill_mcast_pipeline_L3toL2(
                 self.controller,
                 logging,
                 ports,
@@ -1243,7 +1267,13 @@
                 return
             ports      = config[ "port_map" ].keys( )
             dst_ip_str = "224.0.0.1"
-            (port_to_in_vlan, port_to_out_vlan, port_to_src_mac_str, port_to_dst_mac_str, port_to_src_ip_str, Groups) = fill_mcast_pipeline_L3toL2(
+            (
+                port_to_in_vlan,
+                port_to_out_vlan,
+                port_to_src_mac_str,
+                port_to_dst_mac_str,
+                port_to_src_ip_str,
+                Groups) = fill_mcast_pipeline_L3toL2(
                 self.controller,
                 logging,
                 ports,
