XBT_PUBLIC(void ) ETag_surfxml_trace(void);
XBT_PUBLIC(void ) STag_surfxml_random(void);
XBT_PUBLIC(void ) ETag_surfxml_random(void);
-XBT_PUBLIC(void ) STag_surfxml_trace___connect(void);
-XBT_PUBLIC(void ) ETag_surfxml_trace___connect(void);
+XBT_PUBLIC(void ) STag_surfxml_trace_connect(void);
+XBT_PUBLIC(void ) ETag_surfxml_trace_connect(void);
XBT_PUBLIC(void ) STag_surfxml_AS(void);
XBT_PUBLIC(void ) ETag_surfxml_AS(void);
-XBT_PUBLIC(void ) STag_surfxml_storage___type(void);
-XBT_PUBLIC(void ) ETag_surfxml_storage___type(void);
+XBT_PUBLIC(void ) STag_surfxml_storage_type(void);
+XBT_PUBLIC(void ) ETag_surfxml_storage_type(void);
XBT_PUBLIC(void ) STag_surfxml_storage(void);
XBT_PUBLIC(void ) ETag_surfxml_storage(void);
XBT_PUBLIC(void ) STag_surfxml_mount(void);
XBT_PUBLIC(void ) ETag_surfxml_host(void);
XBT_PUBLIC(void ) STag_surfxml_gpu(void);
XBT_PUBLIC(void ) ETag_surfxml_gpu(void);
-XBT_PUBLIC(void ) STag_surfxml_host___link(void);
-XBT_PUBLIC(void ) ETag_surfxml_host___link(void);
+XBT_PUBLIC(void ) STag_surfxml_host_link(void);
+XBT_PUBLIC(void ) ETag_surfxml_host_link(void);
XBT_PUBLIC(void ) STag_surfxml_cluster(void);
XBT_PUBLIC(void ) ETag_surfxml_cluster(void);
XBT_PUBLIC(void ) STag_surfxml_cabinet(void);
XBT_PUBLIC(void ) ETag_surfxml_route(void);
XBT_PUBLIC(void ) STag_surfxml_ASroute(void);
XBT_PUBLIC(void ) ETag_surfxml_ASroute(void);
-XBT_PUBLIC(void ) STag_surfxml_link___ctn(void);
-XBT_PUBLIC(void ) ETag_surfxml_link___ctn(void);
+XBT_PUBLIC(void ) STag_surfxml_link_ctn(void);
+XBT_PUBLIC(void ) ETag_surfxml_link_ctn(void);
XBT_PUBLIC(void ) STag_surfxml_bypassRoute(void);
XBT_PUBLIC(void ) ETag_surfxml_bypassRoute(void);
XBT_PUBLIC(void ) STag_surfxml_bypassASroute(void);
typedef int AT_surfxml_mount_name;
#define AU_surfxml_mount_name NULL
typedef enum { AU_surfxml_random_generator, A_surfxml_random_generator_DRAND48,A_surfxml_random_generator_RAND,A_surfxml_random_generator_RNGSTREAM,A_surfxml_random_generator_NONE } AT_surfxml_random_generator;
-typedef int AT_surfxml_ASroute_gw___dst;
-#define AU_surfxml_ASroute_gw___dst NULL
-typedef int AT_surfxml_trace___connect_element;
-#define AU_surfxml_trace___connect_element NULL
+typedef int AT_surfxml_ASroute_gw_dst;
+#define AU_surfxml_ASroute_gw_dst NULL
+typedef int AT_surfxml_trace_connect_element;
+#define AU_surfxml_trace_connect_element NULL
typedef int AT_surfxml_prop_id;
#define AU_surfxml_prop_id NULL
-typedef int AT_surfxml_host___link_up;
-#define AU_surfxml_host___link_up NULL
+typedef int AT_surfxml_host_link_up;
+#define AU_surfxml_host_link_up NULL
typedef int AT_surfxml_host_id;
#define AU_surfxml_host_id NULL
typedef enum { AU_surfxml_ASroute_symmetrical, A_surfxml_ASroute_symmetrical_YES,A_surfxml_ASroute_symmetrical_NO } AT_surfxml_ASroute_symmetrical;
typedef int AT_surfxml_peer_lat;
#define AU_surfxml_peer_lat NULL
-typedef enum { AU_surfxml_process_on___failure, A_surfxml_process_on___failure_DIE,A_surfxml_process_on___failure_RESTART } AT_surfxml_process_on___failure;
-typedef int AT_surfxml_link_latency___file;
-#define AU_surfxml_link_latency___file NULL
-typedef int AT_surfxml_peer_availability___file;
-#define AU_surfxml_peer_availability___file NULL
-typedef enum { AU_surfxml_link___ctn_direction, A_surfxml_link___ctn_direction_UP,A_surfxml_link___ctn_direction_DOWN,A_surfxml_link___ctn_direction_NONE } AT_surfxml_link___ctn_direction;
+typedef enum { AU_surfxml_process_on_failure, A_surfxml_process_on_failure_DIE,A_surfxml_process_on_failure_RESTART } AT_surfxml_process_on_failure;
+typedef int AT_surfxml_link_latency_file;
+#define AU_surfxml_link_latency_file NULL
+typedef int AT_surfxml_peer_availability_file;
+#define AU_surfxml_peer_availability_file NULL
+typedef enum { AU_surfxml_link_ctn_direction, A_surfxml_link_ctn_direction_UP,A_surfxml_link_ctn_direction_DOWN,A_surfxml_link_ctn_direction_NONE } AT_surfxml_link_ctn_direction;
typedef enum { AU_surfxml_host_state, A_surfxml_host_state_ON,A_surfxml_host_state_OFF } AT_surfxml_host_state;
typedef int AT_surfxml_AS_id;
#define AU_surfxml_AS_id NULL
#define AU_surfxml_gpu_name NULL
typedef int AT_surfxml_router_id;
#define AU_surfxml_router_id NULL
-typedef int AT_surfxml_storage___type_id;
-#define AU_surfxml_storage___type_id NULL
-typedef int AT_surfxml_process_start___time;
-#define AU_surfxml_process_start___time NULL
+typedef int AT_surfxml_storage_type_id;
+#define AU_surfxml_storage_type_id NULL
+typedef int AT_surfxml_process_start_time;
+#define AU_surfxml_process_start_time NULL
typedef int AT_surfxml_cabinet_bw;
#define AU_surfxml_cabinet_bw NULL
typedef int AT_surfxml_cluster_suffix;
#define AU_surfxml_cluster_suffix NULL
typedef int AT_surfxml_bypassASroute_dst;
#define AU_surfxml_bypassASroute_dst NULL
-typedef int AT_surfxml_host___link_id;
-#define AU_surfxml_host___link_id NULL
+typedef int AT_surfxml_host_link_id;
+#define AU_surfxml_host_link_id NULL
typedef int AT_surfxml_ASroute_src;
#define AU_surfxml_ASroute_src NULL
typedef int AT_surfxml_cluster_prefix;
#define AU_surfxml_cabinet_prefix NULL
typedef int AT_surfxml_trace_file;
#define AU_surfxml_trace_file NULL
-typedef enum { AU_surfxml_link_sharing___policy, A_surfxml_link_sharing___policy_SHARED,A_surfxml_link_sharing___policy_FATPIPE,A_surfxml_link_sharing___policy_FULLDUPLEX } AT_surfxml_link_sharing___policy;
+typedef enum { AU_surfxml_link_sharing_policy, A_surfxml_link_sharing_policy_SHARED,A_surfxml_link_sharing_policy_FATPIPE,A_surfxml_link_sharing_policy_FULLDUPLEX } AT_surfxml_link_sharing_policy;
typedef int AT_surfxml_storage_typeId;
#define AU_surfxml_storage_typeId NULL
typedef int AT_surfxml_random_min;
#define AU_surfxml_random_min NULL
-typedef int AT_surfxml_link___ctn_id;
-#define AU_surfxml_link___ctn_id NULL
-typedef int AT_surfxml_peer_bw___out;
-#define AU_surfxml_peer_bw___out NULL
-typedef int AT_surfxml_cluster_availability___file;
-#define AU_surfxml_cluster_availability___file NULL
+typedef int AT_surfxml_link_ctn_id;
+#define AU_surfxml_link_ctn_id NULL
+typedef int AT_surfxml_peer_bw_out;
+#define AU_surfxml_peer_bw_out NULL
+typedef int AT_surfxml_cluster_availability_file;
+#define AU_surfxml_cluster_availability_file NULL
typedef int AT_surfxml_storage_content;
#define AU_surfxml_storage_content NULL
-typedef int AT_surfxml_process_kill___time;
-#define AU_surfxml_process_kill___time NULL
-typedef int AT_surfxml_cluster_bb___bw;
-#define AU_surfxml_cluster_bb___bw NULL
+typedef int AT_surfxml_process_kill_time;
+#define AU_surfxml_process_kill_time NULL
+typedef int AT_surfxml_cluster_bb_bw;
+#define AU_surfxml_cluster_bb_bw NULL
typedef int AT_surfxml_argument_value;
#define AU_surfxml_argument_value NULL
typedef enum { AU_surfxml_link_state, A_surfxml_link_state_ON,A_surfxml_link_state_OFF } AT_surfxml_link_state;
-typedef int AT_surfxml_ASroute_gw___src;
-#define AU_surfxml_ASroute_gw___src NULL
+typedef int AT_surfxml_ASroute_gw_src;
+#define AU_surfxml_ASroute_gw_src NULL
typedef enum { AU_surfxml_AS_routing, A_surfxml_AS_routing_Full,A_surfxml_AS_routing_Floyd,A_surfxml_AS_routing_Dijkstra,A_surfxml_AS_routing_DijkstraCache,A_surfxml_AS_routing_None,A_surfxml_AS_routing_RuleBased,A_surfxml_AS_routing_Vivaldi,A_surfxml_AS_routing_Cluster } AT_surfxml_AS_routing;
typedef int AT_surfxml_link_bandwidth;
#define AU_surfxml_link_bandwidth NULL
typedef int AT_surfxml_cluster_id;
#define AU_surfxml_cluster_id NULL
-typedef int AT_surfxml_peer_bw___in;
-#define AU_surfxml_peer_bw___in NULL
+typedef int AT_surfxml_peer_bw_in;
+#define AU_surfxml_peer_bw_in NULL
typedef int AT_surfxml_random_mean;
#define AU_surfxml_random_mean NULL
-typedef int AT_surfxml_storage___type_size;
-#define AU_surfxml_storage___type_size NULL
-typedef int AT_surfxml_cluster_bb___lat;
-#define AU_surfxml_cluster_bb___lat NULL
+typedef int AT_surfxml_storage_type_size;
+#define AU_surfxml_storage_type_size NULL
+typedef int AT_surfxml_cluster_bb_lat;
+#define AU_surfxml_cluster_bb_lat NULL
typedef int AT_surfxml_link_latency;
#define AU_surfxml_link_latency NULL
typedef int AT_surfxml_backbone_bandwidth;
#define AU_surfxml_backbone_bandwidth NULL
typedef int AT_surfxml_backbone_id;
#define AU_surfxml_backbone_id NULL
-typedef enum { AU_surfxml_trace___connect_kind, A_surfxml_trace___connect_kind_HOST___AVAIL,A_surfxml_trace___connect_kind_POWER,A_surfxml_trace___connect_kind_LINK___AVAIL,A_surfxml_trace___connect_kind_BANDWIDTH,A_surfxml_trace___connect_kind_LATENCY } AT_surfxml_trace___connect_kind;
+typedef enum { AU_surfxml_trace_connect_kind, A_surfxml_trace_connect_kind_HOST_AVAIL,A_surfxml_trace_connect_kind_POWER,A_surfxml_trace_connect_kind_LINK_AVAIL,A_surfxml_trace_connect_kind_BANDWIDTH,A_surfxml_trace_connect_kind_LATENCY } AT_surfxml_trace_connect_kind;
typedef int AT_surfxml_cabinet_lat;
#define AU_surfxml_cabinet_lat NULL
typedef int AT_surfxml_random_seed;
#define AU_surfxml_random_seed NULL
-typedef int AT_surfxml_cluster_state___file;
-#define AU_surfxml_cluster_state___file NULL
-typedef int AT_surfxml_link_bandwidth___file;
-#define AU_surfxml_link_bandwidth___file NULL
-typedef int AT_surfxml_storage___type_content;
-#define AU_surfxml_storage___type_content NULL
+typedef int AT_surfxml_cluster_state_file;
+#define AU_surfxml_cluster_state_file NULL
+typedef int AT_surfxml_link_bandwidth_file;
+#define AU_surfxml_link_bandwidth_file NULL
+typedef int AT_surfxml_storage_type_content;
+#define AU_surfxml_storage_type_content NULL
typedef enum { AU_surfxml_route_symmetrical, A_surfxml_route_symmetrical_YES,A_surfxml_route_symmetrical_NO } AT_surfxml_route_symmetrical;
typedef int AT_surfxml_random_id;
#define AU_surfxml_random_id NULL
#define AU_surfxml_process_host NULL
typedef int AT_surfxml_cabinet_id;
#define AU_surfxml_cabinet_id NULL
-typedef int AT_surfxml_host_availability___file;
-#define AU_surfxml_host_availability___file NULL
+typedef int AT_surfxml_host_availability_file;
+#define AU_surfxml_host_availability_file NULL
typedef int AT_surfxml_cluster_lat;
#define AU_surfxml_cluster_lat NULL
typedef int AT_surfxml_router_coordinates;
#define AU_surfxml_router_coordinates NULL
typedef int AT_surfxml_trace_periodicity;
#define AU_surfxml_trace_periodicity NULL
-typedef enum { AU_surfxml_cluster_bb___sharing___policy, A_surfxml_cluster_bb___sharing___policy_SHARED,A_surfxml_cluster_bb___sharing___policy_FATPIPE } AT_surfxml_cluster_bb___sharing___policy;
-typedef int AT_surfxml_peer_state___file;
-#define AU_surfxml_peer_state___file NULL
+typedef enum { AU_surfxml_cluster_bb_sharing_policy, A_surfxml_cluster_bb_sharing_policy_SHARED,A_surfxml_cluster_bb_sharing_policy_FATPIPE } AT_surfxml_cluster_bb_sharing_policy;
+typedef int AT_surfxml_peer_state_file;
+#define AU_surfxml_peer_state_file NULL
typedef int AT_surfxml_peer_coordinates;
#define AU_surfxml_peer_coordinates NULL
typedef int AT_surfxml_bypassASroute_src;
#define AU_surfxml_mstorage_typeId NULL
typedef int AT_surfxml_ASroute_dst;
#define AU_surfxml_ASroute_dst NULL
-typedef int AT_surfxml_link_state___file;
-#define AU_surfxml_link_state___file NULL
+typedef int AT_surfxml_link_state_file;
+#define AU_surfxml_link_state_file NULL
typedef int AT_surfxml_random_radical;
#define AU_surfxml_random_radical NULL
-typedef int AT_surfxml_bypassASroute_gw___src;
-#define AU_surfxml_bypassASroute_gw___src NULL
-typedef int AT_surfxml_trace___connect_trace;
-#define AU_surfxml_trace___connect_trace NULL
+typedef int AT_surfxml_bypassASroute_gw_src;
+#define AU_surfxml_bypassASroute_gw_src NULL
+typedef int AT_surfxml_trace_connect_trace;
+#define AU_surfxml_trace_connect_trace NULL
typedef int AT_surfxml_mount_id;
#define AU_surfxml_mount_id NULL
typedef int AT_surfxml_cluster_power;
#define AU_surfxml_process_function NULL
typedef int AT_surfxml_peer_id;
#define AU_surfxml_peer_id NULL
-typedef int AT_surfxml_cluster_router___id;
-#define AU_surfxml_cluster_router___id NULL
+typedef int AT_surfxml_cluster_router_id;
+#define AU_surfxml_cluster_router_id NULL
typedef int AT_surfxml_cabinet_radical;
#define AU_surfxml_cabinet_radical NULL
-typedef enum { AU_surfxml_cluster_sharing___policy, A_surfxml_cluster_sharing___policy_SHARED,A_surfxml_cluster_sharing___policy_FULLDUPLEX,A_surfxml_cluster_sharing___policy_FATPIPE } AT_surfxml_cluster_sharing___policy;
+typedef enum { AU_surfxml_cluster_sharing_policy, A_surfxml_cluster_sharing_policy_SHARED,A_surfxml_cluster_sharing_policy_FULLDUPLEX,A_surfxml_cluster_sharing_policy_FATPIPE } AT_surfxml_cluster_sharing_policy;
typedef int AT_surfxml_bypassRoute_dst;
#define AU_surfxml_bypassRoute_dst NULL
typedef int AT_surfxml_cabinet_power;
#define AU_surfxml_cabinet_power NULL
typedef int AT_surfxml_host_core;
#define AU_surfxml_host_core NULL
-typedef int AT_surfxml_storage___type_model;
-#define AU_surfxml_storage___type_model NULL
+typedef int AT_surfxml_storage_type_model;
+#define AU_surfxml_storage_type_model NULL
typedef int AT_surfxml_host_availability;
#define AU_surfxml_host_availability NULL
typedef int AT_surfxml_bypassRoute_src;
#define AU_surfxml_cluster_radical NULL
typedef int AT_surfxml_config_id;
#define AU_surfxml_config_id NULL
-typedef int AT_surfxml_bypassASroute_gw___dst;
-#define AU_surfxml_bypassASroute_gw___dst NULL
-typedef int AT_surfxml_host___link_down;
-#define AU_surfxml_host___link_down NULL
+typedef int AT_surfxml_bypassASroute_gw_dst;
+#define AU_surfxml_bypassASroute_gw_dst NULL
+typedef int AT_surfxml_host_link_down;
+#define AU_surfxml_host_link_down NULL
typedef int AT_surfxml_include_file;
#define AU_surfxml_include_file NULL
-typedef int AT_surfxml_random_std___deviation;
-#define AU_surfxml_random_std___deviation NULL
+typedef int AT_surfxml_random_std_deviation;
+#define AU_surfxml_random_std_deviation NULL
typedef int AT_surfxml_cluster_core;
#define AU_surfxml_cluster_core NULL
-typedef int AT_surfxml_host_state___file;
-#define AU_surfxml_host_state___file NULL
+typedef int AT_surfxml_host_state_file;
+#define AU_surfxml_host_state_file NULL
typedef int AT_surfxml_route_dst;
#define AU_surfxml_route_dst NULL
typedef int AT_surfxml_cluster_bw;
#define AU_graphxml_node_name NULL
typedef int AT_graphxml_edge_source;
#define AU_graphxml_edge_source NULL
-typedef int AT_graphxml_node_position___y;
-#define AU_graphxml_node_position___y NULL
-typedef int AT_graphxml_node_position___x;
-#define AU_graphxml_node_position___x NULL
+typedef int AT_graphxml_node_position_y;
+#define AU_graphxml_node_position_y NULL
+typedef int AT_graphxml_node_position_x;
+#define AU_graphxml_node_position_x NULL
typedef int AT_graphxml_edge_data;
#define AU_graphxml_edge_data NULL
typedef int AT_graphxml_edge_target;
--- /dev/null
+/* Copyright (c) 2010. The SimGrid Team.
+ * All rights reserved. */
+
+/* This program is free software; you can redistribute it and/or modify it
+ * under the terms of the license (GNU LGPL) which comes with this package. */
+
+#include "instr/instr_private.h"
+#include "mc/mc.h"
+
+#ifdef HAVE_TRACING
+
+XBT_LOG_NEW_DEFAULT_SUBCATEGORY (instr_msg_process, instr, "MSG process");
+
+char *instr_process_id (msg_process_t proc, char *str, int len)
+{
+ return instr_process_id_2 (proc->name, proc->pid, str, len);//MSG_process_get_name(proc), MSG_process_get_PID(proc), str, len);
+}
+
+char *instr_process_id_2 (const char *process_name, int process_pid, char *str, int len)
+{
+ snprintf (str, len, "%s-%d", process_name, process_pid);
+ return str;
+}
+
+/*
+ * Instrumentation functions to trace MSG processes (msg_process_t)
+ */
+void TRACE_msg_process_change_host(msg_process_t process, msg_host_t old_host, msg_host_t new_host)
+{
+ if (TRACE_msg_process_is_enabled()){
+ static long long int counter = 0;
+
+ if(MC_is_active())
+ MC_ignore_data_bss(&counter, sizeof(counter));
+
+ char key[INSTR_DEFAULT_STR_SIZE];
+ snprintf (key, INSTR_DEFAULT_STR_SIZE, "%lld", counter++);
+
+ int len = INSTR_DEFAULT_STR_SIZE;
+ char str[INSTR_DEFAULT_STR_SIZE];
+
+ //start link
+ container_t msg = PJ_container_get (instr_process_id(process, str, len));
+ type_t type = PJ_type_get ("MSG_PROCESS_LINK", PJ_type_get_root());
+ new_pajeStartLink (MSG_get_clock(), PJ_container_get_root(), type, msg, "M", key);
+
+ //destroy existing container of this process
+ TRACE_msg_process_destroy (MSG_process_get_name (process), MSG_process_get_PID (process), old_host);
+
+ //create new container on the new_host location
+ TRACE_msg_process_create (MSG_process_get_name (process), MSG_process_get_PID (process), new_host);
+
+ //end link
+ msg = PJ_container_get(instr_process_id(process, str, len));
+ type = PJ_type_get ("MSG_PROCESS_LINK", PJ_type_get_root());
+ new_pajeEndLink (MSG_get_clock(), PJ_container_get_root(), type, msg, "M", key);
+ }
+}
+
+void TRACE_msg_process_create (const char *process_name, int process_pid, msg_host_t host)
+{
+ if (TRACE_msg_process_is_enabled()){
+ int len = INSTR_DEFAULT_STR_SIZE;
+ char str[INSTR_DEFAULT_STR_SIZE];
+
+ container_t host_container = PJ_container_get (SIMIX_host_get_name(host->smx_host));
+ PJ_container_new(instr_process_id_2(process_name, process_pid, str, len), INSTR_MSG_PROCESS, host_container);
+ }
+}
+
+void TRACE_msg_process_destroy (const char *process_name, int process_pid, msg_host_t host)
+{
+ int len = INSTR_DEFAULT_STR_SIZE;
+ char str[INSTR_DEFAULT_STR_SIZE];
+
+ container_t process = PJ_container_get (instr_process_id_2 (process_name, process_pid, str, len));
+ PJ_container_remove_from_parent (process);
+ PJ_container_free (process);
+}
+
+void TRACE_msg_process_kill(msg_process_t process)
+{
+ if (TRACE_msg_process_is_enabled()){
+ //kill means that this process no longer exists, let's destroy it
+ TRACE_msg_process_destroy (MSG_process_get_name (process), MSG_process_get_PID (process), MSG_process_get_host (process));
+ }
+}
+
+void TRACE_msg_process_suspend(msg_process_t process)
+{
+ if (TRACE_msg_process_is_enabled()){
+ int len = INSTR_DEFAULT_STR_SIZE;
+ char str[INSTR_DEFAULT_STR_SIZE];
+
+ container_t process_container = PJ_container_get (instr_process_id(process, str, len));
+ type_t type = PJ_type_get ("MSG_PROCESS_STATE", process_container->type);
+ val_t value = PJ_value_get ("suspend", type);
+ new_pajePushState (MSG_get_clock(), process_container, type, value);
+ }
+}
+
+void TRACE_msg_process_resume(msg_process_t process)
+{
+ if (TRACE_msg_process_is_enabled()){
+ int len = INSTR_DEFAULT_STR_SIZE;
+ char str[INSTR_DEFAULT_STR_SIZE];
+
+ container_t process_container = PJ_container_get (instr_process_id(process, str, len));
+ type_t type = PJ_type_get ("MSG_PROCESS_STATE", process_container->type);
+ new_pajePopState (MSG_get_clock(), process_container, type);
+ }
+}
+
+void TRACE_msg_process_sleep_in(msg_process_t process)
+{
+ if (TRACE_msg_process_is_enabled()){
+ int len = INSTR_DEFAULT_STR_SIZE;
+ char str[INSTR_DEFAULT_STR_SIZE];
+
+ container_t process_container = PJ_container_get (instr_process_id(process, str, len));
+ type_t type = PJ_type_get ("MSG_PROCESS_STATE", process_container->type);
+ val_t value = PJ_value_get ("sleep", type);
+ new_pajePushState (MSG_get_clock(), process_container, type, value);
+ }
+}
+
+void TRACE_msg_process_sleep_out(msg_process_t process)
+{
+ if (TRACE_msg_process_is_enabled()){
+ int len = INSTR_DEFAULT_STR_SIZE;
+ char str[INSTR_DEFAULT_STR_SIZE];
+
+ container_t process_container = PJ_container_get (instr_process_id(process, str, len));
+ type_t type = PJ_type_get ("MSG_PROCESS_STATE", process_container->type);
+ new_pajePopState (MSG_get_clock(), process_container, type);
+ }
+}
+
+void TRACE_msg_process_end(msg_process_t process)
+{
+ if (TRACE_msg_process_is_enabled()) {
+ int len = INSTR_DEFAULT_STR_SIZE;
+ char str[INSTR_DEFAULT_STR_SIZE];
+
+ //that's the end, let's destroy it
+ container_t container = PJ_container_get (instr_process_id(process, str, len));
+ PJ_container_remove_from_parent (container);
+ PJ_container_free (container);
+ }
+}
+
+#endif /* HAVE_TRACING */
--- /dev/null
+/* Copyright (c) 2010. The SimGrid Team.
+ * All rights reserved. */
+
+/* This program is free software; you can redistribute it and/or modify it
+ * under the terms of the license (GNU LGPL) which comes with this package. */
+
+#include "instr/instr_private.h"
+#include "mc/mc.h"
+
+#ifdef HAVE_TRACING
+
+XBT_LOG_NEW_DEFAULT_SUBCATEGORY (instr_msg, instr, "MSG");
+
+void TRACE_msg_set_task_category(msg_task_t task, const char *category)
+{
+ xbt_assert(task->category == NULL, "Task %p(%s) already has a category (%s).",
+ task, task->name, task->category);
+
+ //if user provides a NULL category, task is no longer traced
+ if (category == NULL) {
+ xbt_free (task->category);
+ task->category = NULL;
+ XBT_DEBUG("MSG task %p(%s), category removed", task, task->name);
+ return;
+ }
+
+ //set task category
+ task->category = xbt_strdup (category);
+ XBT_DEBUG("MSG task %p(%s), category %s", task, task->name, task->category);
+}
+
+/* MSG_task_create related function*/
+void TRACE_msg_task_create(msg_task_t task)
+{
+ static long long counter = 0;
+ task->counter = counter++;
+ task->category = NULL;
+
+ if(MC_is_active()){
+ MC_ignore_data_bss(&counter, sizeof(counter));
+ MC_ignore_heap(&(task->counter), sizeof(task->counter));
+ }
+
+ XBT_DEBUG("CREATE %p, %lld", task, task->counter);
+}
+
+/* MSG_task_execute related functions */
+void TRACE_msg_task_execute_start(msg_task_t task)
+{
+ XBT_DEBUG("EXEC,in %p, %lld, %s", task, task->counter, task->category);
+
+ if (TRACE_msg_process_is_enabled()){
+ int len = INSTR_DEFAULT_STR_SIZE;
+ char str[INSTR_DEFAULT_STR_SIZE];
+
+ container_t process_container = PJ_container_get (instr_process_id(MSG_process_self(), str, len));
+ type_t type = PJ_type_get ("MSG_PROCESS_STATE", process_container->type);
+ val_t value = PJ_value_get ("task_execute", type);
+ new_pajePushState (MSG_get_clock(), process_container, type, value);
+ }
+}
+
+void TRACE_msg_task_execute_end(msg_task_t task)
+{
+ XBT_DEBUG("EXEC,out %p, %lld, %s", task, task->counter, task->category);
+
+ if (TRACE_msg_process_is_enabled()){
+ int len = INSTR_DEFAULT_STR_SIZE;
+ char str[INSTR_DEFAULT_STR_SIZE];
+
+ container_t process_container = PJ_container_get (instr_process_id(MSG_process_self(), str, len));
+ type_t type = PJ_type_get ("MSG_PROCESS_STATE", process_container->type);
+ new_pajePopState (MSG_get_clock(), process_container, type);
+ }
+}
+
+/* MSG_task_destroy related functions */
+void TRACE_msg_task_destroy(msg_task_t task)
+{
+ XBT_DEBUG("DESTROY %p, %lld, %s", task, task->counter, task->category);
+
+ //free category
+ xbt_free(task->category);
+ task->category = NULL;
+ return;
+}
+
+/* MSG_task_get related functions */
+void TRACE_msg_task_get_start(void)
+{
+ XBT_DEBUG("GET,in");
+
+ if (TRACE_msg_process_is_enabled()){
+ int len = INSTR_DEFAULT_STR_SIZE;
+ char str[INSTR_DEFAULT_STR_SIZE];
+
+ container_t process_container = PJ_container_get (instr_process_id(MSG_process_self(), str, len));
+ type_t type = PJ_type_get ("MSG_PROCESS_STATE", process_container->type);
+ val_t value = PJ_value_get ("receive", type);
+ new_pajePushState (MSG_get_clock(), process_container, type, value);
+ }
+}
+
+void TRACE_msg_task_get_end(double start_time, msg_task_t task)
+{
+ XBT_DEBUG("GET,out %p, %lld, %s", task, task->counter, task->category);
+
+ if (TRACE_msg_process_is_enabled()){
+ int len = INSTR_DEFAULT_STR_SIZE;
+ char str[INSTR_DEFAULT_STR_SIZE];
+
+ container_t process_container = PJ_container_get (instr_process_id(MSG_process_self(), str, len));
+ type_t type = PJ_type_get ("MSG_PROCESS_STATE", process_container->type);
+ new_pajePopState (MSG_get_clock(), process_container, type);
+
+ char key[INSTR_DEFAULT_STR_SIZE];
+ snprintf (key, INSTR_DEFAULT_STR_SIZE, "p%lld", task->counter);
+ type = PJ_type_get ("MSG_PROCESS_TASK_LINK", PJ_type_get_root());
+ new_pajeEndLink(MSG_get_clock(), PJ_container_get_root(), type, process_container, "SR", key);
+ }
+}
+
+/* MSG_task_put related functions */
+int TRACE_msg_task_put_start(msg_task_t task)
+{
+ XBT_DEBUG("PUT,in %p, %lld, %s", task, task->counter, task->category);
+
+ if (TRACE_msg_process_is_enabled()){
+ int len = INSTR_DEFAULT_STR_SIZE;
+ char str[INSTR_DEFAULT_STR_SIZE];
+
+ container_t process_container = PJ_container_get (instr_process_id(MSG_process_self(), str, len));
+ type_t type = PJ_type_get ("MSG_PROCESS_STATE", process_container->type);
+ val_t value = PJ_value_get ("send", type);
+ new_pajePushState (MSG_get_clock(), process_container, type, value);
+
+ char key[INSTR_DEFAULT_STR_SIZE];
+ snprintf (key, INSTR_DEFAULT_STR_SIZE, "p%lld", task->counter);
+ type = PJ_type_get ("MSG_PROCESS_TASK_LINK", PJ_type_get_root());
+ new_pajeStartLink(MSG_get_clock(), PJ_container_get_root(), type, process_container, "SR", key);
+ }
+
+ return 1;
+}
+
+void TRACE_msg_task_put_end(void)
+{
+ XBT_DEBUG("PUT,out");
+
+ if (TRACE_msg_process_is_enabled()){
+ int len = INSTR_DEFAULT_STR_SIZE;
+ char str[INSTR_DEFAULT_STR_SIZE];
+
+ container_t process_container = PJ_container_get (instr_process_id(MSG_process_self(), str, len));
+ type_t type = PJ_type_get ("MSG_PROCESS_STATE", process_container->type);
+ new_pajePopState (MSG_get_clock(), process_container, type);
+ }
+}
+
+#endif /* HAVE_TRACING */
#define A_surfxml_bypassASroute_dst (surfxml_bufferstack + AX_surfxml_bypassASroute_dst)
AT_surfxml_host_link_id AX_surfxml_host_link_id;
#define A_surfxml_host_link_id (surfxml_bufferstack + AX_surfxml_host_link_id)
-AT_surfxml_host___link_id AX_surfxml_host___link_id;
-#define A_surfxml_host___link_id (surfxml_bufferstack + AX_surfxml_host___link_id)
AT_surfxml_ASroute_src AX_surfxml_ASroute_src;
#define A_surfxml_ASroute_src (surfxml_bufferstack + AX_surfxml_ASroute_src)
AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
#define IN_trace 27
#define AL_surfxml_random 28
#define E_surfxml_random 29
-#define AL_surfxml_trace___connect 30
-#define E_surfxml_trace___connect 31
+#define AL_surfxml_trace_connect 30
+#define E_surfxml_trace_connect 31
#define AL_surfxml_AS 32
#define S_surfxml_AS 33
#define S_surfxml_AS_1 34
#define S_surfxml_AS_15 48
#define S_surfxml_AS_16 49
#define E_surfxml_AS 50
-#define AL_surfxml_storage___type 51
-#define S_surfxml_storage___type 52
-#define S_surfxml_storage___type_1 53
-#define S_surfxml_storage___type_2 54
-#define E_surfxml_storage___type 55
+#define AL_surfxml_storage_type 51
+#define S_surfxml_storage_type 52
+#define S_surfxml_storage_type_1 53
+#define S_surfxml_storage_type_2 54
+#define E_surfxml_storage_type 55
#define AL_surfxml_storage 56
#define S_surfxml_storage 57
#define S_surfxml_storage_1 58
#define E_surfxml_host 69
#define AL_surfxml_gpu 70
#define E_surfxml_gpu 71
-#define AL_surfxml_host___link 72
-#define E_surfxml_host___link 73
+#define AL_surfxml_host_link 72
+#define E_surfxml_host_link 73
#define AL_surfxml_cluster 74
#define E_surfxml_cluster 75
#define AL_surfxml_cabinet 76
#define S_surfxml_ASroute_1 96
#define S_surfxml_ASroute_2 97
#define E_surfxml_ASroute 98
-#define AL_surfxml_link___ctn 99
-#define E_surfxml_link___ctn 100
+#define AL_surfxml_link_ctn 99
+#define E_surfxml_link_ctn 100
#define AL_surfxml_bypassRoute 101
#define S_surfxml_bypassRoute 102
#define S_surfxml_bypassRoute_1 103
surfxml_statenames[IN_trace] = "trace";
surfxml_statenames[AL_surfxml_random] = NULL;
surfxml_statenames[E_surfxml_random] = "random";
- surfxml_statenames[AL_surfxml_trace___connect] = NULL;
- surfxml_statenames[E_surfxml_trace___connect] = "trace_connect";
+ surfxml_statenames[AL_surfxml_trace_connect] = NULL;
+ surfxml_statenames[E_surfxml_trace_connect] = "trace_connect";
surfxml_statenames[AL_surfxml_AS] = NULL;
surfxml_statenames[S_surfxml_AS] = "AS";
surfxml_statenames[S_surfxml_AS_1] = "AS";
surfxml_statenames[S_surfxml_AS_15] = "AS";
surfxml_statenames[S_surfxml_AS_16] = "AS";
surfxml_statenames[E_surfxml_AS] = "AS";
- surfxml_statenames[AL_surfxml_storage___type] = NULL;
- surfxml_statenames[S_surfxml_storage___type] = "storage_type";
- surfxml_statenames[S_surfxml_storage___type_1] = "storage_type";
- surfxml_statenames[S_surfxml_storage___type_2] = "storage_type";
- surfxml_statenames[E_surfxml_storage___type] = "storage_type";
+ surfxml_statenames[AL_surfxml_storage_type] = NULL;
+ surfxml_statenames[S_surfxml_storage_type] = "storage_type";
+ surfxml_statenames[S_surfxml_storage_type_1] = "storage_type";
+ surfxml_statenames[S_surfxml_storage_type_2] = "storage_type";
+ surfxml_statenames[E_surfxml_storage_type] = "storage_type";
surfxml_statenames[AL_surfxml_storage] = NULL;
surfxml_statenames[S_surfxml_storage] = "storage";
surfxml_statenames[S_surfxml_storage_1] = "storage";
surfxml_statenames[E_surfxml_host] = "host";
surfxml_statenames[AL_surfxml_gpu] = NULL;
surfxml_statenames[E_surfxml_gpu] = "gpu";
- surfxml_statenames[AL_surfxml_host___link] = NULL;
- surfxml_statenames[E_surfxml_host___link] = "host_link";
+ surfxml_statenames[AL_surfxml_host_link] = NULL;
+ surfxml_statenames[E_surfxml_host_link] = "host_link";
surfxml_statenames[AL_surfxml_cluster] = NULL;
surfxml_statenames[E_surfxml_cluster] = "cluster";
surfxml_statenames[AL_surfxml_cabinet] = NULL;
surfxml_statenames[S_surfxml_ASroute_1] = "ASroute";
surfxml_statenames[S_surfxml_ASroute_2] = "ASroute";
surfxml_statenames[E_surfxml_ASroute] = "ASroute";
- surfxml_statenames[AL_surfxml_link___ctn] = NULL;
- surfxml_statenames[E_surfxml_link___ctn] = "link_ctn";
+ surfxml_statenames[AL_surfxml_link_ctn] = NULL;
+ surfxml_statenames[E_surfxml_link_ctn] = "link_ctn";
surfxml_statenames[AL_surfxml_bypassRoute] = NULL;
surfxml_statenames[S_surfxml_bypassRoute] = "bypassRoute";
surfxml_statenames[S_surfxml_bypassRoute_1] = "bypassRoute";
if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
- if (!AX_surfxml_random_std___deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
+ if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
LEAVE; STag_surfxml_random();surfxml_pcdata_ix = 0; ENTER(E_surfxml_random);
}
YY_BREAK
if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
- if (!AX_surfxml_random_std___deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
+ if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
LEAVE; STag_surfxml_random(); surfxml_pcdata_ix = 0; ETag_surfxml_random(); popbuffer(); /* attribute */
switch (YY_START) {
case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
case 86:
/* rule 86 can match eol */
YY_RULE_SETUP
-A_surfxml_trace___connect_kind = A_surfxml_trace___connect_kind_HOST___AVAIL;
+A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
YY_BREAK
case 87:
/* rule 87 can match eol */
case 88:
/* rule 88 can match eol */
YY_RULE_SETUP
-A_surfxml_trace___connect_kind = A_surfxml_trace___connect_kind_POWER;
+A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_POWER;
YY_BREAK
case 89:
/* rule 89 can match eol */
case 90:
/* rule 90 can match eol */
YY_RULE_SETUP
-A_surfxml_trace___connect_kind = A_surfxml_trace___connect_kind_LINK___AVAIL;
+A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LINK_AVAIL;
YY_BREAK
case 91:
/* rule 91 can match eol */
case 92:
/* rule 92 can match eol */
YY_RULE_SETUP
-A_surfxml_trace___connect_kind = A_surfxml_trace___connect_kind_BANDWIDTH;
+A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_BANDWIDTH;
YY_BREAK
case 93:
/* rule 93 can match eol */
case 94:
/* rule 94 can match eol */
YY_RULE_SETUP
-A_surfxml_trace___connect_kind = A_surfxml_trace___connect_kind_LATENCY;
+A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LATENCY;
YY_BREAK
case 95:
/* rule 95 can match eol */
case 99:
YY_RULE_SETUP
{
- if (!AX_surfxml_trace___connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
- if (!AX_surfxml_trace___connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
- LEAVE; STag_surfxml_trace___connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace___connect);
+ if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
+ if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
+ LEAVE; STag_surfxml_trace_connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace_connect);
}
YY_BREAK
case 100:
YY_RULE_SETUP
{
- if (!AX_surfxml_trace___connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
- if (!AX_surfxml_trace___connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
- LEAVE; STag_surfxml_trace___connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace___connect(); popbuffer(); /* attribute */
+ if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
+ if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
+ LEAVE; STag_surfxml_trace_connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace_connect(); popbuffer(); /* attribute */
switch (YY_START) {
case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS_7: SET(S_surfxml_AS_11); break;
case S_surfxml_AS_12: case S_surfxml_AS_15: case S_surfxml_AS_16: SET(S_surfxml_AS_16); break;
YY_RULE_SETUP
FAIL("Bad attribute `%s' in `trace_connect' element start tag.",surf_parse_text);
YY_BREAK
-case YY_STATE_EOF(AL_surfxml_trace___connect):
+case YY_STATE_EOF(AL_surfxml_trace_connect):
FAIL("EOF in attribute list of `trace_connect' element.");
YY_BREAK
YY_RULE_SETUP
{
LEAVE;
- ETag_surfxml_trace___connect();
+ ETag_surfxml_trace_connect();
popbuffer(); /* attribute */
switch (YY_START) {
case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS_7: SET(S_surfxml_AS_11); break;
YY_RULE_SETUP
FAIL("Unexpected character `%c': `</trace_connect>' expected.",surf_parse_text[0]);
YY_BREAK
-case YY_STATE_EOF(E_surfxml_trace___connect):
+case YY_STATE_EOF(E_surfxml_trace_connect):
if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</trace_connect>' expected.");
YY_BREAK
case 143:
YY_RULE_SETUP
{
- if (!AX_surfxml_storage___type_id) FAIL("Required attribute `id' not set for `storage_type' element.");
- if (!AX_surfxml_storage___type_model) FAIL("Required attribute `model' not set for `storage_type' element.");
- if (!AX_surfxml_storage___type_size) FAIL("Required attribute `size' not set for `storage_type' element.");
- LEAVE; STag_surfxml_storage___type();surfxml_pcdata_ix = 0; ENTER(S_surfxml_storage___type);
+ if (!AX_surfxml_storage_type_id) FAIL("Required attribute `id' not set for `storage_type' element.");
+ if (!AX_surfxml_storage_type_model) FAIL("Required attribute `model' not set for `storage_type' element.");
+ if (!AX_surfxml_storage_type_size) FAIL("Required attribute `size' not set for `storage_type' element.");
+ LEAVE; STag_surfxml_storage_type();surfxml_pcdata_ix = 0; ENTER(S_surfxml_storage_type);
}
YY_BREAK
case 144:
YY_RULE_SETUP
{
- if (!AX_surfxml_storage___type_id) FAIL("Required attribute `id' not set for `storage_type' element.");
- if (!AX_surfxml_storage___type_model) FAIL("Required attribute `model' not set for `storage_type' element.");
- if (!AX_surfxml_storage___type_size) FAIL("Required attribute `size' not set for `storage_type' element.");
- LEAVE; STag_surfxml_storage___type(); surfxml_pcdata_ix = 0; ETag_surfxml_storage___type(); popbuffer(); /* attribute */
+ if (!AX_surfxml_storage_type_id) FAIL("Required attribute `id' not set for `storage_type' element.");
+ if (!AX_surfxml_storage_type_model) FAIL("Required attribute `model' not set for `storage_type' element.");
+ if (!AX_surfxml_storage_type_size) FAIL("Required attribute `size' not set for `storage_type' element.");
+ LEAVE; STag_surfxml_storage_type(); surfxml_pcdata_ix = 0; ETag_surfxml_storage_type(); popbuffer(); /* attribute */
switch (YY_START) {
case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
case S_surfxml_AS_1: case S_surfxml_AS_14: case S_surfxml_AS_13: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_14); break;
YY_RULE_SETUP
FAIL("Bad attribute `%s' in `storage_type' element start tag.",surf_parse_text);
YY_BREAK
-case YY_STATE_EOF(AL_surfxml_storage___type):
+case YY_STATE_EOF(AL_surfxml_storage_type):
FAIL("EOF in attribute list of `storage_type' element.");
YY_BREAK
YY_RULE_SETUP
{
LEAVE;
- ETag_surfxml_storage___type();
+ ETag_surfxml_storage_type();
popbuffer(); /* attribute */
switch (YY_START) {
case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
YY_RULE_SETUP
FAIL("Unexpected character `%c': `</storage_type>' expected.",surf_parse_text[0]);
YY_BREAK
-case YY_STATE_EOF(E_surfxml_storage___type):
-case YY_STATE_EOF(S_surfxml_storage___type):
-case YY_STATE_EOF(S_surfxml_storage___type_2):
+case YY_STATE_EOF(E_surfxml_storage_type):
+case YY_STATE_EOF(S_surfxml_storage_type_2):
+case YY_STATE_EOF(S_surfxml_storage_type):
if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</storage_type>' expected.");
YY_BREAK
case 237:
YY_RULE_SETUP
{
- if (!AX_surfxml_host___link_id) FAIL("Required attribute `id' not set for `host_link' element.");
- if (!AX_surfxml_host___link_up) FAIL("Required attribute `up' not set for `host_link' element.");
- if (!AX_surfxml_host___link_down) FAIL("Required attribute `down' not set for `host_link' element.");
- LEAVE; STag_surfxml_host___link();surfxml_pcdata_ix = 0; ENTER(E_surfxml_host___link);
+ if (!AX_surfxml_host_link_id) FAIL("Required attribute `id' not set for `host_link' element.");
+ if (!AX_surfxml_host_link_up) FAIL("Required attribute `up' not set for `host_link' element.");
+ if (!AX_surfxml_host_link_down) FAIL("Required attribute `down' not set for `host_link' element.");
+ LEAVE; STag_surfxml_host_link();surfxml_pcdata_ix = 0; ENTER(E_surfxml_host_link);
}
YY_BREAK
case 238:
YY_RULE_SETUP
{
- if (!AX_surfxml_host___link_id) FAIL("Required attribute `id' not set for `host_link' element.");
- if (!AX_surfxml_host___link_up) FAIL("Required attribute `up' not set for `host_link' element.");
- if (!AX_surfxml_host___link_down) FAIL("Required attribute `down' not set for `host_link' element.");
- LEAVE; STag_surfxml_host___link(); surfxml_pcdata_ix = 0; ETag_surfxml_host___link(); popbuffer(); /* attribute */
+ if (!AX_surfxml_host_link_id) FAIL("Required attribute `id' not set for `host_link' element.");
+ if (!AX_surfxml_host_link_up) FAIL("Required attribute `up' not set for `host_link' element.");
+ if (!AX_surfxml_host_link_down) FAIL("Required attribute `down' not set for `host_link' element.");
+ LEAVE; STag_surfxml_host_link(); surfxml_pcdata_ix = 0; ETag_surfxml_host_link(); popbuffer(); /* attribute */
switch (YY_START) {
case S_surfxml_AS_1: case S_surfxml_AS_14: case S_surfxml_AS_13: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_14); break;
}
YY_RULE_SETUP
FAIL("Bad attribute `%s' in `host_link' element start tag.",surf_parse_text);
YY_BREAK
-case YY_STATE_EOF(AL_surfxml_host___link):
+case YY_STATE_EOF(AL_surfxml_host_link):
FAIL("EOF in attribute list of `host_link' element.");
YY_BREAK
YY_RULE_SETUP
{
LEAVE;
- ETag_surfxml_host___link();
+ ETag_surfxml_host_link();
popbuffer(); /* attribute */
switch (YY_START) {
case S_surfxml_AS_1: case S_surfxml_AS_14: case S_surfxml_AS_13: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_14); break;
YY_RULE_SETUP
FAIL("Unexpected character `%c': `</host_link>' expected.",surf_parse_text[0]);
YY_BREAK
-case YY_STATE_EOF(E_surfxml_host___link):
+case YY_STATE_EOF(E_surfxml_host_link):
if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</host_link>' expected.");
YY_BREAK
case 263:
/* rule 263 can match eol */
YY_RULE_SETUP
-A_surfxml_cluster_sharing___policy = A_surfxml_cluster_sharing___policy_SHARED;
+A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_SHARED;
YY_BREAK
case 264:
/* rule 264 can match eol */
case 265:
/* rule 265 can match eol */
YY_RULE_SETUP
-A_surfxml_cluster_sharing___policy = A_surfxml_cluster_sharing___policy_FULLDUPLEX;
+A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FULLDUPLEX;
YY_BREAK
case 266:
/* rule 266 can match eol */
case 267:
/* rule 267 can match eol */
YY_RULE_SETUP
-A_surfxml_cluster_sharing___policy = A_surfxml_cluster_sharing___policy_FATPIPE;
+A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FATPIPE;
YY_BREAK
case 268:
/* rule 268 can match eol */
case 273:
/* rule 273 can match eol */
YY_RULE_SETUP
-A_surfxml_cluster_bb___sharing___policy = A_surfxml_cluster_bb___sharing___policy_SHARED;
+A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
YY_BREAK
case 274:
/* rule 274 can match eol */
case 275:
/* rule 275 can match eol */
YY_RULE_SETUP
-A_surfxml_cluster_bb___sharing___policy = A_surfxml_cluster_bb___sharing___policy_FATPIPE;
+A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_FATPIPE;
YY_BREAK
case 276:
/* rule 276 can match eol */
{
if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
- if (!AX_surfxml_peer_bw___in) FAIL("Required attribute `bw_in' not set for `peer' element.");
- if (!AX_surfxml_peer_bw___out) FAIL("Required attribute `bw_out' not set for `peer' element.");
+ if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
+ if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
LEAVE; STag_surfxml_peer();surfxml_pcdata_ix = 0; ENTER(E_surfxml_peer);
}
{
if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
- if (!AX_surfxml_peer_bw___in) FAIL("Required attribute `bw_in' not set for `peer' element.");
- if (!AX_surfxml_peer_bw___out) FAIL("Required attribute `bw_out' not set for `peer' element.");
+ if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
+ if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
LEAVE; STag_surfxml_peer(); surfxml_pcdata_ix = 0; ETag_surfxml_peer(); popbuffer(); /* attribute */
switch (YY_START) {
case 384:
/* rule 384 can match eol */
YY_RULE_SETUP
-A_surfxml_link_sharing___policy = A_surfxml_link_sharing___policy_SHARED;
+A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
YY_BREAK
case 385:
/* rule 385 can match eol */
case 386:
/* rule 386 can match eol */
YY_RULE_SETUP
-A_surfxml_link_sharing___policy = A_surfxml_link_sharing___policy_FATPIPE;
+A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FATPIPE;
YY_BREAK
case 387:
/* rule 387 can match eol */
case 388:
/* rule 388 can match eol */
YY_RULE_SETUP
-A_surfxml_link_sharing___policy = A_surfxml_link_sharing___policy_FULLDUPLEX;
+A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FULLDUPLEX;
YY_BREAK
case 389:
YY_RULE_SETUP
{
if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
- if (!AX_surfxml_ASroute_gw___src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
- if (!AX_surfxml_ASroute_gw___dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
+ if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
+ if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
LEAVE; STag_surfxml_ASroute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_ASroute);
}
YY_BREAK
{
if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
- if (!AX_surfxml_ASroute_gw___src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
- if (!AX_surfxml_ASroute_gw___dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
+ if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
+ if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
LEAVE; STag_surfxml_ASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_ASroute(); popbuffer(); /* attribute */
switch (YY_START) {
case S_surfxml_AS_9: case S_surfxml_AS_1: case S_surfxml_AS: case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_9); break;
case 439:
/* rule 439 can match eol */
YY_RULE_SETUP
-A_surfxml_link___ctn_direction = A_surfxml_link___ctn_direction_UP;
+A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_UP;
YY_BREAK
case 440:
/* rule 440 can match eol */
case 441:
/* rule 441 can match eol */
YY_RULE_SETUP
-A_surfxml_link___ctn_direction = A_surfxml_link___ctn_direction_DOWN;
+A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_DOWN;
YY_BREAK
case 442:
/* rule 442 can match eol */
case 443:
/* rule 443 can match eol */
YY_RULE_SETUP
-A_surfxml_link___ctn_direction = A_surfxml_link___ctn_direction_NONE;
+A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
YY_BREAK
case 444:
YY_RULE_SETUP
{
- if (!AX_surfxml_link___ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
- LEAVE; STag_surfxml_link___ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link___ctn);
+ if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
+ LEAVE; STag_surfxml_link_ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link_ctn);
}
YY_BREAK
case 445:
YY_RULE_SETUP
{
- if (!AX_surfxml_link___ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
- LEAVE; STag_surfxml_link___ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link___ctn(); popbuffer(); /* attribute */
+ if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
+ LEAVE; STag_surfxml_link_ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link_ctn(); popbuffer(); /* attribute */
switch (YY_START) {
case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
YY_RULE_SETUP
FAIL("Bad attribute `%s' in `link_ctn' element start tag.",surf_parse_text);
YY_BREAK
-case YY_STATE_EOF(AL_surfxml_link___ctn):
+case YY_STATE_EOF(AL_surfxml_link_ctn):
FAIL("EOF in attribute list of `link_ctn' element.");
YY_BREAK
YY_RULE_SETUP
{
LEAVE;
- ETag_surfxml_link___ctn();
+ ETag_surfxml_link_ctn();
popbuffer(); /* attribute */
switch (YY_START) {
case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
YY_RULE_SETUP
FAIL("Unexpected character `%c': `</link_ctn>' expected.",surf_parse_text[0]);
YY_BREAK
-case YY_STATE_EOF(E_surfxml_link___ctn):
+case YY_STATE_EOF(E_surfxml_link_ctn):
if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</link_ctn>' expected.");
YY_BREAK
{
if (!AX_surfxml_bypassASroute_src) FAIL("Required attribute `src' not set for `bypassASroute' element.");
if (!AX_surfxml_bypassASroute_dst) FAIL("Required attribute `dst' not set for `bypassASroute' element.");
- if (!AX_surfxml_bypassASroute_gw___src) FAIL("Required attribute `gw_src' not set for `bypassASroute' element.");
- if (!AX_surfxml_bypassASroute_gw___dst) FAIL("Required attribute `gw_dst' not set for `bypassASroute' element.");
+ if (!AX_surfxml_bypassASroute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassASroute' element.");
+ if (!AX_surfxml_bypassASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassASroute' element.");
LEAVE; STag_surfxml_bypassASroute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_bypassASroute);
}
YY_BREAK
{
if (!AX_surfxml_bypassASroute_src) FAIL("Required attribute `src' not set for `bypassASroute' element.");
if (!AX_surfxml_bypassASroute_dst) FAIL("Required attribute `dst' not set for `bypassASroute' element.");
- if (!AX_surfxml_bypassASroute_gw___src) FAIL("Required attribute `gw_src' not set for `bypassASroute' element.");
- if (!AX_surfxml_bypassASroute_gw___dst) FAIL("Required attribute `gw_dst' not set for `bypassASroute' element.");
+ if (!AX_surfxml_bypassASroute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassASroute' element.");
+ if (!AX_surfxml_bypassASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassASroute' element.");
LEAVE; STag_surfxml_bypassASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_bypassASroute(); popbuffer(); /* attribute */
switch (YY_START) {
case S_surfxml_AS_9: case S_surfxml_AS_1: case S_surfxml_AS: case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_9); break;
case 492:
/* rule 492 can match eol */
YY_RULE_SETUP
-A_surfxml_process_on___failure = A_surfxml_process_on___failure_DIE;
+A_surfxml_process_on_failure = A_surfxml_process_on_failure_DIE;
YY_BREAK
case 493:
/* rule 493 can match eol */
case 494:
/* rule 494 can match eol */
YY_RULE_SETUP
-A_surfxml_process_on___failure = A_surfxml_process_on___failure_RESTART;
+A_surfxml_process_on_failure = A_surfxml_process_on_failure_RESTART;
YY_BREAK
case 495:
YY_RULE_SETUP
case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
+ case S_surfxml_storage_type_2: case S_surfxml_storage_type: case S_surfxml_storage_type_1: SET(S_surfxml_storage_type_2); break;
case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
- case S_surfxml_storage___type_1: case S_surfxml_storage___type: case S_surfxml_storage___type_2: SET(S_surfxml_storage___type_2); break;
}
}
YY_BREAK
case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
+ case S_surfxml_storage_type_2: case S_surfxml_storage_type: case S_surfxml_storage_type_1: SET(S_surfxml_storage_type_2); break;
case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
- case S_surfxml_storage___type_1: case S_surfxml_storage___type: case S_surfxml_storage___type_2: SET(S_surfxml_storage___type_2); break;
}
}
YY_BREAK
case YY_STATE_EOF(S_surfxml_AS_10):
case YY_STATE_EOF(S_surfxml_AS_13):
case YY_STATE_EOF(S_surfxml_AS_15):
-case YY_STATE_EOF(S_surfxml_storage___type_1):
+case YY_STATE_EOF(S_surfxml_storage_type_1):
case YY_STATE_EOF(S_surfxml_storage_1):
case YY_STATE_EOF(S_surfxml_host_1):
case YY_STATE_EOF(S_surfxml_link_1):