summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2008-11-30 14:01:29 +0100
committerPablo Neira Ayuso <pablo@netfilter.org>2008-11-30 14:01:29 +0100
commit67994842694e57a42f524e228ca7acc564f2104f (patch)
treedbd3a3ca8317c5bee18799fb2d51ea0e4e22e6de
parent1fadc34c80a17e291f5ae86ecb84efbdb2aab265 (diff)
network: make tx buffer initialization independent of mcast config
This patch changes the prototype of mcast_buffered_init() to receive as argument the MTU size instead of the multicast configuration. This decouples the initialization of the tx buffer from the multicast configuration. This patch is needed by the multi-dedicated link support. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r--include/network.h2
-rw-r--r--src/network.c6
-rw-r--r--src/sync-mode.c2
3 files changed, 5 insertions, 5 deletions
diff --git a/include/network.h b/include/network.h
index f24fb5f..5da1db5 100644
--- a/include/network.h
+++ b/include/network.h
@@ -75,7 +75,7 @@ int mcast_track_is_seq_set(void);
struct mcast_conf;
-int mcast_buffered_init(struct mcast_conf *mconf);
+int mcast_buffered_init(int mtu);
void mcast_buffered_destroy(void);
int mcast_buffered_send_netmsg(struct mcast_sock *m, void *data, size_t len);
ssize_t mcast_buffered_pending_netmsg(struct mcast_sock *m);
diff --git a/src/network.c b/src/network.c
index 04c9d39..78be1e2 100644
--- a/src/network.c
+++ b/src/network.c
@@ -85,12 +85,12 @@ static char *tx_buf;
#define HEADERSIZ 28 /* IP header (20 bytes) + UDP header 8 (bytes) */
-int mcast_buffered_init(struct mcast_conf *mconf)
+int mcast_buffered_init(int if_mtu)
{
- int mtu = mconf->mtu - HEADERSIZ;
+ int mtu = if_mtu - HEADERSIZ;
/* default to Ethernet MTU 1500 bytes */
- if (mconf->mtu == 0)
+ if (if_mtu == 0)
mtu = 1500 - HEADERSIZ;
tx_buf = malloc(mtu);
diff --git a/src/sync-mode.c b/src/sync-mode.c
index e613111..98867b2 100644
--- a/src/sync-mode.c
+++ b/src/sync-mode.c
@@ -233,7 +233,7 @@ static int init_sync(void)
dlog(LOG_NOTICE, "multicast client socket sender queue "
"has been set to %d bytes", CONFIG(mcast).sndbuf);
- if (mcast_buffered_init(&CONFIG(mcast)) == -1) {
+ if (mcast_buffered_init(CONFIG(mcast).mtu) == -1) {
dlog(LOG_ERR, "can't init tx buffer!");
mcast_server_destroy(STATE_SYNC(mcast_server));
mcast_client_destroy(STATE_SYNC(mcast_client));