projects
/
l2tpns.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge from Master
[l2tpns.git]
/
l2tplac.c
diff --git
a/l2tplac.c
b/l2tplac.c
index
6ad4683
..
5fb361e
100644
(file)
--- a/
l2tplac.c
+++ b/
l2tplac.c
@@
-7,8
+7,11
@@
#include <errno.h>
#include <string.h>
#include <errno.h>
#include <string.h>
+#include <linux/rtnetlink.h>
+#include <netinet/ip6.h>
#include "md5.h"
#include "md5.h"
+#include "dhcp6.h"
#include "l2tpns.h"
#include "util.h"
#include "cluster.h"
#include "l2tpns.h"
#include "util.h"
#include "cluster.h"
@@
-295,6
+298,7
@@
static int lac_create_tunnelsession(tunnelidt t, sessionidt s, confrlnsidt i_con
tunnel[t].port = pconfigrlns[i_conf].port;
tunnel[t].window = 4; // default window
tunnel[t].isremotelns = i_conf;
tunnel[t].port = pconfigrlns[i_conf].port;
tunnel[t].window = 4; // default window
tunnel[t].isremotelns = i_conf;
+ tunnel[t].indexudp = config->indexlacudpfd;
STAT(tunnel_created);
random_data(pconfigrlns[i_conf].auth, sizeof(pconfigrlns[i_conf].auth));
STAT(tunnel_created);
random_data(pconfigrlns[i_conf].auth, sizeof(pconfigrlns[i_conf].auth));
@@
-449,7
+453,7
@@
void lac_calc_rlns_auth(tunnelidt t, uint8_t id, uint8_t *out)
}
// Forward session to LAC or Remote LNS
}
// Forward session to LAC or Remote LNS
-int lac_session_forward(uint8_t *buf, int len, sessionidt sess, uint16_t proto, in_addr_t s_addr, int sin_port)
+int lac_session_forward(uint8_t *buf, int len, sessionidt sess, uint16_t proto, in_addr_t s_addr, int sin_port
, uint16_t indexudpfd
)
{
uint16_t t = 0, s = 0;
uint8_t *p = buf + 2; // First word L2TP options
{
uint16_t t = 0, s = 0;
uint8_t *p = buf + 2; // First word L2TP options
@@
-482,7
+486,7
@@
int lac_session_forward(uint8_t *buf, int len, sessionidt sess, uint16_t proto,
(proto == PPPCCP) )
{
session[sess].last_packet = time_now;
(proto == PPPCCP) )
{
session[sess].last_packet = time_now;
- master_forward_packet(buf, len, s_addr, sin_port);
+ master_forward_packet(buf, len, s_addr, sin_port
, indexudpfd
);
return 1;
}
}
return 1;
}
}