Lines Matching defs:link

59  * ncu_phys.c - contains routines that are physical-link specific.
64 * Get link state from kstats. Used to determine initial link state for
65 * cases where drivers do not support DL_NOTE_LINK_UP/DOWN. If link
66 * state is LINK_STATE_UNKNOWN, we assume the link is up and the IP NCU
105 * Set/unset link propeties. At present, these are MAC address, link MTU and
148 "for link %s", mtustr, ncu->ncu_name);
158 "autopush module for link %s", num_autopush, ncu->ncu_name);
443 nwamd_link_t *link;
456 "for link %s", linkname);
460 link = &ncu->ncu_link;
471 nlog(LOG_DEBUG, "nwamd_wlan_set_key: running for link %s", linkname);
529 link->nwamd_link_wifi_key = nwamd_wlan_get_key_named(obj_name,
531 (void) strlcpy(link->nwamd_link_wifi_keyname, obj_name,
532 sizeof (link->nwamd_link_wifi_keyname));
533 link->nwamd_link_wifi_security_mode = security_mode;
535 link->nwamd_link_wifi_key->wk_idx =
539 /* If link NCU is offline* or online, (re)connect. */
543 if (strcmp(essid, link->nwamd_link_wifi_essid) == 0)
710 nwamd_link_t *link = &ncu->ncu_link;
711 nwamd_wifi_scan_t *s = &link->nwamd_link_wifi_scan;
717 link->nwamd_link_wifi_essid) != 0 ||
718 (link->nwamd_link_wifi_bssid[0] != '\0' &&
720 link->nwamd_link_wifi_bssid) != 0))
761 nwamd_link_t *link = data;
781 if (strcmp(bssids[i], link->nwamd_link_wifi_bssid) == 0) {
789 (void) strlcpy(link->nwamd_link_wifi_essid, name,
790 sizeof (link->nwamd_link_wifi_essid));
808 check_if_hidden_wlan_was_visited(nwamd_link_t *link)
810 (void) nwam_walk_known_wlans(find_bssid_cb, link,
820 nwamd_link_t *link;
826 "for link %s", linkname);
830 link = &ncu->ncu_link;
845 (void) dladm_wlan_disconnect(dld_handle, link->nwamd_link_id);
847 (void) strlcpy(link->nwamd_link_wifi_essid, essid,
848 sizeof (link->nwamd_link_wifi_essid));
849 (void) strlcpy(link->nwamd_link_wifi_bssid, bssid,
850 sizeof (link->nwamd_link_wifi_bssid));
851 link->nwamd_link_wifi_security_mode = security_mode;
852 link->nwamd_link_wifi_add_to_known_wlans = add_to_known_wlans;
855 if (link->nwamd_link_wifi_essid[0] == '\0')
856 check_if_hidden_wlan_was_visited(link);
862 if (NEED_ENC(link->nwamd_link_wifi_security_mode)) {
868 if ((link->nwamd_link_wifi_key = nwamd_wlan_get_key
869 (link->nwamd_link_wifi_essid, link->nwamd_link_wifi_bssid,
870 link->nwamd_link_wifi_security_mode)) != NULL) {
875 nwamd_set_key_name(link->nwamd_link_wifi_essid,
876 link->nwamd_link_wifi_bssid,
877 link->nwamd_link_wifi_keyname,
881 link->nwamd_link_wifi_keyname);
883 } else if ((link->nwamd_link_wifi_key = nwamd_wlan_get_key
884 (link->nwamd_link_wifi_essid, NULL,
885 link->nwamd_link_wifi_security_mode)) != NULL) {
886 nwamd_set_key_name(link->nwamd_link_wifi_essid, NULL,
887 link->nwamd_link_wifi_keyname,
890 link->nwamd_link_wifi_keyname);
895 link->nwamd_link_wifi_essid);
898 free(link->nwamd_link_wifi_key);
899 link->nwamd_link_wifi_key = NULL;
900 link->nwamd_link_wifi_keyname[0] = '\0';
903 if (NEED_ENC(link->nwamd_link_wifi_security_mode) && !found_key) {
957 nwamd_link_t *link = &ncu->ncu_link;
958 nwamd_wifi_scan_t *s = &link->nwamd_link_wifi_scan;
972 if (link->nwamd_link_wifi_connected) {
974 (link->nwamd_link_wifi_signal_strength, &curr_strength);
984 link->nwamd_link_wifi_connected) {
1020 (void) strlcpy(link->nwamd_link_wifi_essid,
1022 sizeof (link->nwamd_link_wifi_essid));
1031 (void) strlcpy(link->nwamd_link_wifi_bssid,
1033 sizeof (link->nwamd_link_wifi_bssid));
1035 (void) strlcpy(link->nwamd_link_wifi_signal_strength,
1037 sizeof (link->nwamd_link_wifi_signal_strength));
1038 link->nwamd_link_wifi_security_mode =
1043 (link->nwamd_link_wifi_signal_strength, &max_strength);
1066 * WLAN scan code for WIFI link NCUs.
1089 /* Handle periodic scan event (which puts link into WIFI_INIT state */
1135 "for link %s: ommiting (%s, %s)", linkname, essid_name,
1188 nwamd_link_t *link = &ncu->ncu_link;
1203 if (dladm_wlan_get_linkattr(dld_handle, link->nwamd_link_id,
1224 if (link->nwamd_link_wifi_autoconf) {
1225 (void) strlcpy(link->nwamd_link_wifi_essid, essid,
1226 sizeof (link->nwamd_link_wifi_essid));
1227 (void) strlcpy(link->nwamd_link_wifi_bssid, bssid,
1228 sizeof (link->nwamd_link_wifi_bssid));
1234 if (strcmp(essid, link->nwamd_link_wifi_essid) == 0) {
1237 link->nwamd_link_wifi_signal_strength);
1240 (void) strlcpy(link->nwamd_link_wifi_bssid, bssid,
1241 sizeof (link->nwamd_link_wifi_bssid));
1265 ncu->ncu_name, link->nwamd_link_wifi_essid,
1266 link->nwamd_link_wifi_bssid);
1267 (void) dladm_wlan_disconnect(dld_handle, link->nwamd_link_id);
1268 link->nwamd_link_wifi_connected = B_FALSE;
1274 * WLAN scan thread. Called with the per-link WiFi mutex held.
1282 nwamd_link_t *link;
1293 "for link %s", linkname);
1299 link = &ncu->ncu_link;
1307 if ((now - link->nwamd_link_wifi_scan.nwamd_wifi_scan_last_time) <
1318 * Prepare scan data - copy link name and copy previous "current"
1327 link->nwamd_link_wifi_scan.nwamd_wifi_scan_curr_num;
1330 link->nwamd_link_wifi_scan.nwamd_wifi_scan_curr,
1333 link_id = link->nwamd_link_id;
1350 nlog(LOG_ERR, "wlan_scan_thread: cannot scan link %s",
1359 "for link %s after doing scan", linkname);
1364 link = &ncu->ncu_link;
1408 link->nwamd_link_wifi_scan = s;
1411 link->nwamd_link_wifi_essid[0] != '\0',
1412 link->nwamd_link_wifi_connected);
1434 if (link->nwamd_link_wifi_connected) {
1452 "%s %s", link->nwamd_link_wifi_essid,
1453 link->nwamd_link_wifi_bssid);
1465 link->nwamd_link_wifi_essid, link->nwamd_link_wifi_bssid);
1469 (void) strlcpy(essid, link->nwamd_link_wifi_essid,
1471 (void) strlcpy(bssid, link->nwamd_link_wifi_bssid,
1475 link->nwamd_link_wifi_security_mode, B_TRUE);
1479 "known WLAN %s %s", link->nwamd_link_wifi_essid,
1480 link->nwamd_link_wifi_bssid);
1498 char *link = strdup(linkname);
1500 if (link == NULL) {
1506 link);
1509 link) != 0) {
1511 free(link);
1547 nwamd_link_t *link;
1559 "for link %s", linkname);
1565 link = &ncu->ncu_link;
1582 if (dladm_wlan_str2essid(link->nwamd_link_wifi_essid, &attr.wa_essid)
1585 "for '%s'", link->nwamd_link_wifi_essid, ncu->ncu_name);
1591 if (link->nwamd_link_wifi_bssid[0] != '\0') {
1592 if (dladm_wlan_str2bssid(link->nwamd_link_wifi_bssid,
1595 "for '%s'", link->nwamd_link_wifi_bssid,
1603 if (NEED_ENC(link->nwamd_link_wifi_security_mode)) {
1604 if (link->nwamd_link_wifi_key == NULL) {
1606 "key for WLAN '%s'", link->nwamd_link_wifi_essid);
1618 (void) memcpy(key, link->nwamd_link_wifi_key,
1622 attr.wa_secmode = link->nwamd_link_wifi_security_mode;
1634 * the link object during that period would be impossible if we held the
1638 link->nwamd_link_wifi_autoconf = B_FALSE;
1639 link_id = link->nwamd_link_id;
1661 "for link %s", linkname);
1666 link = &ncu->ncu_link;
1669 link->nwamd_link_wifi_autoconf = B_TRUE;
1676 link->nwamd_link_wifi_connected = nwamd_wlan_connected(ncu_obj);
1678 if (link->nwamd_link_wifi_connected) {
1679 if (link->nwamd_link_wifi_add_to_known_wlans) {
1683 link->nwamd_link_wifi_essid);
1685 (link->nwamd_link_wifi_essid,
1686 link->nwamd_link_wifi_bssid[0] != '\0' ?
1687 link->nwamd_link_wifi_bssid : NULL,
1688 link->nwamd_link_wifi_security_mode,
1689 link->nwamd_link_wifi_security_mode ==
1691 (uint_t)link->nwamd_link_wifi_key->wk_idx : 1,
1692 NEED_ENC(link->nwamd_link_wifi_security_mode) ?
1693 link->nwamd_link_wifi_keyname : NULL))
1721 char *link = strdup(linkname);
1723 if (link == NULL) {
1729 link);
1731 if (pthread_create(&wifi_thread, NULL, wlan_connect_thread, link) != 0)
1751 nwamd_link_t *link;
1758 "not find object for link %s", linkname);
1762 link = &ncu->ncu_link;
1770 link->nwamd_link_wifi_monitor_thread = 0;
1777 * link monitoring thread in operation - if so exit this
1783 if (link->nwamd_link_wifi_monitor_thread != 0) {
1784 /* Already have a monitor thread for link? */
1788 link->nwamd_link_wifi_monitor_thread =
1794 "disconnect occured for WLAN on link %s", linkname);
1799 link->nwamd_link_wifi_monitor_thread = 0;
1815 char *link = strdup(linkname);
1817 if (link == NULL) {
1823 link);
1826 link) != 0) {
1828 "link %s", link);
1829 free(link);
1843 nwamd_link_t *link;
1853 link = &ncu->ncu_link;
1857 * We ignore link state events for WiFi because it is very flaky.
1861 if (link->nwamd_link_media == DL_WIFI) {
1867 * If it's a link up event and we're not disabled, go online.
1872 if (link->nwamd_link_activation_mode ==
1881 if (link->nwamd_link_priority_group > priority_group) {
1887 link->nwamd_link_priority_group,
1890 } else if (link->nwamd_link_priority_group ==
1896 link->nwamd_link_priority_group,
1899 * Change link state to UP. It will be
1913 link->nwamd_link_priority_group,
1917 * We need to mark the link as up so that when
1929 (link->nwamd_link_priority_group);
1933 } else if (link->nwamd_link_activation_mode ==
1946 * If the link is down then start or continue transition down.
1952 if (link->nwamd_link_activation_mode ==
1957 link->nwamd_link_priority_group);