Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/usb/net/if_ure.c
| Show First 20 Lines • Show All 1,009 Lines • ▼ Show 20 Lines | ure_attach_post_sub(struct usb_ether *ue) | ||||
| if_setsendqready(ifp); | if_setsendqready(ifp); | ||||
| if_setcapabilitiesbit(ifp, IFCAP_VLAN_MTU, 0); | if_setcapabilitiesbit(ifp, IFCAP_VLAN_MTU, 0); | ||||
| if_setcapabilitiesbit(ifp, IFCAP_VLAN_HWTAGGING, 0); | if_setcapabilitiesbit(ifp, IFCAP_VLAN_HWTAGGING, 0); | ||||
| if_setcapabilitiesbit(ifp, IFCAP_VLAN_HWCSUM|IFCAP_HWCSUM, 0); | if_setcapabilitiesbit(ifp, IFCAP_VLAN_HWCSUM|IFCAP_HWCSUM, 0); | ||||
| if_sethwassist(ifp, CSUM_IP|CSUM_IP_UDP|CSUM_IP_TCP); | if_sethwassist(ifp, CSUM_IP|CSUM_IP_UDP|CSUM_IP_TCP); | ||||
| #ifdef INET6 | #ifdef INET6 | ||||
| if_setcapabilitiesbit(ifp, IFCAP_HWCSUM_IPV6, 0); | if_setcapabilitiesbit(ifp, IFCAP_HWCSUM_IPV6, 0); | ||||
| if_sethwassistbits(ifp, CSUM_IP6_UDP|CSUM_IP6_TCP, 0); | |||||
| #endif | #endif | ||||
| if_setcapenable(ifp, if_getcapabilities(ifp)); | if_setcapenable(ifp, if_getcapabilities(ifp)); | ||||
| if (sc->sc_flags & (URE_FLAG_8156 | URE_FLAG_8156B)) { | if (sc->sc_flags & (URE_FLAG_8156 | URE_FLAG_8156B)) { | ||||
| ifmedia_init(&sc->sc_ifmedia, IFM_IMASK, ure_ifmedia_upd, | ifmedia_init(&sc->sc_ifmedia, IFM_IMASK, ure_ifmedia_upd, | ||||
| ure_ifmedia_sts); | ure_ifmedia_sts); | ||||
| ure_add_media_types(sc); | ure_add_media_types(sc); | ||||
| ifmedia_add(&sc->sc_ifmedia, IFM_ETHER | IFM_AUTO, 0, NULL); | ifmedia_add(&sc->sc_ifmedia, IFM_ETHER | IFM_AUTO, 0, NULL); | ||||
| ▲ Show 20 Lines • Show All 432 Lines • ▼ Show 20 Lines | case SIOCSIFCAP: | ||||
| if ((mask & IFCAP_VLAN_HWTAGGING) != 0 && | if ((mask & IFCAP_VLAN_HWTAGGING) != 0 && | ||||
| (if_getcapabilities(ifp) & IFCAP_VLAN_HWTAGGING) != 0) { | (if_getcapabilities(ifp) & IFCAP_VLAN_HWTAGGING) != 0) { | ||||
| if_togglecapenable(ifp, IFCAP_VLAN_HWTAGGING); | if_togglecapenable(ifp, IFCAP_VLAN_HWTAGGING); | ||||
| reinit++; | reinit++; | ||||
| } | } | ||||
| if ((mask & IFCAP_TXCSUM) != 0 && | if ((mask & IFCAP_TXCSUM) != 0 && | ||||
| (if_getcapabilities(ifp) & IFCAP_TXCSUM) != 0) { | (if_getcapabilities(ifp) & IFCAP_TXCSUM) != 0) { | ||||
| if_togglecapenable(ifp, IFCAP_TXCSUM); | if_togglecapenable(ifp, IFCAP_TXCSUM); | ||||
| if_togglehwassist(ifp, CSUM_IP|CSUM_IP_UDP|CSUM_IP_TCP); | |||||
| } | } | ||||
| if ((mask & IFCAP_RXCSUM) != 0 && | if ((mask & IFCAP_RXCSUM) != 0 && | ||||
| (if_getcapabilities(ifp) & IFCAP_RXCSUM) != 0) { | (if_getcapabilities(ifp) & IFCAP_RXCSUM) != 0) { | ||||
| if_togglecapenable(ifp, IFCAP_RXCSUM); | if_togglecapenable(ifp, IFCAP_RXCSUM); | ||||
| } | } | ||||
| if ((mask & IFCAP_TXCSUM_IPV6) != 0 && | if ((mask & IFCAP_TXCSUM_IPV6) != 0 && | ||||
| (if_getcapabilities(ifp) & IFCAP_TXCSUM_IPV6) != 0) { | (if_getcapabilities(ifp) & IFCAP_TXCSUM_IPV6) != 0) { | ||||
| if_togglecapenable(ifp, IFCAP_TXCSUM_IPV6); | if_togglecapenable(ifp, IFCAP_TXCSUM_IPV6); | ||||
| if_togglehwassist(ifp, CSUM_IP6_UDP|CSUM_IP6_TCP); | |||||
| } | } | ||||
| if ((mask & IFCAP_RXCSUM_IPV6) != 0 && | if ((mask & IFCAP_RXCSUM_IPV6) != 0 && | ||||
| (if_getcapabilities(ifp) & IFCAP_RXCSUM_IPV6) != 0) { | (if_getcapabilities(ifp) & IFCAP_RXCSUM_IPV6) != 0) { | ||||
| if_togglecapenable(ifp, IFCAP_RXCSUM_IPV6); | if_togglecapenable(ifp, IFCAP_RXCSUM_IPV6); | ||||
| } | } | ||||
| if (reinit > 0 && if_getdrvflags(ifp) & IFF_DRV_RUNNING) | if (reinit > 0 && if_getdrvflags(ifp) & IFF_DRV_RUNNING) | ||||
| if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); | if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); | ||||
| else | else | ||||
| ▲ Show 20 Lines • Show All 763 Lines • Show Last 20 Lines | |||||