Search Mailing List Archives

Limit search to: Subject & Body Subject Author
Sort by: Reverse Sort
Limit to: All This Week Last Week This Month Last Month
Select Date Range     through    

[mininet-discuss] Link creation fails

Marcos Vasco marcosvasco at
Wed Jan 9 17:35:17 PST 2013

Hi all,

I have been trying to reproduce the Hedera experiment, as seen in
everything I need step by step. When I try to start mininet
(CLI) with the topology provided, something wrong happens. Hosts can't seem
to ping eachother (connect: network is unreachable or pings go through but
their result is Destination host unreachable). When I take a closer look at
the links (using the 'net' command in the CLI) I see a mismatch in the link

0_0_1 lo:  0_0_1-eth1:0_2_1-eth2 0_0_1-eth2:0_3_1-eth2 0_0_1-eth4:0_0_3-eth0

0_3_1 lo:  0_3_1-eth1:4_2_1-eth1 0_3_1-eth2:0_0_1-eth2
0_3_1-eth3:4_2_2-eth1 0_3_1-eth4:0_1_1-eth2
0_0_2 0_0_2-eth0:0_0_1-eth2
0_0_3 0_0_3-eth0:0_0_1-eth4

as you can see, the link is correct for 0_0_3 but not for 0_0_2. You can
see how the interfaces are connected for 0_0_1, however when mininet is
starting I can see this in *** Adding links:

(10.00Mbit) (10.00Mbit) (0_0_1, 0_0_2) (10.00Mbit) (10.00Mbit) (0_0_1,
0_0_3) (10.00Mbit) (10.00Mbit) (0_0_1, 0_2_1) (10.00Mbit) (10.00Mbit)
(0_0_1, 0_3_1)

the link for (0_0_1, 0_0_2) is being created but somehow it is lost. I also
find it odd that the interfaces for switch 0_0_1 are numbered 1, 2, 4
(eth1, eth2, eth4).

I checked the python code to create this topology and found no errors, and
the code was not made by me, but by Brandon Heller, as said in the .py file
I'm using, so I doubt there is something wrong with the code, however, I'll
provide you with the part used to create the links so you can check if I'm
correct on this

        for p in [0, 1, 2, 3]:
            for e in [0, 1]:
                edge_id = self.id_gen(p, e, 1).name_str() ***the string
returned is p_e_1***
                edge_opts = self.def_nopts(self.LAYER_EDGE, edge_id)
                self.addSwitch(edge_id, **edge_opts)

                for h in [2, 3]:
                    host_id = self.id_gen(p, e, h).name_str()
                    host_opts = self.def_nopts(self.LAYER_HOST, host_id)
                    self.addHost(host_id, **host_opts)
                    self.addLink(edge_id, host_id)

                for a in [2, 3]:
                    agg_id = self.id_gen(p, a, 1).name_str()
                    agg_opts = self.def_nopts(self.LAYER_AGG, agg_id)
                    self.addSwitch(agg_id, **agg_opts)
                    self.addLink(edge_id, agg_id)

            for a in [2, 3]:
                agg_id = self.id_gen(p, a, 1).name_str()
                c_index = a - 4 / 2 + 1
                for c in [1, 2]:
                    core_id = self.id_gen(4, c_index, c).name_str()
                    core_opts = self.def_nopts(self.LAYER_CORE, core_id)
                    self.addSwitch(core_id, **core_opts)
                    self.addLink(agg_id, core_id)

**I changed a few things to make it more understandable**

I don't know if I'm missing something obvious (it happens sometimes), or
something not so obvious, but please help me.

Thank you very much,
Marcos Vasco
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the mininet-discuss mailing list