Diff for /src/sys/dev/netif/fwe/if_fwe.c between versions 1.7 and 1.8

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 ++;
         }          }

Removed from v.1.7  
changed lines
  Added in v.1.8