docs: def addLink(self, node1, node2, capacity, delay):
          '''
          Add a bidirectional link between node1 and node2 with the given
          capacity and delay to the topology.
          '''
          for n in (node1, node2):
              if not self.__nxgraph.has_node(n):
                  raise Exception("No node {} exists for building a link".format(n))
          macs = [None,None]
          if self.__auto_macs:
              for i in range(len(macs)):
                  macstr = '{:012x}'.format(self.__ifnum)
                  self.__ifnum += 1
                  macaddr = ':'.join([ macstr[j:(j+2)] for j in range(0,len(macstr),2)])
                  macs[i] = macaddr
          node1if = self.__nxgraph.node[node1]['nodeobj'].addInterface(ethaddr=macs[0])
          node2if = self.__nxgraph.node[node2]['nodeobj'].addInterface(ethaddr=macs[1])
          self.__nxgraph.add_edge(node1, node2)
          self.__nxgraph[node1][node2][node1] = node1if
          self.__nxgraph[node1][node2][node2] = node2if
          self.setLinkCharacteristics(node1, node2, capacity, delay)