A method performed by a controller (111, 200, 603) configured to implement Border Gateway Protocol, BGP, in a communications system (100, 400, 600), comprising: establishing a controller BGP, cBGP, session with a network element, NE; receiving a message for communication through the cBGP session to the NE; determining whether the message is permitted to be communicated through the cBGP session based on whether the message carries routing information; transmitting the message to the NE through the cBGP session if the message is permitted to be communicated through the cBGP session; and receiving a response message of a first type from the NE through the cBGP session; the method being characterized in that the first type of message is permitted to be communicated through the cBGP session and a second type of message is prohibited from being communicated through the cBGP session, wherein the first type of message is a message carrying instructions, whereas the second type of message is a message carrying the routing information; and wherein the controller (111, 200, 603) and the NE are included in a common autonomous system, AS, and the method further comprises: establishing an interior BGP, iBGP, session with the NE, wherein the iBGP session is separate and distinct from the cBGP session; and determining whether a second message received from the NE includes the routing information based on a format of the second message; or the controller (111, 200, 603) is included in a first autonomous system, AS, whereas the NE is included in a second AS different from the first AS, and the method further comprises: establishing an exterior BGP, eBGP, session with the NE, wherein the eBGP session is separate and distinct from the cBGP session; and determining whether the second message received from the NE includes the routing information based on the format of the second message. establishing a controller BGP, cBGP, session with a network element, NE; receiving a message for communication through the cBGP session to the NE; determining whether the message is permitted to be communicated through the cBGP session based on whether the message carries routing information; transmitting the message to the NE through the cBGP session if the message is permitted to be communicated through the cBGP session; and receiving a response message of a first type from the NE through the cBGP session; the method being characterized in that the first type of message is permitted to be communicated through the cBGP session and a second type of message is prohibited from being communicated through the cBGP session, wherein the first type of message is a message carrying instructions, whereas the second type of message is a message carrying the routing information; and wherein the controller (111, 200, 603) and the NE are included in a common autonomous system, AS, and the method further comprises: establishing an interior BGP, iBGP, session with the NE, wherein the iBGP session is separate and distinct from the cBGP session; and determining whether a second message received from the NE includes the routing information based on a format of the second message; or the controller (111, 200, 603) is included in a first autonomous system, AS, whereas the NE is included in a second AS different from the first AS, and the method further comprises: establishing an exterior BGP, eBGP, session with the NE, wherein the eBGP session is separate and distinct from the cBGP session; and determining whether the second message received from the NE includes the routing information based on the format of the second message.