diff options
author | Harald Welte <laforge@gnumonks.org> | 2010-05-19 14:38:50 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2010-05-19 14:38:50 +0200 |
commit | 5540c4cbd32f9b69f72adb622c3635e841724131 (patch) | |
tree | 6ced3555161e5e17d5be01898ac55f327cebd2ab /openbsc/src/socket.c | |
parent | 3a318ab9716718a39a6907d012b6f616fe46823d (diff) |
[GPRS] Add Frame Relay in GRE encapsulation for NS
Diffstat (limited to 'openbsc/src/socket.c')
-rw-r--r-- | openbsc/src/socket.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/openbsc/src/socket.c b/openbsc/src/socket.c index c72f6bc27..d60c43e01 100644 --- a/openbsc/src/socket.c +++ b/openbsc/src/socket.c @@ -41,7 +41,7 @@ #include <openbsc/gsm_data.h> #include <osmocore/talloc.h> -int make_sock(struct bsc_fd *bfd, int proto, u_int16_t port, +int make_sock(struct bsc_fd *bfd, int proto, u_int32_t ip, u_int16_t port, int (*cb)(struct bsc_fd *fd, unsigned int what)) { struct sockaddr_in addr; @@ -75,7 +75,10 @@ int make_sock(struct bsc_fd *bfd, int proto, u_int16_t port, memset(&addr, 0, sizeof(addr)); addr.sin_family = AF_INET; addr.sin_port = htons(port); - addr.sin_addr.s_addr = INADDR_ANY; + if (ip) + addr.sin_addr.s_addr = htonl(ip); + else + addr.sin_addr.s_addr = INADDR_ANY; setsockopt(bfd->fd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)); |