+
+ /**
+ * @brief Add a route between 2 netpoints
+ *
+ * Create a regular route between 2 netpoints. A netpoint can be a host
+ * or a router.
+ *
+ * @param src Source netpoint
+ * @param dst Destination netpoint
+ * @param link_list List of links used in this communication
+ * @param symmetrical Bi-directional communication
+ */
+ void add_regular_route(kernel::routing::NetPoint* src, kernel::routing::NetPoint* dst,
+ const std::vector<Link*>& link_list, bool symmetrical = true);
+ /**
+ * @brief Add a route between 2 netzones
+ *
+ * Create a route between 2 netzones, connecting 2 gateways.
+ *
+ * @param src Source netzone's netpoint
+ * @param dst Destination netzone' netpoint
+ * @param src_gw Netpoint of the gateway in the source netzone
+ * @param dst_gw Netpoint of the gateway in the destination netzone
+ * @param link_list List of links used in this communication
+ * @param symmetrical Bi-directional communication
+ */
+ void add_netzone_route(kernel::routing::NetPoint* src, kernel::routing::NetPoint* dst,
+ kernel::routing::NetPoint* gw_src, kernel::routing::NetPoint* gw_dst,
+ const std::vector<Link*>& link_list, bool symmetrical = true);
+