/* Invoke the graph */
if (!reverse_direction) {
tcp_graph_known_stream_launch(&conv->src_address, conv->src_port,
- &conv->dst_address, conv->dst_port);
+ &conv->dst_address, conv->dst_port,
+ conv->conv_id);
}
else {
tcp_graph_known_stream_launch(&conv->dst_address, conv->dst_port,
- &conv->src_address, conv->src_port);
+ &conv->src_address, conv->src_port,
+ conv->conv_id);
}
}
else {
void tcp_graph_cb(GtkAction *action, gpointer user_data);
void tcp_graph_known_stream_launch(address *src_address, guint16 src_port,
- address *dst_address, guint16 dst_port);
+ address *dst_address, guint16 dst_port,
+ conv_id_t stream);
void gtk_rpcprogs_cb(GtkWidget *w, gpointer data);
#include <epan/epan_dissect.h>
#include <epan/dissectors/packet-tcp.h>
#include <epan/address.h>
+#include <epan/conv_id.h>
#include "../../globals.h"
#include "../../stat_menu.h"
}
void tcp_graph_known_stream_launch(address *src_address, guint16 src_port,
- address *dst_address, guint16 dst_port)
+ address *dst_address, guint16 dst_port,
+ conv_id_t stream)
{
struct gtk_graph *g;
g->tg.src_port = src_port;
COPY_ADDRESS(&g->tg.dst_address, dst_address);
g->tg.dst_port = dst_port;
+ g->tg.stream = stream;
/* This graph type is arguably the most useful, so start there */
g->tg.type = GRAPH_TSEQ_TCPTRACE;
tg->dst_port = current.th_dport;
tg->stream = header->th_stream;
}
+ else {
+ ts.direction = COMPARE_ANY_DIR;
+ }
/* rescan all the packets and pick up all interesting tcp headers.
* we only filter for TCP here for speed and do the actual compare