laforge has submitted this change. ( 
https://gerrit.osmocom.org/c/osmo-pcu/+/32275 )

Change subject: ctrl: drop deprecated neighbor resolution interface
......................................................................

ctrl: drop deprecated neighbor resolution interface

Related: OS#5809
Change-Id: Iff008c77ab49dd8855d54d2d44198475086012e4
---
M src/gprs_pcu.c
M src/gprs_pcu.h
M src/nacc_fsm.c
M src/nacc_fsm.h
M src/pcu_vty.c
5 files changed, 11 insertions(+), 108 deletions(-)

Approvals:
  laforge: Looks good to me, approved
  pespin: Looks good to me, but someone else must approve
  arehbein: Looks good to me, but someone else must approve
  Jenkins Builder: Verified




diff --git a/src/gprs_pcu.c b/src/gprs_pcu.c
index de6b669..2ad5c71 100644
--- a/src/gprs_pcu.c
+++ b/src/gprs_pcu.c
@@ -131,8 +131,6 @@
        pcu->vty.ws_pdch = 0;
        pcu->vty.llc_codel_interval_msec = LLC_CODEL_USE_DEFAULT;
        pcu->vty.llc_idle_ack_csec = 10;
-       pcu->vty.neigh_ctrl_addr = NULL; /* don't use CTRL iface for Neigh Addr 
Resolution */
-       pcu->vty.neigh_ctrl_port = OSMO_CTRL_PORT_BSC_NEIGH;

        pcu->T_defs = T_defs_pcu;
        osmo_tdefs_reset(pcu->T_defs);
diff --git a/src/gprs_pcu.h b/src/gprs_pcu.h
index 956f0e7..66cfca3 100644
--- a/src/gprs_pcu.h
+++ b/src/gprs_pcu.h
@@ -112,9 +112,6 @@
                uint32_t llc_discard_csec;
                uint32_t llc_idle_ack_csec;
                uint32_t llc_codel_interval_msec; /* 0=disabled, -1=use default 
interval */
-               /* Remote BSS resolution sevice (CTRL iface) */
-               char *neigh_ctrl_addr;
-               uint16_t neigh_ctrl_port;
        } vty;

        struct gsmtap_inst *gsmtap;
diff --git a/src/nacc_fsm.c b/src/nacc_fsm.c
index 0719d2c..c513423 100644
--- a/src/nacc_fsm.c
+++ b/src/nacc_fsm.c
@@ -358,63 +358,11 @@
        }
 }

-static int send_neigh_addr_req_ctrl_iface(struct nacc_fsm_ctx *ctx)
-{
-       struct gprs_rlcmac_bts *bts = ctx->ms->bts;
-       struct gprs_pcu *pcu = bts->pcu;
-       struct ctrl_cmd *cmd = NULL;
-       int rc;
-
-       /* We may have changed to this state previously (eg: we are handling
-        * another Pkt cell Change Notify with different target). Avoid
-        * re-creating the socket in that case. */
-       if (ctx->neigh_ctrl_conn->write_queue.bfd.fd == -1) {
-               rc = osmo_sock_init2_ofd(&ctx->neigh_ctrl_conn->write_queue.bfd,
-                                        AF_UNSPEC, SOCK_STREAM, IPPROTO_TCP,
-                                        NULL, 0, pcu->vty.neigh_ctrl_addr, 
pcu->vty.neigh_ctrl_port,
-                                        OSMO_SOCK_F_CONNECT);
-               if (rc < 0) {
-                       LOGPFSML(ctx->fi, LOGL_ERROR,
-                               "Failed to establish CTRL (neighbor resolution) 
connection to BSC r=%s:%u\n\n",
-                               pcu->vty.neigh_ctrl_addr, 
pcu->vty.neigh_ctrl_port);
-                       goto err_term;
-               }
-       }
-
-       cmd = ctrl_cmd_create(ctx, CTRL_TYPE_GET);
-       if (!cmd) {
-               LOGPFSML(ctx->fi, LOGL_ERROR, "CTRL msg creation failed\n");
-               goto err_term;
-       }
-
-       cmd->id = talloc_asprintf(cmd, "%u", 
arfcn_bsic_2_ctrl_id(ctx->neigh_key.tgt_arfcn,
-                                                                 
ctx->neigh_key.tgt_bsic));
-       cmd->variable = talloc_asprintf(cmd, 
"neighbor_resolve_cgi_ps_from_lac_ci.%d.%d.%d.%d",
-                                       ctx->neigh_key.local_lac, 
ctx->neigh_key.local_ci,
-                                       ctx->neigh_key.tgt_arfcn, 
ctx->neigh_key.tgt_bsic);
-       rc = ctrl_cmd_send(&ctx->neigh_ctrl_conn->write_queue, cmd);
-       if (rc) {
-               LOGPFSML(ctx->fi, LOGL_ERROR, "CTRL msg sent failed: %d\n", rc);
-               goto err_term;
-       }
-
-       talloc_free(cmd);
-       return 0;
-
-err_term:
-       talloc_free(cmd);
-       return -1;
-}
-
 static int send_neigh_addr_req(struct nacc_fsm_ctx *ctx)
 {
        struct gprs_rlcmac_bts *bts = ctx->ms->bts;

-       /* If PCU was configured to use the old CTRL interface, use it: */
-       if (ctx->neigh_ctrl_conn)
-               return send_neigh_addr_req_ctrl_iface(ctx);
-
-       /* Otherwise, by default the new PCUIF over IPA Abis multiplex proto 
should be used: */
+       /* Using PCUIF over IPA Abis multiplex proto: */
        return pcu_tx_neigh_addr_res_req(bts, &ctx->neigh_key);
 }

@@ -833,15 +781,6 @@
                ctx->fi = NULL;
        }

-       if (ctx->neigh_ctrl_conn) {
-               if (ctx->neigh_ctrl_conn->write_queue.bfd.fd != -1) {
-                       osmo_wqueue_clear(&ctx->neigh_ctrl_conn->write_queue);
-                       
osmo_fd_unregister(&ctx->neigh_ctrl_conn->write_queue.bfd);
-                       close(ctx->neigh_ctrl_conn->write_queue.bfd.fd);
-                       ctx->neigh_ctrl_conn->write_queue.bfd.fd = -1;
-               }
-       }
-
        return 0;
 }

@@ -859,19 +798,6 @@
        if (!ctx->fi)
                goto free_ret;

-       /* If CTRL ip present, use the old CTRL interface for neighbor 
resolution */
-       if (ms->bts->pcu->vty.neigh_ctrl_addr) {
-               ctx->neigh_ctrl = ctrl_handle_alloc(ctx, ctx, NULL);
-               ctx->neigh_ctrl->reply_cb = nacc_fsm_ctrl_reply_cb;
-               ctx->neigh_ctrl_conn = osmo_ctrl_conn_alloc(ctx, 
ctx->neigh_ctrl);
-               if (!ctx->neigh_ctrl_conn)
-                       goto free_ret;
-               /* Older versions of osmo_ctrl_conn_alloc didn't properly 
initialize fd to -1,
-                * so make sure to do it here otherwise fd may be valid fd 0 
and cause trouble */
-               ctx->neigh_ctrl_conn->write_queue.bfd.fd = -1;
-               llist_add(&ctx->neigh_ctrl_conn->list_entry, 
&ctx->neigh_ctrl->ccon_list);
-       }
-
        return ctx;
 free_ret:
        talloc_free(ctx);
diff --git a/src/nacc_fsm.h b/src/nacc_fsm.h
index c051637..ec6db2e 100644
--- a/src/nacc_fsm.h
+++ b/src/nacc_fsm.h
@@ -46,8 +46,6 @@
 struct nacc_fsm_ctx {
        struct osmo_fsm_inst *fi;
        struct GprsMs* ms; /* back pointer */
-       struct ctrl_handle *neigh_ctrl;
-       struct ctrl_connection *neigh_ctrl_conn;
        struct neigh_cache_entry_key neigh_key; /* target cell info from MS */
        struct osmo_cell_global_id_ps cgi_ps; /* target cell info resolved from 
req_{arfcn+bsic} */
        struct si_cache_value si_info; /* SI info resolved from SGSN, to be 
sent to MS */
diff --git a/src/pcu_vty.c b/src/pcu_vty.c
index 54e0df6..84c0456 100644
--- a/src/pcu_vty.c
+++ b/src/pcu_vty.c
@@ -303,11 +303,6 @@
        if (the_pcu->vty.ns_priority != -1)
                vty_out(vty, " gb socket-priority %d%s", 
the_pcu->vty.ns_priority, VTY_NEWLINE);

-       if (the_pcu->vty.neigh_ctrl_addr) {
-               vty_out(vty, " neighbor resolution %s %u%s",
-                       the_pcu->vty.neigh_ctrl_addr, 
the_pcu->vty.neigh_ctrl_port, VTY_NEWLINE);
-       }
-
        osmo_tdef_vty_write(vty, the_pcu->T_defs, " timer ");

        return CMD_SUCCESS;
@@ -1107,26 +1102,6 @@
        return CMD_SUCCESS;
 }

-DEFUN(cfg_neighbor_resolution, cfg_neighbor_resolution_cmd,
-       "neighbor resolution " VTY_IPV46_CMD " [<0-65535>]",
-       "Manage local and remote-BSS neighbor cells\n"
-       "Connect to Neighbor Resolution Service (CTRL interface) to given ip 
and port\n"
-       "IPv4 address to connect to\n" "IPv6 address to connect to\n"
-       "Port to connect to (default 4248)\n")
-{
-       vty_out(vty, "%% Warning: The CTRL interface for Neighbor Address 
Resolution is now deprecated."
-               "Upgrade osmo-bsc and drop the 'neighbor resolution " 
VTY_IPV46_CMD " [<0-65535>]' VTY "
-               "option in order to let osmo-pcu use the new resoluton method 
using the PCUIF over IPA "
-               "multiplex, which will work out of the box without required 
configuration.%s", VTY_NEWLINE);
-       osmo_talloc_replace_string(the_pcu, &the_pcu->vty.neigh_ctrl_addr, 
argv[0]);
-       if (argc > 1)
-               the_pcu->vty.neigh_ctrl_port = atoi(argv[1]);
-       else
-               the_pcu->vty.neigh_ctrl_port = OSMO_CTRL_PORT_BSC_NEIGH;
-       return CMD_SUCCESS;
-}
-
-
 DEFUN(show_bts_timer, show_bts_timer_cmd,
       "show bts-timer " OSMO_TDEF_VTY_ARG_T_OPTIONAL,
       SHOW_STR "Show BTS controlled timers\n"
@@ -1350,7 +1325,6 @@
        install_element(PCU_NODE, &cfg_pcu_gb_dialect_cmd);
        install_element(PCU_NODE, &cfg_pcu_gb_ip_dscp_cmd);
        install_element(PCU_NODE, &cfg_pcu_gb_priority_cmd);
-       install_element(PCU_NODE, &cfg_neighbor_resolution_cmd);
        install_element(PCU_NODE, &cfg_pcu_timer_cmd);

        install_element_ve(&show_bts_stats_cmd);

--
To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/32275
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Change-Id: Iff008c77ab49dd8855d54d2d44198475086012e4
Gerrit-Change-Number: 32275
Gerrit-PatchSet: 4
Gerrit-Owner: msuraev <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: arehbein <[email protected]>
Gerrit-Reviewer: laforge <[email protected]>
Gerrit-Reviewer: pespin <[email protected]>
Gerrit-MessageType: merged

Reply via email to