Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 370 → Rev 369

/shark/trunk/tracer/include/tracer.h
61,7 → 61,6
 
#include <ll/sys/types.h>
#include <ll/i386/hw-instr.h>
#include <kernel/kern.h>
#include "FTrace.h"
 
#define TRACER_NO_OUTPUT 0
79,8 → 78,7
 
//UDP
 
int tracer_init_udp(int flag, char *local_ip, char *target_ip);
int tracer_create_udp_task(TASK_MODEL *m, int EventsForPeriod);
int init_udp_tracer(char *local_ip, char *target_ip);
 
#define TRACER_SERIALIZE
 
/shark/trunk/tracer/newtrace/udp.c
41,8 → 41,6
#include <tracer.h>
#include <unistd.h>
 
#include <kernel/kern.h>
 
#include <drivers/udpip.h>
 
#define TRACER_UDP_DEBUG
58,8 → 56,6
char local_ip[20],target_ip[20];
int socket;
 
PID udp_task;
 
extern int TracerOutputType;
 
struct tracer_udp_header {
69,8 → 65,7
unsigned int total_size;
};
 
//Init UDP, if flag = 1 init the network driver
int tracer_init_udp(int flag, char *l_ip, char *t_ip) {
int init_udp_tracer(char *l_ip, char *t_ip) {
 
SYS_FLAGS f;
81,20 → 76,16
strcpy(local_ip,l_ip);
strcpy(target_ip,t_ip);
 
if (flag) {
net_setmode(m, TXTASK);
net_setudpip(m, local_ip, "255.255.255.255");
 
net_setmode(m, TXTASK);
net_setudpip(m, local_ip, "255.255.255.255");
if (net_init(&m) != 1) {
ll_frestore(f);
return -1;
}
 
if (net_init(&m) != 1) {
ll_frestore(f);
return -1;
}
sleep(1);
 
sleep(1);
 
}
 
ip_str2addr(local_ip,&(local.s_addr));
local.s_port = TRACER_PORT+1;
socket = udp_bind(&local, NULL);
183,57 → 174,4
udp_sendto(socket, pkt, total_pkt_size, &target);
}
 
}
 
//Sender Task
TASK udp_sender(void *arg)
{
 
int number = (int)(arg);
 
while(1) {
 
tracer_send_logged_events(number);
tracer_flush_sent_events();
 
task_endcycle();
 
}
 
}
 
int tracer_create_udp_task(TASK_MODEL *m, int EventsForPeriod)
{
 
if (m == NULL) {
 
SOFT_TASK_MODEL st;
 
soft_task_default_model(st);
soft_task_def_arg(st,(void *)(EventsForPeriod));
soft_task_def_period(st,500000);
soft_task_def_met(st,10000);
udp_task = task_create("UDP_Sender",udp_sender,&st,NULL);
if (udp_task == NIL) {
cprintf("Error creating UDP Sender\n");
sys_end();
}
task_activate(udp_task);
 
} else {
 
udp_task = task_create("UDP_Sender",udp_sender,&m,NULL);
if (udp_task == NIL) {
cprintf("Error creating UDP Sender\n");
sys_end();
}
task_activate(udp_task);
 
}
 
return 0;
 
}