diff --git a/TestON/tests/FUNC/FUNCbgpls/dependencies/Scapyfiles/Link_Update_Node.py b/TestON/tests/FUNC/FUNCbgpls/dependencies/Scapyfiles/Link_Update_Node.py
old mode 100755
new mode 100644
index 15c5757..4bf1187
--- a/TestON/tests/FUNC/FUNCbgpls/dependencies/Scapyfiles/Link_Update_Node.py
+++ b/TestON/tests/FUNC/FUNCbgpls/dependencies/Scapyfiles/Link_Update_Node.py
@@ -1,5 +1,6 @@
+# !/usr/bin/python           # This is server.py file
 """
-Copyright 2016 Open Networking Foundation (ONF)
+Copyright 2016 Open Networking Foundation ( ONF )
 
 Please refer questions to either the onos test mailing list at <onos-test@onosproject.org>,
 the System Testing Plans and Results wiki page at <https://wiki.onosproject.org/x/voMg>,
@@ -8,7 +9,7 @@
     TestON is free software: you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
     the Free Software Foundation, either version 2 of the License, or
-    (at your option) any later version.
+    ( at your option ) any later version.
 
     TestON is distributed in the hope that it will be useful,
     but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -18,8 +19,6 @@
     You should have received a copy of the GNU General Public License
     along with TestON.  If not, see <http://www.gnu.org/licenses/>.
 """
-
-#!/usr/bin/python           # This is server.py file
 from scapy.all import *
 import socket               # Import socket module
 import time                 # Import Time module
@@ -27,40 +26,39 @@
 import os
 
 path = os.getcwd()
-sys.path.append('OnosSystemTest/TestON/tests/FUNC/FUNCbgpls/dependencies')   #Setting the path for BgpLS
+sys.path.append( 'OnosSystemTest/TestON/tests/FUNC/FUNCbgpls/dependencies' )  # Setting the path for BgpLS
 from Nbdata import BgpLs
 
 obj = BgpLs()
 returnlist = obj.Constants()
-peerIp = returnlist[0][0]
+peerIp = returnlist[ 0 ][ 0 ]
 
-load_contrib('bgp')
+load_contrib( 'bgp' )
 s = socket.socket()         # Create a socket object
-host = peerIp # Get local machine name
+host = peerIp  # Get local machine name
 port = 179                # Reserve a port for your service.
-s.bind((host, port))        # Bind to the port
-pkts = rdpcap(path + "/OnosSystemTest/TestON/tests/FUNC/FUNCbgpls/dependencies/Bgpls_packets/bgpls.pcap")
-time.sleep(15)
-pkts[759][BGPOpen].bgp_id = peerIp
+s.bind( ( host, port ) )        # Bind to the port
+pkts = rdpcap( path + "/OnosSystemTest/TestON/tests/FUNC/FUNCbgpls/dependencies/Bgpls_packets/bgpls.pcap" )
+time.sleep( 15 )
+pkts[ 759 ][ BGPOpen ].bgp_id = peerIp
 
-s.listen(5)                   # Now wait for client connection.
+s.listen( 5 )                   # Now wait for client connection.
 
-print("starting Connecting to ONOS peer")
+print( "starting Connecting to ONOS peer" )
 c, addr = s.accept()     # Establish connection with client.
 print 'Got connection from ONOS :', addr
-c.send(str(pkts[759][BGPHeader])) # OPEN MESSAGE
-c.recv(4096)
-c.send(str(pkts[765][BGPHeader]))# KEEPALIVE MESSAGE
-c.recv(4096)
-c.send(str(pkts[768][BGPHeader]))   # UPDATE MESSAGES
-c.send(str(pkts[771][BGPHeader]))
-c.send(str(pkts[773][BGPHeader]))
-c.send(str(pkts[775][BGPHeader]))
-c.send(str(pkts[778][BGPHeader]))
-c.send(str(pkts[765][BGPHeader]))
+c.send( str( pkts[ 759 ][ BGPHeader ] ) )  # OPEN MESSAGE
+c.recv( 4096 )
+c.send( str( pkts[ 765 ][ BGPHeader ] ) )  # KEEPALIVE MESSAGE
+c.recv( 4096 )
+c.send( str( pkts[ 768 ][ BGPHeader ] ) )   # UPDATE MESSAGES
+c.send( str( pkts[ 771 ][ BGPHeader ] ) )
+c.send( str( pkts[ 773 ][ BGPHeader ] ) )
+c.send( str( pkts[ 775 ][ BGPHeader ] ) )
+c.send( str( pkts[ 778 ][ BGPHeader ] ) )
+c.send( str( pkts[ 765 ][ BGPHeader ] ) )
 
 while True:
-    c.recv(4096)
-    c.send(str(pkts[765][BGPHeader]))
-
-  # c.close()                # Close the connection
+    c.recv( 4096 )
+    c.send( str( pkts[ 765 ][ BGPHeader ] ) )
+    # c.close()                # Close the connection
