|
|
| version 1.7, 2004/02/05 13:32:08 | version 1.8, 2004/02/05 17:51:44 |
|---|---|
| Line 219 fwe_attach(device_t dev) | Line 219 fwe_attach(device_t dev) |
| ifp->if_snd.ifq_maxlen = TX_MAX_QUEUE; | ifp->if_snd.ifq_maxlen = TX_MAX_QUEUE; |
| s = splimp(); | s = splimp(); |
| #if __FreeBSD_version >= 500000 | #if defined(__DragonFly__) || __FreeBSD_version < 500000 |
| ether_ifattach(ifp, eaddr); | |
| #else | |
| ether_ifattach(ifp, 1); | ether_ifattach(ifp, 1); |
| #else | |
| ether_ifattach(ifp, eaddr); | |
| #endif | #endif |
| splx(s); | splx(s); |
| /* Tell the upper layer(s) we support long frames. */ | /* Tell the upper layer(s) we support long frames. */ |
| ifp->if_data.ifi_hdrlen = sizeof(struct ether_vlan_header); | ifp->if_data.ifi_hdrlen = sizeof(struct ether_vlan_header); |
| #if __FreeBSD_version >= 500000 | #if defined(__FreeBSD__) && __FreeBSD_version >= 500000 |
| ifp->if_capabilities |= IFCAP_VLAN_MTU; | ifp->if_capabilities |= IFCAP_VLAN_MTU; |
| #endif | #endif |
| Line 288 fwe_detach(device_t dev) | Line 288 fwe_detach(device_t dev) |
| s = splimp(); | s = splimp(); |
| fwe_stop(fwe); | fwe_stop(fwe); |
| #if __FreeBSD_version >= 500000 | #if defined(__DragonFly__) || __FreeBSD_version < 500000 |
| ether_ifdetach(&fwe->fwe_if); | |
| #else | |
| ether_ifdetach(&fwe->fwe_if, 1); | ether_ifdetach(&fwe->fwe_if, 1); |
| #else | |
| ether_ifdetach(&fwe->fwe_if); | |
| #endif | #endif |
| splx(s); | splx(s); |
| Line 354 found: | Line 354 found: |
| xferq->stproc = NULL; | xferq->stproc = NULL; |
| for (i = 0; i < xferq->bnchunk; i ++) { | for (i = 0; i < xferq->bnchunk; i ++) { |
| m = | m = |
| #if __FreeBSD_version >= 500000 | #if defined(__DragonFly__) || __FreeBSD_version < 500000 |
| m_getcl(M_TRYWAIT, MT_DATA, M_PKTHDR); | |
| #else | |
| m_getcl(M_WAIT, MT_DATA, M_PKTHDR); | m_getcl(M_WAIT, MT_DATA, M_PKTHDR); |
| #else | |
| m_getcl(M_TRYWAIT, MT_DATA, M_PKTHDR); | |
| #endif | #endif |
| xferq->bulkxfer[i].mbuf = m; | xferq->bulkxfer[i].mbuf = m; |
| if (m != NULL) { | if (m != NULL) { |
| Line 434 fwe_ioctl(struct ifnet *ifp, u_long cmd, | Line 434 fwe_ioctl(struct ifnet *ifp, u_long cmd, |
| fwe->stream_ch, fwe->dma_ch); | fwe->stream_ch, fwe->dma_ch); |
| splx(s); | splx(s); |
| break; | break; |
| #if __FreeBSD_version >= 500000 | #if defined(__FreeBSD__) && __FreeBSD_version >= 500000 |
| default: | default: |
| #else | #else |
| case SIOCSIFADDR: | case SIOCSIFADDR: |
| Line 445 fwe_ioctl(struct ifnet *ifp, u_long cmd, | Line 445 fwe_ioctl(struct ifnet *ifp, u_long cmd, |
| error = ether_ioctl(ifp, cmd, data); | error = ether_ioctl(ifp, cmd, data); |
| splx(s); | splx(s); |
| return (error); | return (error); |
| #if __FreeBSD_version < 500000 | #if defined(__DragonFly__) || __FreeBSD_version < 500000 |
| default: | default: |
| return (EINVAL); | return (EINVAL); |
| #endif | #endif |
| Line 541 fwe_as_output(struct fwe_softc *fwe, str | Line 541 fwe_as_output(struct fwe_softc *fwe, str |
| if (m == NULL) | if (m == NULL) |
| break; | break; |
| STAILQ_REMOVE_HEAD(&fwe->xferlist, link); | STAILQ_REMOVE_HEAD(&fwe->xferlist, link); |
| #if __FreeBSD_version >= 500000 | #if defined(__DragonFly__) || __FreeBSD_version < 500000 |
| BPF_MTAP(ifp, m); | |
| #else | |
| if (ifp->if_bpf != NULL) | if (ifp->if_bpf != NULL) |
| bpf_mtap(ifp, m); | bpf_mtap(ifp, m); |
| #else | |
| BPF_MTAP(ifp, m); | |
| #endif | #endif |
| /* keep ip packet alignment for alpha */ | /* keep ip packet alignment for alpha */ |
| Line 584 fwe_as_input(struct fw_xferq *xferq) | Line 584 fwe_as_input(struct fw_xferq *xferq) |
| struct fw_bulkxfer *sxfer; | struct fw_bulkxfer *sxfer; |
| struct fw_pkt *fp; | struct fw_pkt *fp; |
| u_char *c; | u_char *c; |
| #if __FreeBSD_version < 500000 | #if defined(__DragonFly__) || __FreeBSD_version < 500000 |
| struct ether_header *eh; | struct ether_header *eh; |
| #endif | #endif |
| Line 617 fwe_as_input(struct fw_xferq *xferq) | Line 617 fwe_as_input(struct fw_xferq *xferq) |
| m->m_data += HDR_LEN + ETHER_ALIGN; | m->m_data += HDR_LEN + ETHER_ALIGN; |
| c = mtod(m, char *); | c = mtod(m, char *); |
| #if __FreeBSD_version < 500000 | #if defined(__DragonFly__) || __FreeBSD_version < 500000 |
| eh = (struct ether_header *)c; | eh = (struct ether_header *)c; |
| m->m_data += sizeof(struct ether_header); | m->m_data += sizeof(struct ether_header); |
| #endif | #endif |
| Line 639 fwe_as_input(struct fw_xferq *xferq) | Line 639 fwe_as_input(struct fw_xferq *xferq) |
| c[20], c[21], c[22], c[23] | c[20], c[21], c[22], c[23] |
| ); | ); |
| #endif | #endif |
| #if __FreeBSD_version >= 500000 | #if defined(__DragonFly__) || __FreeBSD_version < 500000 |
| (*ifp->if_input)(ifp, m); | |
| #else | |
| ether_input(ifp, eh, m); | ether_input(ifp, eh, m); |
| #else | |
| (*ifp->if_input)(ifp, m); | |
| #endif | #endif |
| ifp->if_ipackets ++; | ifp->if_ipackets ++; |
| } | } |