This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/OpenBSC@lists.osmocom.org/.
Holger Freyther holger at freyther.de> On 07 Oct 2015, at 16:18, Neels Hofmeyr <nhofmeyr at sysmocom.de> wrote: > > > +/* TODO move to osmocom/core/socket.c ? */ where did you take this from? > +/* TODO move to osmocom/core/socket.c ? */ > +int osmo_sockaddr_init(struct sockaddr_storage *addr, socklen_t *addr_len, > + uint16_t family, uint16_t type, uint8_t proto, > + const char *host, uint16_t port) > +{ ah yeah. the by hostname is a good idea. But this should only be used at the beginning of an application as we don't want to block on a DNS query. > > +static struct log_info_cat gtphub_categories[] = { > +static const struct log_info gtphub_log_info = { > + .filter_fn = gtphub_log_filter_fn, > + .cat = gtphub_categories, > + .num_cat = ARRAY_SIZE(gtphub_categories), > +}; nothing else will be used as debug log? Depending on the answer it might be better to just always initialize the GTPHUB area.. > > +int gtp_relay(struct osmo_fd *from, struct sockaddr_storage *from_addr, socklen_t *from_addr_len, > + struct osmo_fd *to, struct sockaddr_storage *to_addr, socklen_t to_addr_len) > +{ > + static uint8_t buf[4096]; > + > + errno = 0; > + ssize_t received = recvfrom(from->fd, buf, sizeof(buf), 0, > + (struct sockaddr*)from_addr, from_addr_len); > + When the first gbproxy was built our buffer was smaller and we truncated messages. Now 4k is pretty big and bigger than our expectation for a UDP message. If you use recvmsg then the msg_flags will have MSG_TRUNC set or not. Not sure if you want to use it. > + rc = osmo_sock_init_ofd(&clients_ofd, AF_UNSPEC, SOCK_DGRAM, IPPROTO_UDP, clients_addr_str, clients_port, OSMO_SOCK_F_BIND); > + rc = osmo_sock_init_ofd(&server_ofd, AF_UNSPEC, SOCK_DGRAM, IPPROTO_UDP, server_rx_addr_str, server_rx_port, OSMO_SOCK_F_BIND); Who is the server? who is the client? Maybe give it names to what we expect on the side? One is the SGSN, the other is the GGSN?