Software Defined Networking
1753774 Members
7025 Online
108799 Solutions
New Discussion

extra link problem

 
samsom
Occasional Contributor

extra link problem

Hi

I simulated a network with the following topology in mininet.

from mininet.topo import Topo
from mininet.net import Mininet
from mininet.node import Node , Controller, RemoteController, OVSSwitch
from mininet.log import setLogLevel, info
from mininet.cli import CLI
from mininet.util import irange
from mininet.link import TCLink

c0=RemoteController( 'c0', ip='158.158.1.51:6633' )
class NetworkTopo( Topo ):

    def build( self ):


        h1 = self.addHost( 'h1', ip='10.10.2.1/24', defaultRoute='via 10.10.2.1' )
        h2 = self.addHost( 'h2', ip='10.10.2.2/24', defaultRoute='via 10.10.2.1' )
        h3 = self.addHost( 'h3', ip='10.10.2.3/24', defaultRoute='via 10.10.2.1' )
        h4 = self.addHost( 'h4', ip='10.10.2.4/24', defaultRoute='via 10.10.2.1' )

        s1 = self.addSwitch( 's1', dpid='0000000000000001',protocols='OpenFlow10' )
        s2 = self.addSwitch( 's2', dpid='0000000000000002',protocols='OpenFlow10' )

	self.addLink( s1, s2 )
	self.addLink( s2, s1 )

  
        self.addLink( s1, h1 )
        self.addLink( s1, h2 )
        self.addLink( s2, h3 ) 
        self.addLink( s2, h4 ) 

def run():
    topo = NetworkTopo()
    net = Mininet( topo=topo, controller=c0 )
    net.start()
    CLI( net )
    net.stop()


if __name__ == '__main__':
    setLogLevel( 'info' )

    run()

An extra link is seen between S2,H1 (attached screenshot) in controller while there is not in mininet terminal !!!

mininet> links
s1-eth3<->h1-eth0 (OK OK) 
s1-eth4<->h2-eth0 (OK OK) 
s1-eth1<->s2-eth1 (OK OK) 
s2-eth3<->h3-eth0 (OK OK) 
s2-eth4<->h4-eth0 (OK OK) 
s2-eth2<->s1-eth2 (OK OK) 
1 REPLY 1
ShaunWackerly
HPE Pro

Re: extra link problem

Hi samsom,

When a link is discovered between the VAN controller and an endpoint (H1 in this case), it means that the switch saw packets come in from the host's MAC address on a port that's not connected to another switch. From this, the VAN controller presumes that the host is directly connected.

In the topology, would you be able to enable to show the port numbers? You can add them to the topology by using OpenFlow Topology -> View -> Ports. That would give an indication of which port on S2 saw the packet from H1. If the port number on S2 is the same as the port number that connects to S1, then this would indicate a bug in the VAN controller that we'd need to address.

My assumption is that this would be cleared up by normal network operation: if H1 sent a ping to any other host, then S1 would see the traffic and identify the location of H1 as being connected to S1 (rather than S2). In your case, I'm assuming no traffic has been sent.

Shaun

I am an HPE Employee