int ipa_ccm_tlv_to_unitdata(struct ipaccess_unit *ud, const struct tlv_parsed *tp) { int rc = 0; if (TLVP_PRES_LEN(tp, IPAC_IDTAG_SERNR, 1)) ud->serno = talloc_strdup(ud, (char *) TLVP_VAL(tp, IPAC_IDTAG_SERNR)); if (TLVP_PRES_LEN(tp, IPAC_IDTAG_UNITNAME, 1)) ud->unit_name = talloc_strdup(ud, (char *) TLVP_VAL(tp, IPAC_IDTAG_UNITNAME)); if (TLVP_PRES_LEN(tp, IPAC_IDTAG_LOCATION1, 1)) ud->location1 = talloc_strdup(ud, (char *) TLVP_VAL(tp, IPAC_IDTAG_LOCATION1)); if (TLVP_PRES_LEN(tp, IPAC_IDTAG_LOCATION2, 1)) ud->location2 = talloc_strdup(ud, (char *) TLVP_VAL(tp, IPAC_IDTAG_LOCATION2)); if (TLVP_PRES_LEN(tp, IPAC_IDTAG_EQUIPVERS, 1)) ud->equipvers = talloc_strdup(ud, (char *) TLVP_VAL(tp, IPAC_IDTAG_EQUIPVERS)); if (TLVP_PRES_LEN(tp, IPAC_IDTAG_SWVERSION, 1)) ud->swversion = talloc_strdup(ud, (char *) TLVP_VAL(tp, IPAC_IDTAG_SWVERSION)); if (TLVP_PRES_LEN(tp, IPAC_IDTAG_MACADDR, 17)) { rc = osmo_macaddr_parse(ud->mac_addr, (char *) TLVP_VAL(tp, IPAC_IDTAG_MACADDR)); if (rc < 0) goto out; } if (TLVP_PRES_LEN(tp, IPAC_IDTAG_UNIT, 1)) rc = ipa_parse_unitid((char *) TLVP_VAL(tp, IPAC_IDTAG_UNIT), ud); out: return rc; }
static struct gsm_bts *vty_bts; /* configuration */ DEFUN(cfg_bts_phy_hwaddr, cfg_bts_phy_hwaddr_cmd, "phy-hw-addr HWADDR", "Configure the hardware addess of the OCTPHY\n" "hardware address in aa:bb:cc:dd:ee:ff format\n") { struct gsm_bts *bts = vty->index; struct gsm_bts_trx *trx = bts->c0; struct octphy_hdl *fl1h = trx_octphy_hdl(trx); int rc; rc = osmo_macaddr_parse(fl1h->phy_addr.sll_addr, argv[0]); if (rc < 0) return CMD_WARNING; return CMD_SUCCESS; } DEFUN(cfg_bts_phy_netdev, cfg_bts_phy_netdev_cmd, "phy-netdev NAME", "Configure the hardware device towards the OCTPHY\n" "Ethernet device name\n") { struct gsm_bts *bts = vty->index; struct gsm_bts_trx *trx = bts->c0; struct octphy_hdl *fl1h = trx_octphy_hdl(trx);