summaryrefslogtreecommitdiff
path: root/cleopatre
diff options
context:
space:
mode:
authorlefranc2009-12-15 08:57:23 +0000
committerlefranc2009-12-15 08:57:23 +0000
commit2c7f1c9c3c1ef8ae050ebbbdcde1eeec5e3b4c51 (patch)
treefe2433634471d2da2cb9092911a0d538a12ca5bf /cleopatre
parent6412b4005f25adfcc3877a8337ce059901be99d5 (diff)
cleo/appli/managerd: change input and output names
- change all 'input' refs to 'br' - change all 'output' refs to 'plc' due to possibility to also send to eth git-svn-id: svn+ssh://pessac/svn/cesar/trunk@6547 017c9cb6-072f-447c-8318-d5b54f68fe89
Diffstat (limited to 'cleopatre')
-rw-r--r--cleopatre/application/managerd/inc/bridge.h12
-rw-r--r--cleopatre/application/managerd/inc/managerd.h18
-rw-r--r--cleopatre/application/managerd/src/bridge.c122
-rw-r--r--cleopatre/application/managerd/src/managerd.c10
4 files changed, 81 insertions, 81 deletions
diff --git a/cleopatre/application/managerd/inc/bridge.h b/cleopatre/application/managerd/inc/bridge.h
index 3b5400a522..f31fa7d7aa 100644
--- a/cleopatre/application/managerd/inc/bridge.h
+++ b/cleopatre/application/managerd/inc/bridge.h
@@ -24,8 +24,8 @@
#include "managerd.h"
/** Interfaces name */
-#define INPUT_IFNAME "br0"
-#define OUTPUT_IFNAME "plc0"
+#define BR_IFNAME "br0"
+#define PLC_IFNAME "plc0"
/** TODO: suppress it it will be on toolchain */
#define ETH_P_HPAV 0x88e1
@@ -52,7 +52,7 @@ enum bridge_status {
enum bridge_status bridge_processing(struct managerd_ctx *ctx, uint8_t *buffer, int *len, int max_len);
/**
- * Receive a frame from INPUT interface.
+ * Receive a frame from BR interface.
*
* \param ctx managerd context.
* \param buffer frame pointer.
@@ -62,17 +62,17 @@ enum bridge_status bridge_processing(struct managerd_ctx *ctx, uint8_t *buffer,
int bridge_receive(struct managerd_ctx *ctx, uint8_t *buffer, int len);
/**
- * Send a frame to OUTPUT interface.
+ * Send a frame to PLC interface.
*
* \param ctx managerd context.
* \param buffer frame pointer.
* \param len length to send.
* \return error code.
*/
-int bridge_send(struct managerd_ctx *ctx, uint8_t *buffer, int len);
+int bridge_send_to_plc(struct managerd_ctx *ctx, uint8_t *buffer, int len);
/**
- * Wait a reception on INPUT interface with a timeout.
+ * Wait a reception on BR interface with a timeout.
*
* \param ctx managerd context.
* \return error code.
diff --git a/cleopatre/application/managerd/inc/managerd.h b/cleopatre/application/managerd/inc/managerd.h
index 7e3b30ac8f..4509c23c15 100644
--- a/cleopatre/application/managerd/inc/managerd.h
+++ b/cleopatre/application/managerd/inc/managerd.h
@@ -32,16 +32,16 @@
/** Context structure */
struct managerd_ctx {
- int sock_input;
- int sock_output;
+ int sock_br;
+ int sock_plc;
int gpio_fd;
- struct sockaddr_ll input_sll;
- struct sockaddr_ll output_sll;
- socklen_t input_sll_sz;
- socklen_t output_sll_sz;
- struct ifreq input_ifr;
- struct ifreq output_ifr;
- uint8_t input_mac_addr[ETH_ALEN];
+ struct sockaddr_ll br_sll;
+ struct sockaddr_ll plc_sll;
+ socklen_t br_sll_sz;
+ socklen_t plc_sll_sz;
+ struct ifreq br_ifr;
+ struct ifreq plc_ifr;
+ uint8_t br_mac_addr[ETH_ALEN];
union gpio_info sc_gpio;
union gpio_info led_gpio;
int is_sc_available;
diff --git a/cleopatre/application/managerd/src/bridge.c b/cleopatre/application/managerd/src/bridge.c
index e668f3f2fd..17c1540216 100644
--- a/cleopatre/application/managerd/src/bridge.c
+++ b/cleopatre/application/managerd/src/bridge.c
@@ -56,7 +56,7 @@ enum bridge_status bridge_processing(struct managerd_ctx *ctx, uint8_t *buffer,
assert((*len > 0) && (*len <= max_len));
//Don't forward broadcast frames
- if(PACKET_BROADCAST == ctx->input_sll.sll_pkttype)
+ if(PACKET_BROADCAST == ctx->br_sll.sll_pkttype)
return TO_DROP;
//Currently nothing to do
@@ -65,7 +65,7 @@ enum bridge_status bridge_processing(struct managerd_ctx *ctx, uint8_t *buffer,
}
/**
- * Receive a frame from INPUT interface.
+ * Receive a frame from BR interface.
*
* \param ctx managerd context.
* \param buffer frame pointer.
@@ -74,38 +74,38 @@ enum bridge_status bridge_processing(struct managerd_ctx *ctx, uint8_t *buffer,
*/
int bridge_receive(struct managerd_ctx *ctx, uint8_t *buffer, int len)
{
- //Receive a raw packet from INPUT interface
- len = recvfrom(ctx->sock_input, buffer, len, 0, (struct sockaddr*)&ctx->input_sll, &ctx->input_sll_sz);
+ //Receive a raw packet from BR interface
+ len = recvfrom(ctx->sock_br, buffer, len, 0, (struct sockaddr*)&ctx->br_sll, &ctx->br_sll_sz);
if(0 >= len)
{
- syslog(LOG_WARNING, "receive failed on %s (%s)", INPUT_IFNAME, strerror(errno));
+ syslog(LOG_WARNING, "receive failed on %s (%s)", BR_IFNAME, strerror(errno));
return -1;
}
return len;
}
/**
- * Send a frame to OUTPUT interface.
+ * Send a frame to PLC interface.
*
* \param ctx managerd context.
* \param buffer frame pointer.
* \param len length to send.
* \return error code.
*/
-int bridge_send(struct managerd_ctx *ctx, uint8_t *buffer, int len)
+int bridge_send_to_plc(struct managerd_ctx *ctx, uint8_t *buffer, int len)
{
- //Send a raw packet to OUTPUT interface
- len = sendto(ctx->sock_output, buffer, len, 0, (struct sockaddr*)&ctx->output_sll, ctx->output_sll_sz);
+ //Send a raw packet to PLC interface
+ len = sendto(ctx->sock_plc, buffer, len, 0, (struct sockaddr*)&ctx->plc_sll, ctx->plc_sll_sz);
if(0 > len)
{
- syslog(LOG_WARNING, "send failed on %s (%s)", OUTPUT_IFNAME, strerror(errno));
+ syslog(LOG_WARNING, "send failed on %s (%s)", PLC_IFNAME, strerror(errno));
return -1;
}
return 0;
}
/**
- * Wait a reception on INPUT interface with a timeout.
+ * Wait a reception on BR interface with a timeout.
*
* \param ctx managerd context.
* \return error code.
@@ -120,15 +120,15 @@ int bridge_wait_reception(struct managerd_ctx *ctx)
timeout.tv_sec = WAIT_TOUT;
timeout.tv_usec = 0;
FD_ZERO(&readfds);
- FD_SET(ctx->sock_input, &readfds);
+ FD_SET(ctx->sock_br, &readfds);
- //Select on INPUT connection
- select_result = select(ctx->sock_input + 1, &readfds, NULL, NULL, &timeout);
+ //Select on BR connection
+ select_result = select(ctx->sock_br + 1, &readfds, NULL, NULL, &timeout);
//Select error
if(0 > select_result)
{
- syslog(LOG_WARNING, "select failed on %s (%s)", INPUT_IFNAME, strerror(errno));
+ syslog(LOG_WARNING, "select failed on %s (%s)", BR_IFNAME, strerror(errno));
return -1;
}
else
@@ -152,75 +152,75 @@ int bridge_init(struct managerd_ctx *ctx)
assert(ctx != NULL);
//Set context
- ctx->input_sll_sz = (socklen_t)(sizeof(struct sockaddr_ll));
- ctx->output_sll_sz = (socklen_t)(sizeof(struct sockaddr_ll));
+ ctx->br_sll_sz = (socklen_t)(sizeof(struct sockaddr_ll));
+ ctx->plc_sll_sz = (socklen_t)(sizeof(struct sockaddr_ll));
- //Create a receive connection on INPUT interface
- if(0 > (ctx->sock_input = socket(AF_PACKET, SOCK_RAW, ETH_P_HPAV)))
+ //Create a receive connection on BR interface
+ if(0 > (ctx->sock_br = socket(AF_PACKET, SOCK_RAW, ETH_P_HPAV)))
{
- syslog(LOG_WARNING, "cannot open socket on %s (%s)", INPUT_IFNAME, strerror(errno));
+ syslog(LOG_WARNING, "cannot open socket on %s (%s)", BR_IFNAME, strerror(errno));
return -1;
}
- //Create a transmit connection on OUTPUT interface
- if(0 > (ctx->sock_output = socket(AF_PACKET, SOCK_RAW, ETH_P_HPAV)))
+ //Create a transmit connection on PLC interface
+ if(0 > (ctx->sock_plc = socket(AF_PACKET, SOCK_RAW, ETH_P_HPAV)))
{
- syslog(LOG_WARNING, "cannot open socket on %s (%s)", OUTPUT_IFNAME, strerror(errno));
- close(ctx->sock_input);
+ syslog(LOG_WARNING, "cannot open socket on %s (%s)", PLC_IFNAME, strerror(errno));
+ close(ctx->sock_br);
return -1;
}
- //Prepare INPUT socket address
- strncpy(ctx->input_ifr.ifr_name, (char*)INPUT_IFNAME, IFNAMSIZ);
- if(-1 == (ioctl(ctx->sock_input, SIOCGIFINDEX, &ctx->input_ifr)))
+ //Prepare BR socket address
+ strncpy(ctx->br_ifr.ifr_name, (char*)BR_IFNAME, IFNAMSIZ);
+ if(-1 == (ioctl(ctx->sock_br, SIOCGIFINDEX, &ctx->br_ifr)))
{
- syslog(LOG_WARNING, "cannot get interface %s index (%s)", INPUT_IFNAME, strerror(errno));
- close(ctx->sock_input);
- close(ctx->sock_output);
+ syslog(LOG_WARNING, "cannot get interface %s index (%s)", BR_IFNAME, strerror(errno));
+ close(ctx->sock_br);
+ close(ctx->sock_plc);
return -1;
}
- ctx->input_sll.sll_family = AF_PACKET;
- ctx->input_sll.sll_ifindex = ctx->input_ifr.ifr_ifindex;
- ctx->input_sll.sll_protocol = htons(ETH_P_HPAV);
+ ctx->br_sll.sll_family = AF_PACKET;
+ ctx->br_sll.sll_ifindex = ctx->br_ifr.ifr_ifindex;
+ ctx->br_sll.sll_protocol = htons(ETH_P_HPAV);
- //Find INPUT mac address
- if(-1 == (ioctl(ctx->sock_input, SIOCGIFHWADDR, &ctx->input_ifr)))
+ //Find BR mac address
+ if(-1 == (ioctl(ctx->sock_br, SIOCGIFHWADDR, &ctx->br_ifr)))
{
- syslog(LOG_WARNING, "cannot get interface %s mac address (%s)", INPUT_IFNAME, strerror(errno));
- close(ctx->sock_input);
- close(ctx->sock_output);
+ syslog(LOG_WARNING, "cannot get interface %s mac address (%s)", BR_IFNAME, strerror(errno));
+ close(ctx->sock_br);
+ close(ctx->sock_plc);
return -1;
}
- memcpy(ctx->input_mac_addr, ctx->input_ifr.ifr_hwaddr.sa_data, ETH_ALEN);
+ memcpy(ctx->br_mac_addr, ctx->br_ifr.ifr_hwaddr.sa_data, ETH_ALEN);
- //Prepare OUTPUT socket address
- strncpy(ctx->output_ifr.ifr_name, (char*)OUTPUT_IFNAME, IFNAMSIZ);
- if(-1 == (ioctl(ctx->sock_output, SIOCGIFINDEX, &ctx->output_ifr)))
+ //Prepare PLC socket address
+ strncpy(ctx->plc_ifr.ifr_name, (char*)PLC_IFNAME, IFNAMSIZ);
+ if(-1 == (ioctl(ctx->sock_plc, SIOCGIFINDEX, &ctx->plc_ifr)))
{
- syslog(LOG_WARNING, "cannot get interface %s index (%s)", OUTPUT_IFNAME, strerror(errno));
- close(ctx->sock_input);
- close(ctx->sock_output);
+ syslog(LOG_WARNING, "cannot get interface %s index (%s)", PLC_IFNAME, strerror(errno));
+ close(ctx->sock_br);
+ close(ctx->sock_plc);
return -1;
}
- ctx->output_sll.sll_family = AF_PACKET;
- ctx->output_sll.sll_ifindex = ctx->output_ifr.ifr_ifindex;
- ctx->output_sll.sll_protocol = htons(ETH_P_HPAV);
+ ctx->plc_sll.sll_family = AF_PACKET;
+ ctx->plc_sll.sll_ifindex = ctx->plc_ifr.ifr_ifindex;
+ ctx->plc_sll.sll_protocol = htons(ETH_P_HPAV);
- //Bind INPUT socket to this interface
- if(-1 == (bind(ctx->sock_input, (struct sockaddr *)&ctx->input_sll, sizeof(struct sockaddr_ll))))
+ //Bind BR socket to this interface
+ if(-1 == (bind(ctx->sock_br, (struct sockaddr *)&ctx->br_sll, sizeof(struct sockaddr_ll))))
{
- syslog(LOG_WARNING, "cannot bind raw socket to interface %s (%s)", INPUT_IFNAME, strerror(errno));
- close(ctx->sock_input);
- close(ctx->sock_output);
+ syslog(LOG_WARNING, "cannot bind raw socket to interface %s (%s)", BR_IFNAME, strerror(errno));
+ close(ctx->sock_br);
+ close(ctx->sock_plc);
return -1;
}
- //Bind OUTPUT socket to this interface
- if(-1 == (bind(ctx->sock_output, (struct sockaddr *)&ctx->output_sll, sizeof(struct sockaddr_ll))))
+ //Bind PLC socket to this interface
+ if(-1 == (bind(ctx->sock_plc, (struct sockaddr *)&ctx->plc_sll, sizeof(struct sockaddr_ll))))
{
- syslog(LOG_WARNING, "cannot bind raw socket to interface %s (%s)", OUTPUT_IFNAME, strerror(errno));
- close(ctx->sock_input);
- close(ctx->sock_output);
+ syslog(LOG_WARNING, "cannot bind raw socket to interface %s (%s)", PLC_IFNAME, strerror(errno));
+ close(ctx->sock_br);
+ close(ctx->sock_plc);
return -1;
}
@@ -237,8 +237,8 @@ void bridge_uninit(struct managerd_ctx *ctx)
//Check arguments
assert(ctx != NULL);
- //Close INPUT and OUTPUT connections
- close(ctx->sock_input);
- close(ctx->sock_output);
+ //Close BR and PLC connections
+ close(ctx->sock_br);
+ close(ctx->sock_plc);
}
diff --git a/cleopatre/application/managerd/src/managerd.c b/cleopatre/application/managerd/src/managerd.c
index 2e07a459c3..3086f1f722 100644
--- a/cleopatre/application/managerd/src/managerd.c
+++ b/cleopatre/application/managerd/src/managerd.c
@@ -32,7 +32,7 @@
/**
* Daemon core process.
- * Wait frame on INPUT, processing it before sending it to OUTPUT.
+ * Wait frame on BR, processing it before sending it to PLC.
* On each RX timeout, process other events.
*
* \param ctx managerd context.
@@ -57,7 +57,7 @@ static int managerd_process(struct managerd_ctx *ctx)
while(1)
{
- //Wait a frame from INPUT interface
+ //Wait a frame from BR interface
result = bridge_wait_reception(ctx);
//Waiting error
@@ -75,7 +75,7 @@ static int managerd_process(struct managerd_ctx *ctx)
else
continue;
}
- //Receive a frame : Bridge it to OUTPUT interface
+ //Receive a frame : Bridge it to PLC interface
else
{
//Receive
@@ -88,8 +88,8 @@ static int managerd_process(struct managerd_ctx *ctx)
//Processing this reception
if(TO_SEND == bridge_processing(ctx, buffer, &len, MAX_PKT_LEN))
{
- //Send this previous reception to OUTPUT interface
- len = bridge_send(ctx, buffer, len);
+ //Send this previous reception to PLC interface
+ len = bridge_send_to_plc(ctx, buffer, len);
if(0 > len)
{
result = -1;