docs: def add_links(network_id, links,**kwargs):
      '''
      add links to network
      '''
      start_time = datetime.datetime.now()
      user_id = kwargs.get('user_id')
      names=[]        # used to check uniqueness of link name before saving links to database
      for l_i in links:
          if l_i.name in names:
              raise HydraError("Duplicate Link Name: %s"%(l_i.name))
          names.append(l_i.name)
  
      try:
          net_i = db.DBSession.query(Network).filter(Network.id == network_id).one()
          net_i.check_write_permission(user_id)
      except NoResultFound:
          raise ResourceNotFoundError("Network %s not found"%(network_id))
      node_id_map=dict()
      for node in net_i.nodes:
         node_id_map[node.id]=node
      _add_links_to_database(net_i, links, node_id_map)
  
      net_i.project_id=net_i.project_id
      db.DBSession.flush()
      link_s =  db.DBSession.query(Link).filter(Link.network_id==network_id).all()
      iface_links = {}
      for l_i in link_s:
          iface_links[l_i.name] = l_i
      link_attrs = _bulk_add_resource_attrs(net_i.id, 'LINK', links, iface_links)
      log.info("Nodes added in %s", get_timing(start_time))
      return link_s