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/gerrit-log@lists.osmocom.org/.
laforge gerrit-no-reply at lists.osmocom.orglaforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/17444 ) Change subject: osmo-bts-virtual: Fix "virtual-um net-device NETDEV" ...................................................................... osmo-bts-virtual: Fix "virtual-um net-device NETDEV" The VTY option to bind the virtual Um multicast to a specific network interface has existed ever since osmo-bts-virtual was first merged to the repo. However, embarrassingly, until today it never did anything, i.e. the code to actually perform the bind was missing. Depends: libosmocore.git Ib52d22710020b56965aefcef09bde8247ace4a9c Change-Id: I303f2e616d2d32b5a8005c3dcf0f5fad19ad3445 Related: OS#2966 --- M src/osmo-bts-virtual/l1_if.c M src/osmo-bts-virtual/virtual_um.c M src/osmo-bts-virtual/virtual_um.h 3 files changed, 21 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/44/17444/1 diff --git a/src/osmo-bts-virtual/l1_if.c b/src/osmo-bts-virtual/l1_if.c index 3128012..c5c526c 100644 --- a/src/osmo-bts-virtual/l1_if.c +++ b/src/osmo-bts-virtual/l1_if.c @@ -204,7 +204,7 @@ plink->u.virt.virt_um = virt_um_init(plink, plink->u.virt.ms_mcast_group, plink->u.virt.ms_mcast_port, plink->u.virt.bts_mcast_group, plink->u.virt.bts_mcast_port, - plink->u.virt.ttl, virt_um_rcv_cb); + plink->u.virt.ttl, plink->u.virt.mcast_dev, virt_um_rcv_cb); if (!plink->u.virt.virt_um) { phy_link_state_set(plink, PHY_LINK_SHUTDOWN); return -1; diff --git a/src/osmo-bts-virtual/virtual_um.c b/src/osmo-bts-virtual/virtual_um.c index e19f9f2..1ff5291 100644 --- a/src/osmo-bts-virtual/virtual_um.c +++ b/src/osmo-bts-virtual/virtual_um.c @@ -62,7 +62,7 @@ } struct virt_um_inst *virt_um_init(void *ctx, char *tx_mcast_group, uint16_t tx_mcast_port, - char *rx_mcast_group, uint16_t rx_mcast_port, int ttl, + char *rx_mcast_group, uint16_t rx_mcast_port, int ttl, const char *dev_name, void (*recv_cb)(struct virt_um_inst *vui, struct msgb *msg)) { struct virt_um_inst *vui = talloc_zero(ctx, struct virt_um_inst); @@ -81,14 +81,29 @@ rc = osmo_sock_mcast_ttl_set(vui->mcast_sock->tx_ofd.fd, ttl); if (rc < 0) { perror("Cannot set TTL of Virtual Um transmit socket"); - mcast_bidir_sock_close(vui->mcast_sock); - talloc_free(vui); - return NULL; + goto out_close; + } + } + + if (dev_name) { + rc = osmo_sock_mcast_iface_set(vui->mcast_sock->tx_ofd.fd, dev_name); + if (rc < 0) { + perror("Cannot bind multicast tx to given device"); + goto out_close; + } + rc = osmo_sock_mcast_iface_set(vui->mcast_sock->rx_ofd.fd, dev_name); + if (rc < 0) { + perror("Cannot bind multicast rx to given device"); + goto out_close; } } return vui; +out_close: + mcast_bidir_sock_close(vui->mcast_sock); + talloc_free(vui); + return NULL; } void virt_um_destroy(struct virt_um_inst *vui) diff --git a/src/osmo-bts-virtual/virtual_um.h b/src/osmo-bts-virtual/virtual_um.h index 7841c33..87cf03a 100644 --- a/src/osmo-bts-virtual/virtual_um.h +++ b/src/osmo-bts-virtual/virtual_um.h @@ -23,7 +23,7 @@ struct virt_um_inst *virt_um_init( void *ctx, char *tx_mcast_group, uint16_t tx_mcast_port, - char *rx_mcast_group, uint16_t rx_mcast_port, int ttl, + char *rx_mcast_group, uint16_t rx_mcast_port, int ttl, const char *dev_name, void (*recv_cb)(struct virt_um_inst *vui, struct msgb *msg)); void virt_um_destroy(struct virt_um_inst *vui); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17444 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I303f2e616d2d32b5a8005c3dcf0f5fad19ad3445 Gerrit-Change-Number: 17444 Gerrit-PatchSet: 1 Gerrit-Owner: laforge <laforge at osmocom.org> Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200310/418d31cb/attachment.htm>