Lines Matching refs:interface

112 ifnet_allocate(const struct ifnet_init_params *init, ifnet_t *interface)
141 return (ifnet_allocate_extended(&einit, interface));
146 ifnet_t *interface)
297 *interface = ifp;
302 *interface = NULL;
310 * function. If the interface is attached, the interface will be
311 * recycled when the interface's if_free function is called. If the
312 * interface is never attached, the if_free function will never be
313 * called and the interface will never be recycled.
343 ifnet_softc(ifnet_t interface)
345 return ((interface == NULL) ? NULL : interface->if_softc);
349 ifnet_name(ifnet_t interface)
351 return ((interface == NULL) ? NULL : interface->if_name);
355 ifnet_family(ifnet_t interface)
357 return ((interface == NULL) ? 0 : interface->if_family);
361 ifnet_unit(ifnet_t interface)
363 return ((interface == NULL) ? (u_int32_t)0xffffffff :
364 (u_int32_t)interface->if_unit);
368 ifnet_index(ifnet_t interface)
370 return ((interface == NULL) ? (u_int32_t)0xffffffff :
371 interface->if_index);
375 ifnet_set_flags(ifnet_t interface, u_int16_t new_flags, u_int16_t mask)
379 if (interface == NULL)
382 ifnet_lock_exclusive(interface);
386 if_updown(interface, (new_flags & IFF_UP) == IFF_UP);
389 old_flags = interface->if_flags;
390 interface->if_flags = (new_flags & mask) | (interface->if_flags & ~mask);
393 (interface->if_flags & IFF_MULTICAST)) {
395 if (IGMP_IFINFO(interface) != NULL)
396 igmp_initsilent(interface, IGMP_IFINFO(interface));
399 if (MLD_IFINFO(interface) != NULL)
400 mld6_initsilent(interface, MLD_IFINFO(interface));
404 ifnet_lock_done(interface);
410 ifnet_flags(ifnet_t interface)
412 return ((interface == NULL) ? 0 : interface->if_flags);
421 * If IFEF_AWDL has been set on the interface and the caller attempts
455 ifnet_set_eflags(ifnet_t interface, u_int32_t new_flags, u_int32_t mask)
457 if (interface == NULL)
460 ifnet_lock_exclusive(interface);
464 if (ifnet_awdl_check_eflags(interface, &new_flags, &mask) != 0) {
465 ifnet_lock_done(interface);
468 interface->if_eflags =
469 (new_flags & mask) | (interface->if_eflags & ~mask);
470 ifnet_lock_done(interface);
476 ifnet_eflags(ifnet_t interface)
478 return ((interface == NULL) ? 0 : interface->if_eflags);
691 ifnet_set_offload(ifnet_t interface, ifnet_offload_t offload)
695 if (interface == NULL)
698 ifnet_lock_exclusive(interface);
699 interface->if_hwassist = (offload & offload_mask);
700 ifnet_lock_done(interface);
713 (void) ifnet_set_capabilities_supported(interface, ifcaps,
715 (void) ifnet_set_capabilities_enabled(interface, ifcaps,
723 ifnet_offload(ifnet_t interface)
725 return ((interface == NULL) ?
726 0 : (interface->if_hwassist & offload_mask));
730 ifnet_set_tso_mtu(ifnet_t interface, sa_family_t family, u_int32_t mtuLen)
734 if (interface == NULL || mtuLen < interface->if_mtu)
739 if (interface->if_hwassist & IFNET_TSO_IPV4)
740 interface->if_tso_v4_mtu = mtuLen;
746 if (interface->if_hwassist & IFNET_TSO_IPV6)
747 interface->if_tso_v6_mtu = mtuLen;
761 ifnet_get_tso_mtu(ifnet_t interface, sa_family_t family, u_int32_t *mtuLen)
765 if (interface == NULL || mtuLen == NULL)
770 if (interface->if_hwassist & IFNET_TSO_IPV4)
771 *mtuLen = interface->if_tso_v4_mtu;
777 if (interface->if_hwassist & IFNET_TSO_IPV6)
778 *mtuLen = interface->if_tso_v6_mtu;
792 ifnet_set_wake_flags(ifnet_t interface, u_int32_t properties, u_int32_t mask)
800 if (interface == NULL)
807 ifnet_lock_exclusive(interface);
809 interface->if_wake_properties =
810 (properties & mask) | (interface->if_wake_properties & ~mask);
812 ifnet_lock_done(interface);
814 (void) ifnet_touch_lastchange(interface);
822 strlcpy(&ev_data.if_name[0], interface->if_name, IFNAMSIZ);
823 ev_data.if_family = interface->if_family;
824 ev_data.if_unit = (u_int32_t)interface->if_unit;
834 ifnet_get_wake_flags(ifnet_t interface)
836 return ((interface == NULL) ? 0 : interface->if_wake_properties);
843 ifnet_set_link_mib_data(ifnet_t interface, void *mibData, u_int32_t mibLen)
845 if (interface == NULL)
848 ifnet_lock_exclusive(interface);
849 interface->if_linkmib = (void*)mibData;
850 interface->if_linkmiblen = mibLen;
851 ifnet_lock_done(interface);
856 ifnet_get_link_mib_data(ifnet_t interface, void *mibData, u_int32_t *mibLen)
860 if (interface == NULL)
863 ifnet_lock_shared(interface);
864 if (*mibLen < interface->if_linkmiblen)
866 if (result == 0 && interface->if_linkmib == NULL)
870 *mibLen = interface->if_linkmiblen;
871 bcopy(interface->if_linkmib, mibData, *mibLen);
873 ifnet_lock_done(interface);
879 ifnet_get_link_mib_data_length(ifnet_t interface)
881 return ((interface == NULL) ? 0 : interface->if_linkmiblen);
885 ifnet_output(ifnet_t interface, protocol_family_t protocol_family,
888 if (interface == NULL || protocol_family == 0 || m == NULL) {
893 return (dlil_output(interface, protocol_family, m, route, dest, 0, NULL));
897 ifnet_output_raw(ifnet_t interface, protocol_family_t protocol_family, mbuf_t m)
899 if (interface == NULL || m == NULL) {
904 return (dlil_output(interface, protocol_family, m, NULL, NULL, 1, NULL));
908 ifnet_set_mtu(ifnet_t interface, u_int32_t mtu)
910 if (interface == NULL)
913 interface->if_mtu = mtu;
918 ifnet_mtu(ifnet_t interface)
920 return ((interface == NULL) ? 0 : interface->if_mtu);
924 ifnet_type(ifnet_t interface)
926 return ((interface == NULL) ? 0 : interface->if_data.ifi_type);
930 ifnet_set_addrlen(ifnet_t interface, u_char addrlen)
932 if (interface == NULL)
935 interface->if_data.ifi_addrlen = addrlen;
940 ifnet_addrlen(ifnet_t interface)
942 return ((interface == NULL) ? 0 : interface->if_data.ifi_addrlen);
946 ifnet_set_hdrlen(ifnet_t interface, u_char hdrlen)
948 if (interface == NULL)
951 interface->if_data.ifi_hdrlen = hdrlen;
956 ifnet_hdrlen(ifnet_t interface)
958 return ((interface == NULL) ? 0 : interface->if_data.ifi_hdrlen);
962 ifnet_set_metric(ifnet_t interface, u_int32_t metric)
964 if (interface == NULL)
967 interface->if_data.ifi_metric = metric;
972 ifnet_metric(ifnet_t interface)
974 return ((interface == NULL) ? 0 : interface->if_data.ifi_metric);
1236 ifnet_touch_lastchange(ifnet_t interface)
1238 if (interface == NULL)
1241 TOUCHLASTCHANGE(&interface->if_lastchange);
1247 ifnet_lastchange(ifnet_t interface, struct timeval *last_change)
1249 if (interface == NULL)
1252 *last_change = interface->if_data.ifi_lastchange;
1261 ifnet_get_address_list(ifnet_t interface, ifaddr_t **addresses)
1264 ifnet_get_address_list_family(interface, addresses, 0));
1273 ifnet_get_address_list_family(ifnet_t interface, ifaddr_t **addresses,
1276 return (ifnet_get_address_list_family_internal(interface, addresses,
1281 ifnet_get_address_list_family_internal(ifnet_t interface, ifaddr_t **addresses,
1303 ifp = interface;
1313 if (interface != NULL && ifp != interface)
1317 if (interface == NULL || interface == ifp) {
1390 ifnet_lladdr(ifnet_t interface)
1395 if (interface == NULL)
1400 * the interface; it never gets deallocated.
1402 ifa = interface->if_lladdr;
1411 ifnet_llbroadcast_copy_bytes(ifnet_t interface, void *addr, size_t buffer_len,
1414 if (interface == NULL || addr == NULL || out_len == NULL)
1417 *out_len = interface->if_broadcast.length;
1419 if (buffer_len < interface->if_broadcast.length)
1422 if (interface->if_broadcast.length == 0)
1425 if (interface->if_broadcast.length <=
1426 sizeof (interface->if_broadcast.u.buffer)) {
1427 bcopy(interface->if_broadcast.u.buffer, addr,
1428 interface->if_broadcast.length);
1430 bcopy(interface->if_broadcast.u.ptr, addr,
1431 interface->if_broadcast.length);
1438 ifnet_lladdr_copy_bytes(ifnet_t interface, void *lladdr, size_t lladdr_len)
1443 if (interface == NULL || lladdr == NULL)
1448 * the interface; it never gets deallocated.
1450 ifa = interface->if_lladdr;
1465 ifnet_set_lladdr_internal(ifnet_t interface, const void *lladdr,
1471 if (interface == NULL)
1475 ifnet_lock_exclusive(interface);
1477 (lladdr_len != interface->if_addrlen || lladdr == 0)) {
1478 ifnet_lock_done(interface);
1482 ifa = ifnet_addrs[interface->if_index - 1];
1491 bzero(LLADDR(sdl), interface->if_addrlen);
1502 ifnet_lock_done(interface);
1507 dlil_post_msg(interface, KEV_DL_SUBCLASS,
1515 ifnet_set_lladdr(ifnet_t interface, const void* lladdr, size_t lladdr_len)
1517 return (ifnet_set_lladdr_internal(interface, lladdr, lladdr_len, 0, 0));
1521 ifnet_set_lladdr_and_type(ifnet_t interface, const void* lladdr,
1524 return (ifnet_set_lladdr_internal(interface, lladdr,
1529 ifnet_add_multicast(ifnet_t interface, const struct sockaddr *maddr,
1532 if (interface == NULL || maddr == NULL)
1539 return (if_addmulti_anon(interface, maddr, ifmap));
1996 ifaddr_findbestforaddr(const struct sockaddr *addr, ifnet_t interface)
1998 if (addr == NULL || interface == NULL)
2001 return (ifaof_ifpforaddr(addr, interface));
2072 /* interface cloner */