[PATCH 04/29] libnetworking: Replace IFF_RUNNING and IFF_OACTIVE.

Christian Mauderer christian.mauderer at embedded-brains.de
Mon Apr 25 15:06:38 UTC 2016


From: Christian Mauderer <Christian.Mauderer at embedded-brains.de>

These two defines are replaced by IFF_DRV_RUNNING and IFF_DRV_OACTIVE.
---
 c/src/lib/libbsp/arm/atsam/network/if_atsam.c      | 14 ++++-----
 c/src/lib/libbsp/arm/csb336/network/network.c      | 14 ++++-----
 c/src/lib/libbsp/arm/csb337/network/network.c      | 14 ++++-----
 c/src/lib/libbsp/arm/gumstix/rtl8019/rtl8019.c     | 20 ++++++-------
 .../libbsp/arm/shared/lpc/network/lpc-ethernet.c   |  6 ++--
 c/src/lib/libbsp/i386/pc386/3c509/3c509.c          | 26 ++++++++---------
 c/src/lib/libbsp/i386/pc386/ne2000/ne2000.c        | 20 ++++++-------
 c/src/lib/libbsp/i386/pc386/wd8003/wd8003.c        | 14 ++++-----
 .../lm32/shared/milkymist_networking/network.c     | 14 ++++-----
 c/src/lib/libbsp/lm32/shared/tsmac/tsmac.c         | 14 ++++-----
 c/src/lib/libbsp/m68k/av5282/network/network.c     | 14 ++++-----
 c/src/lib/libbsp/m68k/csb360/network/network.c     | 14 ++++-----
 c/src/lib/libbsp/m68k/gen68360/network/network.c   | 14 ++++-----
 c/src/lib/libbsp/m68k/genmcf548x/network/network.c | 14 ++++-----
 c/src/lib/libbsp/m68k/mcf5235/network/network.c    | 14 ++++-----
 c/src/lib/libbsp/m68k/mcf5329/network/network.c    | 14 ++++-----
 c/src/lib/libbsp/m68k/mvme167/network/network.c    | 16 +++++-----
 c/src/lib/libbsp/m68k/uC5282/network/network.c     | 14 ++++-----
 c/src/lib/libbsp/mips/csb350/network/network.c     | 14 ++++-----
 .../libbsp/powerpc/beatnik/network/if_em/if_em.c   | 34 +++++++++++-----------
 .../libbsp/powerpc/beatnik/network/if_gfe/if_gfe.c | 28 +++++++++---------
 .../powerpc/beatnik/network/if_mve/mv643xx_eth.c   | 28 +++++++++---------
 .../libbsp/powerpc/gen5200/network_5200/network.c  | 14 ++++-----
 .../lib/libbsp/powerpc/haleakala/network/network.c | 18 ++++++------
 .../libbsp/powerpc/mpc55xxevb/network/smsc9218i.c  |  6 ++--
 .../powerpc/mpc8260ads/network/if_hdlcsubr.c       |  4 +--
 .../libbsp/powerpc/mpc8260ads/network/network.c    | 14 ++++-----
 c/src/lib/libbsp/powerpc/mvme3100/network/tsec.c   | 26 ++++++++---------
 .../mvme5500/network/if_100MHz/GT64260eth.c        | 22 +++++++-------
 .../powerpc/mvme5500/network/if_1GHz/if_wm.c       | 16 +++++-----
 c/src/lib/libbsp/powerpc/psim/network/if_sim.c     | 10 +++----
 .../lib/libbsp/powerpc/qoriq/network/if_intercom.c |  6 ++--
 .../libbsp/powerpc/tqm8xx/network/network_fec.c    | 14 ++++-----
 .../libbsp/powerpc/tqm8xx/network/network_scc.c    | 14 ++++-----
 c/src/lib/libbsp/powerpc/virtex/network/xiltemac.c | 24 +++++++--------
 c/src/lib/libbsp/sparc/shared/net/greth.c          | 20 ++++++-------
 c/src/lib/libcpu/bfin/network/ethernet.c           | 16 +++++-----
 c/src/lib/libcpu/powerpc/mpc83xx/network/tsec.c    |  8 ++---
 c/src/libchip/network/cs8900.c                     | 12 ++++----
 c/src/libchip/network/dec21140.c                   | 14 ++++-----
 c/src/libchip/network/dwmac.c                      |  8 ++---
 c/src/libchip/network/elnk.c                       | 16 +++++-----
 c/src/libchip/network/greth.c                      | 20 ++++++-------
 c/src/libchip/network/i82586.c                     | 14 ++++-----
 c/src/libchip/network/if_dc.c                      | 22 +++++++-------
 c/src/libchip/network/if_fxp.c                     |  8 ++---
 c/src/libchip/network/open_eth.c                   | 14 ++++-----
 c/src/libchip/network/smc91111.c                   | 16 +++++-----
 c/src/libchip/network/sonic.c                      | 14 ++++-----
 cpukit/libnetworking/net/if_ethersubr.c            |  6 ++--
 cpukit/libnetworking/net/if_loop.c                 |  3 +-
 cpukit/libnetworking/net/if_ppp.c                  | 14 ++++-----
 cpukit/libnetworking/net/ppp_tty.c                 |  2 +-
 cpukit/libnetworking/rtems/rtems_dhcp_failsafe.c   |  6 ++--
 cpukit/libnetworking/rtems/rtems_showifstat.c      |  4 +--
 doc/networking/driver.t                            | 12 ++++----
 56 files changed, 407 insertions(+), 404 deletions(-)

diff --git a/c/src/lib/libbsp/arm/atsam/network/if_atsam.c b/c/src/lib/libbsp/arm/atsam/network/if_atsam.c
index c738ee3..d548c1f 100644
--- a/c/src/lib/libbsp/arm/atsam/network/if_atsam.c
+++ b/c/src/lib/libbsp/arm/atsam/network/if_atsam.c
@@ -819,7 +819,7 @@ static void if_atsam_tx_daemon(void *arg)
 			_ARM_Data_synchronization_barrier();
 			GMAC_TransmissionStart(pHw);
 		}
-		ifp->if_flags &= ~IFF_OACTIVE;
+		ifp->if_flags &= ~IFF_DRV_OACTIVE;
 	}
 }
 
@@ -833,7 +833,7 @@ static void if_atsam_enet_start(struct ifnet *ifp)
 
 	TRACE_DEBUG(" in start\n\r");
 
-	ifp->if_flags |= IFF_OACTIVE;
+	ifp->if_flags |= IFF_DRV_OACTIVE;
 	rtems_bsdnet_event_send(sc->tx_daemon_tid,
 	    ATSAMV7_ETH_START_TRANSMIT_EVENT);
 }
@@ -901,10 +901,10 @@ static void if_atsam_init(void *arg)
 	struct ifnet *ifp = &sc->arpcom.ac_if;
 	uint32_t dmac_cfg = 0;
 
-	if (sc->arpcom.ac_if.if_flags & IFF_RUNNING) {
+	if (sc->arpcom.ac_if.if_flags & IFF_DRV_RUNNING) {
 		return;
 	}
-	sc->arpcom.ac_if.if_flags |= IFF_RUNNING;
+	sc->arpcom.ac_if.if_flags |= IFF_DRV_RUNNING;
 	sc->interrupt_number = GMAC_IRQn;
 
 	/* Disable Watchdog */
@@ -986,7 +986,7 @@ static void if_atsam_stop(struct if_atsam_softc *sc)
 
 	TRACE_DEBUG(" in stop\n\r");
 
-	ifp->if_flags &= ~IFF_RUNNING;
+	ifp->if_flags &= ~IFF_DRV_RUNNING;
 
 	/* Disable MDIO interface and TX/RX */
 	pHw->GMAC_NCR &= ~(GMAC_NCR_RXEN | GMAC_NCR_TXEN);
@@ -1196,7 +1196,7 @@ if_atsam_ioctl(struct ifnet *ifp, ioctl_command_t command, caddr_t data)
 		break;
 	case SIOCSIFFLAGS:
 		if (ifp->if_flags & IFF_UP) {
-			if (ifp->if_flags & IFF_RUNNING) {
+			if (ifp->if_flags & IFF_DRV_RUNNING) {
 				/* Don't do anything */
 			} else {
 				if_atsam_init(sc);
@@ -1204,7 +1204,7 @@ if_atsam_ioctl(struct ifnet *ifp, ioctl_command_t command, caddr_t data)
 			prom_enable = ((ifp->if_flags & IFF_PROMISC) != 0);
 			if_atsam_promiscuous_mode(sc, prom_enable);
 		} else {
-			if (ifp->if_flags & IFF_RUNNING) {
+			if (ifp->if_flags & IFF_DRV_RUNNING) {
 				if_atsam_stop(sc);
 			}
 		}
diff --git a/c/src/lib/libbsp/arm/csb336/network/network.c b/c/src/lib/libbsp/arm/csb336/network/network.c
index 18428c0..087fd84 100644
--- a/c/src/lib/libbsp/arm/csb336/network/network.c
+++ b/c/src/lib/libbsp/arm/csb336/network/network.c
@@ -210,7 +210,7 @@ void mc9328mxl_enet_init(void *arg)
     /*
      * Tell the world that we're running.
      */
-    ifp->if_flags |= IFF_RUNNING;
+    ifp->if_flags |= IFF_DRV_RUNNING;
 
     /* Enable TX/RX */
     lan91c11x_write_reg(LAN91C11X_TCR,
@@ -342,14 +342,14 @@ void mc9328mxl_enet_start(struct ifnet *ifp)
     mc9328mxl_enet_softc_t *sc = ifp->if_softc;
 
     rtems_bsdnet_event_send(sc->tx_task, START_TRANSMIT_EVENT);
-    ifp->if_flags |= IFF_OACTIVE;
+    ifp->if_flags |= IFF_DRV_OACTIVE;
 }
 
 void mc9328mxl_enet_stop (mc9328mxl_enet_softc_t *sc)
 {
     struct ifnet *ifp = &sc->arpcom.ac_if;
 
-    ifp->if_flags &= ~IFF_RUNNING;
+    ifp->if_flags &= ~IFF_DRV_RUNNING;
 
 
     /* Stop the transmitter and receiver. */
@@ -393,7 +393,7 @@ void mc9328mxl_enet_tx_task(void *arg)
             softc.stats.tx_packets++;
 
         }
-        ifp->if_flags &= ~IFF_OACTIVE;
+        ifp->if_flags &= ~IFF_DRV_OACTIVE;
     }
 }
 
@@ -623,9 +623,9 @@ mc9328mxl_enet_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_t data)
         break;
 
     case SIOCSIFFLAGS:
-        switch (ifp->if_flags & (IFF_UP | IFF_RUNNING))
+        switch (ifp->if_flags & (IFF_UP | IFF_DRV_RUNNING))
         {
-        case IFF_RUNNING:
+        case IFF_DRV_RUNNING:
             mc9328mxl_enet_stop (sc);
             break;
 
@@ -633,7 +633,7 @@ mc9328mxl_enet_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_t data)
             mc9328mxl_enet_init (sc);
             break;
 
-        case IFF_UP | IFF_RUNNING:
+        case IFF_UP | IFF_DRV_RUNNING:
             mc9328mxl_enet_stop (sc);
             mc9328mxl_enet_init (sc);
             break;
diff --git a/c/src/lib/libbsp/arm/csb337/network/network.c b/c/src/lib/libbsp/arm/csb337/network/network.c
index ba3c524..a9c7c39 100644
--- a/c/src/lib/libbsp/arm/csb337/network/network.c
+++ b/c/src/lib/libbsp/arm/csb337/network/network.c
@@ -391,7 +391,7 @@ void at91rm9200_emac_init(void *arg)
     /*
      * Tell the world that we're running.
      */
-    ifp->if_flags |= IFF_RUNNING;
+    ifp->if_flags |= IFF_DRV_RUNNING;
 
     /* Enable TX/RX and clear the statistics counters */
     EMAC_REG(EMAC_CTL) = (EMAC_CTL_TE | EMAC_CTL_RE | EMAC_CTL_CSR);
@@ -560,14 +560,14 @@ void at91rm9200_emac_start(struct ifnet *ifp)
     at91rm9200_emac_softc_t *sc = ifp->if_softc;
 
     rtems_bsdnet_event_send(sc->txDaemonTid, START_TRANSMIT_EVENT);
-    ifp->if_flags |= IFF_OACTIVE;
+    ifp->if_flags |= IFF_DRV_OACTIVE;
 }
 
 void at91rm9200_emac_stop (at91rm9200_emac_softc_t *sc)
 {
     struct ifnet *ifp = &sc->arpcom.ac_if;
 
-    ifp->if_flags &= ~IFF_RUNNING;
+    ifp->if_flags &= ~IFF_DRV_RUNNING;
 
     /*
      * Stop the transmitter and receiver.
@@ -605,7 +605,7 @@ void at91rm9200_emac_txDaemon (void *arg)
                 break;
             at91rm9200_emac_sendpacket (ifp, m);
         }
-        ifp->if_flags &= ~IFF_OACTIVE;
+        ifp->if_flags &= ~IFF_DRV_OACTIVE;
     }
 }
 
@@ -791,9 +791,9 @@ at91rm9200_emac_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_t data)
         break;
 
     case SIOCSIFFLAGS:
-        switch (ifp->if_flags & (IFF_UP | IFF_RUNNING))
+        switch (ifp->if_flags & (IFF_UP | IFF_DRV_RUNNING))
         {
-        case IFF_RUNNING:
+        case IFF_DRV_RUNNING:
             at91rm9200_emac_stop (sc);
             break;
 
@@ -801,7 +801,7 @@ at91rm9200_emac_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_t data)
             at91rm9200_emac_init (sc);
             break;
 
-        case IFF_UP | IFF_RUNNING:
+        case IFF_UP | IFF_DRV_RUNNING:
             at91rm9200_emac_stop (sc);
             at91rm9200_emac_init (sc);
             break;
diff --git a/c/src/lib/libbsp/arm/gumstix/rtl8019/rtl8019.c b/c/src/lib/libbsp/arm/gumstix/rtl8019/rtl8019.c
index b8684f8..ea23383 100644
--- a/c/src/lib/libbsp/arm/gumstix/rtl8019/rtl8019.c
+++ b/c/src/lib/libbsp/arm/gumstix/rtl8019/rtl8019.c
@@ -299,7 +299,7 @@ ne_check_status (struct ne_softc *sc, int from_irq_handler)
       ++sc->stats.tx_acks;
       --sc->inuse;
       sc->transmitting = 0;
-      if (sc->inuse > 0 || (sc->arpcom.ac_if.if_flags & IFF_OACTIVE) != 0)
+      if (sc->inuse > 0 || (sc->arpcom.ac_if.if_flags & IFF_DRV_OACTIVE) != 0)
         rtems_bsdnet_event_send (sc->tx_daemon_tid, START_TRANSMIT_EVENT);
     }
 
@@ -842,7 +842,7 @@ ne_tx_daemon (void *arg)
 
       /* If we don't have any more buffers to send, quit now.  */
       if (ifp->if_snd.ifq_head == NULL) {
-        ifp->if_flags &= ~IFF_OACTIVE;
+        ifp->if_flags &= ~IFF_DRV_OACTIVE;
         break;
       }
 
@@ -881,7 +881,7 @@ ne_start (struct ifnet *ifp)
 #endif
   /* Tell the transmit daemon to wake up and send a packet.  */
   rtems_bsdnet_event_send (sc->tx_daemon_tid, START_TRANSMIT_EVENT);
-  ifp->if_flags |= IFF_OACTIVE;
+  ifp->if_flags |= IFF_DRV_OACTIVE;
 }
 
 /* Initialize and start and NE2000.  */
@@ -914,7 +914,7 @@ ne_init (void *arg)
     ne_init_irq_handler(sc);
   }
 
-  ifp->if_flags |= IFF_RUNNING;
+  ifp->if_flags |= IFF_DRV_RUNNING;
 }
 
 /* Stop an NE2000.  */
@@ -922,7 +922,7 @@ ne_init (void *arg)
 static void
 ne_stop (struct ne_softc *sc)
 {
-  sc->arpcom.ac_if.if_flags &= ~IFF_RUNNING;
+  sc->arpcom.ac_if.if_flags &= ~IFF_DRV_RUNNING;
 
   ne_stop_hardware(sc);
 
@@ -961,8 +961,8 @@ ne_reset(struct ne_softc *sc)
 {
   ne_stop(sc);
   ne_init_hardware(sc);
-  sc->arpcom.ac_if.if_flags |= IFF_RUNNING;
-  sc->arpcom.ac_if.if_flags &= ~IFF_OACTIVE;
+  sc->arpcom.ac_if.if_flags |= IFF_DRV_RUNNING;
+  sc->arpcom.ac_if.if_flags &= ~IFF_DRV_OACTIVE;
 #ifdef DEBUG_NE
   printk("*");
 #endif
@@ -1018,8 +1018,8 @@ ne_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_t data)
     break;
 
   case SIOCSIFFLAGS:
-    switch (ifp->if_flags & (IFF_UP | IFF_RUNNING)) {
-    case IFF_RUNNING:
+    switch (ifp->if_flags & (IFF_UP | IFF_DRV_RUNNING)) {
+    case IFF_DRV_RUNNING:
       ne_stop (sc);
       break;
 
@@ -1028,7 +1028,7 @@ ne_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_t data)
       ne_init (sc);
       break;
 
-    case IFF_UP | IFF_RUNNING:
+    case IFF_UP | IFF_DRV_RUNNING:
       ne_stop (sc);
       ne_init (sc);
       break;
diff --git a/c/src/lib/libbsp/arm/shared/lpc/network/lpc-ethernet.c b/c/src/lib/libbsp/arm/shared/lpc/network/lpc-ethernet.c
index 170de7f..dbf3923 100644
--- a/c/src/lib/libbsp/arm/shared/lpc/network/lpc-ethernet.c
+++ b/c/src/lib/libbsp/arm/shared/lpc/network/lpc-ethernet.c
@@ -1072,7 +1072,7 @@ static void lpc_eth_transmit_task(void *arg)
     /* No more fragments? */
     if (m == NULL) {
       /* Interface is now inactive */
-      ifp->if_flags &= ~IFF_OACTIVE;
+      ifp->if_flags &= ~IFF_DRV_OACTIVE;
     } else {
       LPC_ETH_PRINTF("tx: enable interrupts\n");
 
@@ -1604,7 +1604,7 @@ static void lpc_eth_interface_start(struct ifnet *ifp)
   rtems_status_code sc = RTEMS_SUCCESSFUL;
   lpc_eth_driver_entry *e = (lpc_eth_driver_entry *) ifp->if_softc;
 
-  ifp->if_flags |= IFF_OACTIVE;
+  ifp->if_flags |= IFF_DRV_OACTIVE;
 
   if (e->state == LPC_ETH_STATE_UP) {
     sc = rtems_bsdnet_event_send(e->transmit_task, LPC_ETH_EVENT_TXSTART);
@@ -1791,7 +1791,7 @@ static int lpc_eth_attach(struct rtems_bsdnet_ifconfig *config)
   );
 
   /* Change status */
-  ifp->if_flags |= IFF_RUNNING;
+  ifp->if_flags |= IFF_DRV_RUNNING;
   e->state = LPC_ETH_STATE_DOWN;
 
   /* Attach the interface */
diff --git a/c/src/lib/libbsp/i386/pc386/3c509/3c509.c b/c/src/lib/libbsp/i386/pc386/3c509/3c509.c
index 41c1de1..8ecd69f 100644
--- a/c/src/lib/libbsp/i386/pc386/3c509/3c509.c
+++ b/c/src/lib/libbsp/i386/pc386/3c509/3c509.c
@@ -503,7 +503,7 @@ static void _3c509_txDaemon (void *arg)
 									&events );
 		/*	printk( "T+\n" ); */
       epstart( ifp );
-      while( ifp->if_flags & IFF_OACTIVE )
+      while( ifp->if_flags & IFF_DRV_OACTIVE )
           epstart( ifp );
 	}
    printf ("3C509: TX Daemon is finishing.\n");
@@ -520,7 +520,7 @@ static void _3c509_start (struct ifnet *ifp)
 {
 	struct ep_softc *sc = ifp->if_softc;
 	/*    printk ("S");  */
-	ifp->if_flags |= IFF_OACTIVE;
+	ifp->if_flags |= IFF_DRV_OACTIVE;
 	rtems_bsdnet_event_send( sc->txDaemonTid, START_TRANSMIT_EVENT );
 }
 
@@ -554,7 +554,7 @@ static void _3c509_init (void *arg)
   /*
    * Tell the world that we're running.
    */
-   ifp->if_flags |= IFF_RUNNING;
+   ifp->if_flags |= IFF_DRV_RUNNING;
 }
 
 /**********************************************************************************
@@ -567,7 +567,7 @@ static void _3c509_init (void *arg)
 static void _3c509_stop (struct ep_softc *sc)
 {
   struct ifnet *ifp = &sc->arpcom.ac_if;
-  ifp->if_flags &= ~IFF_RUNNING;
+  ifp->if_flags &= ~IFF_DRV_RUNNING;
 
   printf ("3C509: stop() called.\n");
   /*
@@ -625,8 +625,8 @@ static int _3c509_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_t dat
 		break;
 
 	case SIOCSIFFLAGS:
-		switch (ifp->if_flags & (IFF_UP | IFF_RUNNING)) {
-		case IFF_RUNNING:
+		switch (ifp->if_flags & (IFF_UP | IFF_DRV_RUNNING)) {
+		case IFF_DRV_RUNNING:
 			_3c509_stop (sc);
 			break;
 
@@ -634,7 +634,7 @@ static int _3c509_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_t dat
 			_3c509_init (sc);
 			break;
 
-		case IFF_UP | IFF_RUNNING:
+		case IFF_UP | IFF_DRV_RUNNING:
 			_3c509_stop (sc);
 			_3c509_init (sc);
 			break;
@@ -1152,8 +1152,8 @@ static void epinit( struct ep_softc *sc )
     outw(BASE + EP_COMMAND, RX_ENABLE);
     outw(BASE + EP_COMMAND, TX_ENABLE);
 
-    ifp->if_flags |= IFF_RUNNING;
-    ifp->if_flags &= ~IFF_OACTIVE;	/* just in case */
+    ifp->if_flags |= IFF_DRV_RUNNING;
+    ifp->if_flags &= ~IFF_DRV_OACTIVE;	/* just in case */
 
     sc->rx_no_first = sc->rx_no_mbuf =
 	sc->rx_bpf_disc = sc->rx_overrunf = sc->rx_overrunl =
@@ -1203,7 +1203,7 @@ startagain:
     m = ifp->if_snd.ifq_head;
     if (m == 0)
     {
-       ifp->if_flags &= ~IFF_OACTIVE;
+       ifp->if_flags &= ~IFF_DRV_OACTIVE;
        return;
     }
 
@@ -1232,7 +1232,7 @@ startagain:
        /* make sure */
 	   if (inw(BASE + EP_W1_FREE_TX) < len + pad + 4)
 	   {
-	       ifp->if_flags |= IFF_OACTIVE;
+	       ifp->if_flags |= IFF_DRV_OACTIVE;
 	       return;
 	   }
     }
@@ -1459,7 +1459,7 @@ rescan:
 	{
 	    /* we need ACK */
 	    ifp->if_timer = 0;
-	    ifp->if_flags &= ~IFF_OACTIVE;
+	    ifp->if_flags &= ~IFF_DRV_OACTIVE;
 	    GO_WINDOW(1);
 	    inw(BASE + EP_W1_FREE_TX);
 	    epstart(ifp);
@@ -1520,7 +1520,7 @@ rescan:
 		   }
 		   outb( BASE + EP_W1_TX_STATUS, 0x0 );	/* pops up the next status */
 	    } /* while */
-	    ifp->if_flags &= ~IFF_OACTIVE;
+	    ifp->if_flags &= ~IFF_DRV_OACTIVE;
 	    GO_WINDOW(1);
 	    inw(BASE + EP_W1_FREE_TX);
 	    epstart( ifp );
diff --git a/c/src/lib/libbsp/i386/pc386/ne2000/ne2000.c b/c/src/lib/libbsp/i386/pc386/ne2000/ne2000.c
index 5a13b29..2f43b02 100644
--- a/c/src/lib/libbsp/i386/pc386/ne2000/ne2000.c
+++ b/c/src/lib/libbsp/i386/pc386/ne2000/ne2000.c
@@ -341,7 +341,7 @@ ne_check_status (struct ne_softc *sc, int from_irq_handler)
       ++sc->stats.tx_acks;
       --sc->inuse;
       sc->transmitting = 0;
-      if (sc->inuse > 0 || (sc->arpcom.ac_if.if_flags & IFF_OACTIVE) != 0)
+      if (sc->inuse > 0 || (sc->arpcom.ac_if.if_flags & IFF_DRV_OACTIVE) != 0)
         rtems_bsdnet_event_send (sc->tx_daemon_tid, START_TRANSMIT_EVENT);
     }
 
@@ -909,7 +909,7 @@ ne_tx_daemon (void *arg)
 
       /* If we don't have any more buffers to send, quit now.  */
       if (ifp->if_snd.ifq_head == NULL) {
-        ifp->if_flags &= ~IFF_OACTIVE;
+        ifp->if_flags &= ~IFF_DRV_OACTIVE;
         break;
       }
 
@@ -948,7 +948,7 @@ ne_start (struct ifnet *ifp)
 #endif
   /* Tell the transmit daemon to wake up and send a packet.  */
   rtems_bsdnet_event_send (sc->tx_daemon_tid, START_TRANSMIT_EVENT);
-  ifp->if_flags |= IFF_OACTIVE;
+  ifp->if_flags |= IFF_DRV_OACTIVE;
 }
 
 /* Initialize and start and NE2000.  */
@@ -981,7 +981,7 @@ ne_init (void *arg)
     ne_init_irq_handler(sc->irno);
   }
 
-  ifp->if_flags |= IFF_RUNNING;
+  ifp->if_flags |= IFF_DRV_RUNNING;
 }
 
 /* Stop an NE2000.  */
@@ -989,7 +989,7 @@ ne_init (void *arg)
 static void
 ne_stop (struct ne_softc *sc)
 {
-  sc->arpcom.ac_if.if_flags &= ~IFF_RUNNING;
+  sc->arpcom.ac_if.if_flags &= ~IFF_DRV_RUNNING;
 
   ne_stop_hardware(sc);
 
@@ -1028,8 +1028,8 @@ ne_reset(struct ne_softc *sc)
 {
   ne_stop(sc);
   ne_init_hardware(sc);
-  sc->arpcom.ac_if.if_flags |= IFF_RUNNING;
-  sc->arpcom.ac_if.if_flags &= ~IFF_OACTIVE;
+  sc->arpcom.ac_if.if_flags |= IFF_DRV_RUNNING;
+  sc->arpcom.ac_if.if_flags &= ~IFF_DRV_OACTIVE;
 #ifdef DEBUG_NE
   printk("*");
 #endif
@@ -1107,8 +1107,8 @@ ne_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_t data)
     break;
 
   case SIOCSIFFLAGS:
-    switch (ifp->if_flags & (IFF_UP | IFF_RUNNING)) {
-    case IFF_RUNNING:
+    switch (ifp->if_flags & (IFF_UP | IFF_DRV_RUNNING)) {
+    case IFF_DRV_RUNNING:
       ne_stop (sc);
       break;
 
@@ -1116,7 +1116,7 @@ ne_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_t data)
       ne_init (sc);
       break;
 
-    case IFF_UP | IFF_RUNNING:
+    case IFF_UP | IFF_DRV_RUNNING:
       ne_stop (sc);
       ne_init (sc);
       break;
diff --git a/c/src/lib/libbsp/i386/pc386/wd8003/wd8003.c b/c/src/lib/libbsp/i386/pc386/wd8003/wd8003.c
index 64b7fda..e6ac188 100644
--- a/c/src/lib/libbsp/i386/pc386/wd8003/wd8003.c
+++ b/c/src/lib/libbsp/i386/pc386/wd8003/wd8003.c
@@ -411,7 +411,7 @@ wd_txDaemon (void *arg)
 				break;
 			sendpacket (ifp, m);
 		}
-		ifp->if_flags &= ~IFF_OACTIVE;
+		ifp->if_flags &= ~IFF_DRV_OACTIVE;
 	}
 }
 
@@ -424,7 +424,7 @@ wd_start (struct ifnet *ifp)
 	struct wd_softc *sc = ifp->if_softc;
 
 	rtems_bsdnet_event_send (sc->txDaemonTid, START_TRANSMIT_EVENT);
-	ifp->if_flags |= IFF_OACTIVE;
+	ifp->if_flags |= IFF_DRV_OACTIVE;
 }
 
 /*
@@ -453,7 +453,7 @@ wd_init (void *arg)
   /*
    * Tell the world that we're running.
    */
-  ifp->if_flags |= IFF_RUNNING;
+  ifp->if_flags |= IFF_DRV_RUNNING;
 
 }
 
@@ -467,7 +467,7 @@ wd_stop (struct wd_softc *sc)
   unsigned char temp;
   struct ifnet *ifp = &sc->arpcom.ac_if;
 
-  ifp->if_flags &= ~IFF_RUNNING;
+  ifp->if_flags &= ~IFF_DRV_RUNNING;
 
   /*
    * Stop the transmitter
@@ -521,8 +521,8 @@ wd_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_t data)
 		break;
 
 	case SIOCSIFFLAGS:
-		switch (ifp->if_flags & (IFF_UP | IFF_RUNNING)) {
-		case IFF_RUNNING:
+		switch (ifp->if_flags & (IFF_UP | IFF_DRV_RUNNING)) {
+		case IFF_DRV_RUNNING:
 			wd_stop (sc);
 			break;
 
@@ -530,7 +530,7 @@ wd_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_t data)
 			wd_init (sc);
 			break;
 
-		case IFF_UP | IFF_RUNNING:
+		case IFF_UP | IFF_DRV_RUNNING:
 			wd_stop (sc);
 			wd_init (sc);
 			break;
diff --git a/c/src/lib/libbsp/lm32/shared/milkymist_networking/network.c b/c/src/lib/libbsp/lm32/shared/milkymist_networking/network.c
index 9a0cf00..f16808f 100644
--- a/c/src/lib/libbsp/lm32/shared/milkymist_networking/network.c
+++ b/c/src/lib/libbsp/lm32/shared/milkymist_networking/network.c
@@ -131,19 +131,19 @@ int rtems_minimac_driver_attach(struct rtems_bsdnet_ifconfig *config,
 static void minimac_start(struct ifnet *ifp)
 {
   rtems_bsdnet_event_send(tx_daemon_id, START_TRANSMIT_EVENT);
-  ifp->if_flags |= IFF_OACTIVE;
+  ifp->if_flags |= IFF_DRV_OACTIVE;
 }
 
 static void minimac_init(void *arg)
 {
   struct ifnet *ifp = &arpcom.ac_if;
-  ifp->if_flags |= IFF_RUNNING;
+  ifp->if_flags |= IFF_DRV_RUNNING;
 }
 
 static void minimac_stop(void)
 {
   struct ifnet *ifp = &arpcom.ac_if;
-  ifp->if_flags &= ~IFF_RUNNING;
+  ifp->if_flags &= ~IFF_DRV_RUNNING;
 }
 
 static int minimac_ioctl(struct ifnet *ifp, ioctl_command_t command,
@@ -159,14 +159,14 @@ static int minimac_ioctl(struct ifnet *ifp, ioctl_command_t command,
       break;
 
     case SIOCSIFFLAGS:
-      switch(ifp->if_flags & (IFF_UP | IFF_RUNNING)) {
-        case IFF_RUNNING:
+      switch(ifp->if_flags & (IFF_UP | IFF_DRV_RUNNING)) {
+        case IFF_DRV_RUNNING:
           minimac_stop();
           break;
         case IFF_UP:
           minimac_init(NULL);
           break;
-        case IFF_UP | IFF_RUNNING:
+        case IFF_UP | IFF_DRV_RUNNING:
           minimac_stop();
           minimac_init(NULL);
           break;
@@ -312,6 +312,6 @@ static void tx_daemon(void *arg)
       send_packet(ifp, m);
       m_freem(m);
     }
-    ifp->if_flags &= ~IFF_OACTIVE;
+    ifp->if_flags &= ~IFF_DRV_OACTIVE;
   }
 }
diff --git a/c/src/lib/libbsp/lm32/shared/tsmac/tsmac.c b/c/src/lib/libbsp/lm32/shared/tsmac/tsmac.c
index 2850653..532eb7d 100644
--- a/c/src/lib/libbsp/lm32/shared/tsmac/tsmac.c
+++ b/c/src/lib/libbsp/lm32/shared/tsmac/tsmac.c
@@ -406,7 +406,7 @@ static void tsmac_txDaemon(void *arg)
 
 	  m_freem(m);
 	}
-      ifp->if_flags &= ~IFF_OACTIVE;
+      ifp->if_flags &= ~IFF_DRV_OACTIVE;
     }
 }
 
@@ -540,7 +540,7 @@ void tsmac_init(void *arg)
       lm32_interrupt_unmask(TSMAC_IRQMASK);
    }
 
-  ifp->if_flags |= IFF_RUNNING;
+  ifp->if_flags |= IFF_DRV_RUNNING;
 
   /*
    * Receive broadcast
@@ -570,7 +570,7 @@ void tsmac_stop(struct ifnet *ifp)
    */
   lm32_interrupt_mask(TSMAC_IRQMASK);
 
-  ifp->if_flags &= ~IFF_RUNNING;
+  ifp->if_flags &= ~IFF_DRV_RUNNING;
 
   /*
    * Disable transmitter and receiver
@@ -586,7 +586,7 @@ void tsmac_start(struct ifnet *ifp)
   struct tsmac_softc *tsmac = ifp->if_softc;
 
   rtems_bsdnet_event_send (tsmac->txDaemonTid, START_TRANSMIT_EVENT);
-  ifp->if_flags |= IFF_OACTIVE;
+  ifp->if_flags |= IFF_DRV_OACTIVE;
 }
 
 void tsmac_stats(struct tsmac_softc *tsmac)
@@ -667,8 +667,8 @@ int tsmac_ioctl(struct ifnet *ifp, ioctl_command_t command, caddr_t data)
     break;
 
   case SIOCSIFFLAGS:
-    switch (ifp->if_flags & (IFF_UP | IFF_RUNNING)) {
-    case IFF_RUNNING:
+    switch (ifp->if_flags & (IFF_UP | IFF_DRV_RUNNING)) {
+    case IFF_DRV_RUNNING:
       tsmac_stop ((struct ifnet *) tsmac);
       break;
 
@@ -676,7 +676,7 @@ int tsmac_ioctl(struct ifnet *ifp, ioctl_command_t command, caddr_t data)
       tsmac_init ((struct ifnet *) tsmac);
       break;
 
-    case IFF_UP | IFF_RUNNING:
+    case IFF_UP | IFF_DRV_RUNNING:
       tsmac_stop ((struct ifnet *) tsmac);
       tsmac_init ((struct ifnet *) tsmac);
       break;
diff --git a/c/src/lib/libbsp/m68k/av5282/network/network.c b/c/src/lib/libbsp/m68k/av5282/network/network.c
index 90c0b4a..37a3024 100644
--- a/c/src/lib/libbsp/m68k/av5282/network/network.c
+++ b/c/src/lib/libbsp/m68k/av5282/network/network.c
@@ -640,7 +640,7 @@ fec_txDaemon(void *arg)
                 break;
             fec_sendpacket(ifp, m);
         }
-        ifp->if_flags &= ~IFF_OACTIVE;
+        ifp->if_flags &= ~IFF_DRV_OACTIVE;
     }
 }
 
@@ -654,7 +654,7 @@ mcf5282_enet_start(struct ifnet *ifp)
     struct mcf5282_enet_struct *sc = ifp->if_softc;
 
     rtems_bsdnet_event_send(sc->txDaemonTid, START_TRANSMIT_EVENT);
-    ifp->if_flags |= IFF_OACTIVE;
+    ifp->if_flags |= IFF_DRV_OACTIVE;
 }
 
 static void
@@ -687,7 +687,7 @@ fec_init(void *arg)
     /*
      * Tell the world that we're running.
      */
-    ifp->if_flags |= IFF_RUNNING;
+    ifp->if_flags |= IFF_DRV_RUNNING;
 
     /*
      * Enable receiver and transmitter
@@ -701,7 +701,7 @@ fec_stop(struct mcf5282_enet_struct *sc)
 {
     struct ifnet *ifp = &sc->arpcom.ac_if;
 
-    ifp->if_flags &= ~IFF_RUNNING;
+    ifp->if_flags &= ~IFF_DRV_RUNNING;
 
     /*
      * Shut down receiver and transmitter
@@ -821,8 +821,8 @@ fec_ioctl(struct ifnet *ifp, ioctl_command_t command, caddr_t data)
             break;
 
         case SIOCSIFFLAGS:
-            switch (ifp->if_flags & (IFF_UP | IFF_RUNNING)) {
-                case IFF_RUNNING:
+            switch (ifp->if_flags & (IFF_UP | IFF_DRV_RUNNING)) {
+                case IFF_DRV_RUNNING:
                     fec_stop(sc);
                     break;
 
@@ -830,7 +830,7 @@ fec_ioctl(struct ifnet *ifp, ioctl_command_t command, caddr_t data)
                     fec_init(sc);
                     break;
 
-                case IFF_UP | IFF_RUNNING:
+                case IFF_UP | IFF_DRV_RUNNING:
                     fec_stop(sc);
                     fec_init(sc);
                     break;
diff --git a/c/src/lib/libbsp/m68k/csb360/network/network.c b/c/src/lib/libbsp/m68k/csb360/network/network.c
index fa0fa94..67d26c7 100644
--- a/c/src/lib/libbsp/m68k/csb360/network/network.c
+++ b/c/src/lib/libbsp/m68k/csb360/network/network.c
@@ -732,7 +732,7 @@ mcf5272_enet_txDaemon (void *arg)
                 break;
             mcf5272_enet_sendpacket (ifp, m);
         }
-        ifp->if_flags &= ~IFF_OACTIVE;
+        ifp->if_flags &= ~IFF_DRV_OACTIVE;
     }
 }
 
@@ -748,7 +748,7 @@ mcf5272_enet_start (struct ifnet *ifp)
     cp;
     rtems_bsdnet_event_send (sc->txDaemonTid, START_TRANSMIT_EVENT);
     cp;
-    ifp->if_flags |= IFF_OACTIVE;
+    ifp->if_flags |= IFF_DRV_OACTIVE;
 }
 
 
@@ -791,7 +791,7 @@ mcf5272_enet_init (void *arg)
     /*
      * Tell the world that we're running.
      */
-    ifp->if_flags |= IFF_RUNNING;
+    ifp->if_flags |= IFF_DRV_RUNNING;
 
     /*
      * Enable receiver and transmitter
@@ -805,7 +805,7 @@ mcf5272_enet_stop (struct mcf5272_enet_struct *sc)
 {
     struct ifnet *ifp = &sc->arpcom.ac_if;
 
-    ifp->if_flags &= ~IFF_RUNNING;
+    ifp->if_flags &= ~IFF_DRV_RUNNING;
 
     /*
      * Shut down receiver and transmitter
@@ -858,8 +858,8 @@ mcf5272_enet_ioctl (struct ifnet *ifp, int command, caddr_t data)
         break;
 
     case SIOCSIFFLAGS:
-        switch (ifp->if_flags & (IFF_UP | IFF_RUNNING)) {
-        case IFF_RUNNING:
+        switch (ifp->if_flags & (IFF_UP | IFF_DRV_RUNNING)) {
+        case IFF_DRV_RUNNING:
             mcf5272_enet_stop (sc);
             break;
 
@@ -867,7 +867,7 @@ mcf5272_enet_ioctl (struct ifnet *ifp, int command, caddr_t data)
             mcf5272_enet_init (sc);
             break;
 
-        case IFF_UP | IFF_RUNNING:
+        case IFF_UP | IFF_DRV_RUNNING:
             mcf5272_enet_stop (sc);
             mcf5272_enet_init (sc);
             break;
diff --git a/c/src/lib/libbsp/m68k/gen68360/network/network.c b/c/src/lib/libbsp/m68k/gen68360/network/network.c
index 3ed3bf5..6502a19 100644
--- a/c/src/lib/libbsp/m68k/gen68360/network/network.c
+++ b/c/src/lib/libbsp/m68k/gen68360/network/network.c
@@ -784,7 +784,7 @@ scc_txDaemon (void *arg)
 				break;
 			sendpacket (ifp, m);
 		}
-		ifp->if_flags &= ~IFF_OACTIVE;
+		ifp->if_flags &= ~IFF_DRV_OACTIVE;
 	}
 }
 
@@ -797,7 +797,7 @@ scc_start (struct ifnet *ifp)
 	struct scc_softc *sc = ifp->if_softc;
 
 	rtems_bsdnet_event_send (sc->txDaemonTid, START_TRANSMIT_EVENT);
-	ifp->if_flags |= IFF_OACTIVE;
+	ifp->if_flags |= IFF_DRV_OACTIVE;
 }
 
 /*
@@ -835,7 +835,7 @@ scc_init (void *arg)
 	/*
 	 * Tell the world that we're running.
 	 */
-	ifp->if_flags |= IFF_RUNNING;
+	ifp->if_flags |= IFF_DRV_RUNNING;
 
 	/*
 	 * Enable receiver and transmitter
@@ -851,7 +851,7 @@ scc_stop (struct scc_softc *sc)
 {
 	struct ifnet *ifp = &sc->arpcom.ac_if;
 
-	ifp->if_flags &= ~IFF_RUNNING;
+	ifp->if_flags &= ~IFF_DRV_RUNNING;
 
 	/*
 	 * Shut down receiver and transmitter
@@ -905,8 +905,8 @@ scc_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_t data)
 		break;
 
 	case SIOCSIFFLAGS:
-		switch (ifp->if_flags & (IFF_UP | IFF_RUNNING)) {
-		case IFF_RUNNING:
+		switch (ifp->if_flags & (IFF_UP | IFF_DRV_RUNNING)) {
+		case IFF_DRV_RUNNING:
 			scc_stop (sc);
 			break;
 
@@ -914,7 +914,7 @@ scc_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_t data)
 			scc_init (sc);
 			break;
 
-		case IFF_UP | IFF_RUNNING:
+		case IFF_UP | IFF_DRV_RUNNING:
 			scc_stop (sc);
 			scc_init (sc);
 			break;
diff --git a/c/src/lib/libbsp/m68k/genmcf548x/network/network.c b/c/src/lib/libbsp/m68k/genmcf548x/network/network.c
index 62acda5..d45e5ab 100644
--- a/c/src/lib/libbsp/m68k/genmcf548x/network/network.c
+++ b/c/src/lib/libbsp/m68k/genmcf548x/network/network.c
@@ -760,7 +760,7 @@ static void mcf548x_fec_tx_start(struct ifnet *ifp)
 
   struct mcf548x_enet_struct *sc = ifp->if_softc;
 
-  ifp->if_flags |= IFF_OACTIVE;
+  ifp->if_flags |= IFF_DRV_OACTIVE;
 
   fec_send_event(sc->txDaemonTid);
 
@@ -899,7 +899,7 @@ static struct mbuf *fec_next_fragment(
       if (m != NULL) {
         *isFirst = true;
       } else {
-        ifp->if_flags &= ~IFF_OACTIVE;
+        ifp->if_flags &= ~IFF_DRV_OACTIVE;
 
         return NULL;
       }
@@ -1288,7 +1288,7 @@ static void mcf548x_fec_init(void *arg)
   /*
    * Tell the world that we're running.
    */
-  ifp->if_flags |= IFF_RUNNING;
+  ifp->if_flags |= IFF_DRV_RUNNING;
 }
 
 
@@ -1352,7 +1352,7 @@ static int mcf548x_fec_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_
                   : ether_delmulti(ifr, &sc->arpcom);
 
        if (error == ENETRESET) {
-         if (ifp->if_flags & IFF_RUNNING)
+         if (ifp->if_flags & IFF_DRV_RUNNING)
            error = mcf548x_fec_setMultiFilter(ifp);
          else
            error = 0;
@@ -1362,10 +1362,10 @@ static int mcf548x_fec_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_
 
     case SIOCSIFFLAGS:
 
-      switch(ifp->if_flags & (IFF_UP | IFF_RUNNING))
+      switch(ifp->if_flags & (IFF_UP | IFF_DRV_RUNNING))
         {
 
-        case IFF_RUNNING:
+        case IFF_DRV_RUNNING:
 
           mcf548x_fec_off(sc);
 
@@ -1377,7 +1377,7 @@ static int mcf548x_fec_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_
 
           break;
 
-        case IFF_UP | IFF_RUNNING:
+        case IFF_UP | IFF_DRV_RUNNING:
 
           mcf548x_fec_off(sc);
           mcf548x_fec_init(sc);
diff --git a/c/src/lib/libbsp/m68k/mcf5235/network/network.c b/c/src/lib/libbsp/m68k/mcf5235/network/network.c
index 7ce20e0..b22aa8b 100644
--- a/c/src/lib/libbsp/m68k/mcf5235/network/network.c
+++ b/c/src/lib/libbsp/m68k/mcf5235/network/network.c
@@ -613,7 +613,7 @@ fec_txDaemon(void *arg)
                 break;
             fec_sendpacket(ifp, m);
         }
-        ifp->if_flags &= ~IFF_OACTIVE;
+        ifp->if_flags &= ~IFF_DRV_OACTIVE;
     }
 }
 
@@ -627,7 +627,7 @@ mcf5235_enet_start(struct ifnet *ifp)
     struct mcf5235_enet_struct *sc = ifp->if_softc;
 
     rtems_bsdnet_event_send(sc->txDaemonTid, START_TRANSMIT_EVENT);
-    ifp->if_flags |= IFF_OACTIVE;
+    ifp->if_flags |= IFF_DRV_OACTIVE;
 }
 
 static void
@@ -660,7 +660,7 @@ fec_init(void *arg)
     /*
      * Tell the world that we're running.
      */
-    ifp->if_flags |= IFF_RUNNING;
+    ifp->if_flags |= IFF_DRV_RUNNING;
 
     /*
      * Enable receiver and transmitter
@@ -674,7 +674,7 @@ fec_stop(struct mcf5235_enet_struct *sc)
 {
     struct ifnet *ifp = &sc->arpcom.ac_if;
 
-    ifp->if_flags &= ~IFF_RUNNING;
+    ifp->if_flags &= ~IFF_DRV_RUNNING;
 
     /*
      * Shut down receiver and transmitter
@@ -760,8 +760,8 @@ fec_ioctl(struct ifnet *ifp, ioctl_command_t command, caddr_t data)
             break;
 
         case SIOCSIFFLAGS:
-            switch (ifp->if_flags & (IFF_UP | IFF_RUNNING)) {
-                case IFF_RUNNING:
+            switch (ifp->if_flags & (IFF_UP | IFF_DRV_RUNNING)) {
+                case IFF_DRV_RUNNING:
                     fec_stop(sc);
                     break;
 
@@ -769,7 +769,7 @@ fec_ioctl(struct ifnet *ifp, ioctl_command_t command, caddr_t data)
                     fec_init(sc);
                     break;
 
-                case IFF_UP | IFF_RUNNING:
+                case IFF_UP | IFF_DRV_RUNNING:
                     fec_stop(sc);
                     fec_init(sc);
                     break;
diff --git a/c/src/lib/libbsp/m68k/mcf5329/network/network.c b/c/src/lib/libbsp/m68k/mcf5329/network/network.c
index 62d90f1..4fa456a 100644
--- a/c/src/lib/libbsp/m68k/mcf5329/network/network.c
+++ b/c/src/lib/libbsp/m68k/mcf5329/network/network.c
@@ -600,7 +600,7 @@ void fec_txDaemon(void *arg)
         break;
       fec_sendpacket(ifp, m);
     }
-    ifp->if_flags &= ~IFF_OACTIVE;
+    ifp->if_flags &= ~IFF_DRV_OACTIVE;
   }
 }
 
@@ -612,7 +612,7 @@ static void mcf5329_enet_start(struct ifnet *ifp)
   struct mcf5329_enet_struct *sc = ifp->if_softc;
 
   rtems_bsdnet_event_send(sc->txDaemonTid, START_TRANSMIT_EVENT);
-  ifp->if_flags |= IFF_OACTIVE;
+  ifp->if_flags |= IFF_DRV_OACTIVE;
 }
 
 static void fec_init(void *arg)
@@ -644,7 +644,7 @@ static void fec_init(void *arg)
   /*
    * Tell the world that we're running.
    */
-  ifp->if_flags |= IFF_RUNNING;
+  ifp->if_flags |= IFF_DRV_RUNNING;
 
   /*
    * Enable receiver and transmitter
@@ -656,7 +656,7 @@ static void fec_stop(struct mcf5329_enet_struct *sc)
 {
   struct ifnet *ifp = &sc->arpcom.ac_if;
 
-  ifp->if_flags &= ~IFF_RUNNING;
+  ifp->if_flags &= ~IFF_DRV_RUNNING;
 
   /*
    * Shut down receiver and transmitter
@@ -740,8 +740,8 @@ static int fec_ioctl(struct ifnet *ifp, ioctl_command_t command, caddr_t data)
       break;
 
     case SIOCSIFFLAGS:
-      switch (ifp->if_flags & (IFF_UP | IFF_RUNNING)) {
-        case IFF_RUNNING:
+      switch (ifp->if_flags & (IFF_UP | IFF_DRV_RUNNING)) {
+        case IFF_DRV_RUNNING:
           fec_stop(sc);
           break;
 
@@ -749,7 +749,7 @@ static int fec_ioctl(struct ifnet *ifp, ioctl_command_t command, caddr_t data)
           fec_init(sc);
           break;
 
-        case IFF_UP | IFF_RUNNING:
+        case IFF_UP | IFF_DRV_RUNNING:
           fec_stop(sc);
           fec_init(sc);
           break;
diff --git a/c/src/lib/libbsp/m68k/mvme167/network/network.c b/c/src/lib/libbsp/m68k/mvme167/network/network.c
index ab4ccf4..10133fa 100644
--- a/c/src/lib/libbsp/m68k/mvme167/network/network.c
+++ b/c/src/lib/libbsp/m68k/mvme167/network/network.c
@@ -1802,7 +1802,7 @@ static void uti596_start(
 	#endif
 
   rtems_bsdnet_event_send (sc->txDaemonTid, START_TRANSMIT_EVENT);
-  ifp->if_flags |= IFF_OACTIVE;
+  ifp->if_flags |= IFF_DRV_OACTIVE;
 }
 
 /***********************************************************************
@@ -1869,7 +1869,7 @@ void uti596_init(
   /*
    * Tell the world that we're running.
    */
-  ifp->if_flags |= IFF_RUNNING;
+  ifp->if_flags |= IFF_DRV_RUNNING;
   #ifdef DBG_INIT
   printk(("uti596_init: completed.\n"))
   #endif
@@ -1896,7 +1896,7 @@ void uti596_init(
 {
   struct ifnet *ifp = (struct ifnet *)&sc->arpcom.ac_if;
 
-  ifp->if_flags &= ~IFF_RUNNING;
+  ifp->if_flags &= ~IFF_DRV_RUNNING;
   sc->started = 0;
 
   #ifdef DBG_STOP
@@ -1947,7 +1947,7 @@ void uti596_txDaemon(
 
       send_packet (ifp, m); /* blocks */
     }
-    ifp->if_flags &= ~IFF_OACTIVE; /* no more to send, mark output inactive  */
+    ifp->if_flags &= ~IFF_DRV_OACTIVE; /* no more to send, mark output inactive  */
   }
 }
 
@@ -2624,9 +2624,9 @@ static int uti596_ioctl(
 
     case SIOCSIFFLAGS:
       printk(("SIOCSIFFLAGS\n"))
-      switch (ifp->if_flags & (IFF_UP | IFF_RUNNING)) {
-        case IFF_RUNNING:
-          printk(("IFF_RUNNING\n"))
+      switch (ifp->if_flags & (IFF_UP | IFF_DRV_RUNNING)) {
+        case IFF_DRV_RUNNING:
+          printk(("IFF_DRV_RUNNING\n"))
           uti596_stop (sc);
           break;
 
@@ -2635,7 +2635,7 @@ static int uti596_ioctl(
           uti596_init ( (void *)sc);
           break;
 
-        case IFF_UP | IFF_RUNNING:
+        case IFF_UP | IFF_DRV_RUNNING:
           printk(("IFF_UP and RUNNING\n"))
           uti596_stop (sc);
           uti596_init ( (void *)sc);
diff --git a/c/src/lib/libbsp/m68k/uC5282/network/network.c b/c/src/lib/libbsp/m68k/uC5282/network/network.c
index 86a2a50..c461d9c 100644
--- a/c/src/lib/libbsp/m68k/uC5282/network/network.c
+++ b/c/src/lib/libbsp/m68k/uC5282/network/network.c
@@ -675,7 +675,7 @@ fec_txDaemon(void *arg)
                 break;
             fec_sendpacket(ifp, m);
         }
-        ifp->if_flags &= ~IFF_OACTIVE;
+        ifp->if_flags &= ~IFF_DRV_OACTIVE;
     }
 }
 
@@ -689,7 +689,7 @@ mcf5282_enet_start(struct ifnet *ifp)
     struct mcf5282_enet_struct *sc = ifp->if_softc;
 
     rtems_bsdnet_event_send(sc->txDaemonTid, START_TRANSMIT_EVENT);
-    ifp->if_flags |= IFF_OACTIVE;
+    ifp->if_flags |= IFF_DRV_OACTIVE;
 }
 
 static void
@@ -722,7 +722,7 @@ fec_init(void *arg)
     /*
      * Tell the world that we're running.
      */
-    ifp->if_flags |= IFF_RUNNING;
+    ifp->if_flags |= IFF_DRV_RUNNING;
 
     /*
      * Enable receiver and transmitter
@@ -736,7 +736,7 @@ fec_stop(struct mcf5282_enet_struct *sc)
 {
     struct ifnet *ifp = &sc->arpcom.ac_if;
 
-    ifp->if_flags &= ~IFF_RUNNING;
+    ifp->if_flags &= ~IFF_DRV_RUNNING;
 
     /*
      * Shut down receiver and transmitter
@@ -877,8 +877,8 @@ fec_ioctl(struct ifnet *ifp, ioctl_command_t command, caddr_t data)
             break;
 
         case SIOCSIFFLAGS:
-            switch (ifp->if_flags & (IFF_UP | IFF_RUNNING)) {
-                case IFF_RUNNING:
+            switch (ifp->if_flags & (IFF_UP | IFF_DRV_RUNNING)) {
+                case IFF_DRV_RUNNING:
                     fec_stop(sc);
                     break;
 
@@ -886,7 +886,7 @@ fec_ioctl(struct ifnet *ifp, ioctl_command_t command, caddr_t data)
                     fec_init(sc);
                     break;
 
-                case IFF_UP | IFF_RUNNING:
+                case IFF_UP | IFF_DRV_RUNNING:
                     fec_stop(sc);
                     fec_init(sc);
                     break;
diff --git a/c/src/lib/libbsp/mips/csb350/network/network.c b/c/src/lib/libbsp/mips/csb350/network/network.c
index a9dc5df..46e25a7 100644
--- a/c/src/lib/libbsp/mips/csb350/network/network.c
+++ b/c/src/lib/libbsp/mips/csb350/network/network.c
@@ -386,7 +386,7 @@ void au1x00_emac_init(void *arg)
     /*
      * Tell the world that we're running.
      */
-    ifp->if_flags |= IFF_RUNNING;
+    ifp->if_flags |= IFF_DRV_RUNNING;
 
     /*
      * start tx, rx
@@ -508,14 +508,14 @@ void au1x00_emac_start(struct ifnet *ifp)
     au1x00_emac_softc_t *sc = ifp->if_softc;
 
     rtems_bsdnet_event_send(sc->tx_daemon_tid, START_TX_EVENT);
-    ifp->if_flags |= IFF_OACTIVE;
+    ifp->if_flags |= IFF_DRV_OACTIVE;
 }
 
 void au1x00_emac_stop (au1x00_emac_softc_t *sc)
 {
     struct ifnet *ifp = &sc->arpcom.ac_if;
 
-    ifp->if_flags &= ~IFF_RUNNING;
+    ifp->if_flags &= ~IFF_DRV_RUNNING;
 
     /*
      * Stop the transmitter and receiver.
@@ -567,7 +567,7 @@ void au1x00_emac_tx_daemon (void *arg)
             sc->tx_pkts++;
             au1x00_emac_sendpacket (ifp, m);
         }
-        ifp->if_flags &= ~IFF_OACTIVE;
+        ifp->if_flags &= ~IFF_DRV_OACTIVE;
     }
 }
 
@@ -807,9 +807,9 @@ au1x00_emac_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_t data)
         break;
 
     case SIOCSIFFLAGS:
-        switch (ifp->if_flags & (IFF_UP | IFF_RUNNING))
+        switch (ifp->if_flags & (IFF_UP | IFF_DRV_RUNNING))
         {
-        case IFF_RUNNING:
+        case IFF_DRV_RUNNING:
             au1x00_emac_stop (sc);
             break;
 
@@ -817,7 +817,7 @@ au1x00_emac_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_t data)
             au1x00_emac_init (sc);
             break;
 
-        case IFF_UP | IFF_RUNNING:
+        case IFF_UP | IFF_DRV_RUNNING:
             au1x00_emac_stop (sc);
             au1x00_emac_init (sc);
             break;
diff --git a/c/src/lib/libbsp/powerpc/beatnik/network/if_em/if_em.c b/c/src/lib/libbsp/powerpc/beatnik/network/if_em/if_em.c
index 98f1453..30781fa 100644
--- a/c/src/lib/libbsp/powerpc/beatnik/network/if_em/if_em.c
+++ b/c/src/lib/libbsp/powerpc/beatnik/network/if_em/if_em.c
@@ -678,7 +678,7 @@ em_detach(device_t dev)
 
 	EM_LOCK_DESTROY(adapter);
 
-	ifp->if_flags &= ~(IFF_RUNNING | IFF_OACTIVE);
+	ifp->if_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE);
 	ifp->if_timer = 0;
 
 	return(0);
@@ -738,7 +738,7 @@ em_start_locked(struct ifnet *ifp)
 		if (em_encap(adapter, &m_head)) { 
 			if (m_head == NULL)
 				break;
-			ifp->if_flags |= IFF_OACTIVE;
+			ifp->if_flags |= IFF_DRV_OACTIVE;
 			IFQ_DRV_PREPEND(&ifp->if_snd, m_head);
 			break;
                 }
@@ -821,14 +821,14 @@ em_ioctl(struct ifnet *ifp, ioctl_command_t command, caddr_t data)
 		IOCTL_DEBUGOUT("ioctl rcv'd: SIOCSIFFLAGS (Set Interface Flags)");
 		EM_LOCK(adapter);
 		if (ifp->if_flags & IFF_UP) {
-			if (!(ifp->if_flags & IFF_RUNNING)) {
+			if (!(ifp->if_flags & IFF_DRV_RUNNING)) {
 				em_init_locked(adapter);
 			}
 
 			em_disable_promisc(adapter);
 			em_set_promisc(adapter);
 		} else {
-			if (ifp->if_flags & IFF_RUNNING) {
+			if (ifp->if_flags & IFF_DRV_RUNNING) {
 				em_stop(adapter);
 			}
 		}
@@ -847,7 +847,7 @@ em_ioctl(struct ifnet *ifp, ioctl_command_t command, caddr_t data)
 		}
 #endif
 		IOCTL_DEBUGOUT("ioctl rcv'd: SIOC(ADD|DEL)MULTI");
-		if (ifp->if_flags & IFF_RUNNING) {
+		if (ifp->if_flags & IFF_DRV_RUNNING) {
 			EM_LOCK(adapter);
 			em_disable_intr(adapter);
 			em_set_multi(adapter);
@@ -904,7 +904,7 @@ em_ioctl(struct ifnet *ifp, ioctl_command_t command, caddr_t data)
 			ifp->if_capenable ^= IFCAP_VLAN_HWTAGGING;
 			reinit = 1;
 		}
-		if (reinit && (ifp->if_flags & IFF_RUNNING))
+		if (reinit && (ifp->if_flags & IFF_DRV_RUNNING))
 			em_init(adapter);
 		break;
 #endif
@@ -948,7 +948,7 @@ em_watchdog(struct ifnet *ifp)
 	if (em_check_for_link(&adapter->hw))
 		printf("em%d: watchdog timeout -- resetting\n", adapter->unit);
 
-	ifp->if_flags &= ~IFF_RUNNING;
+	ifp->if_flags &= ~IFF_DRV_RUNNING;
 
 	em_init(adapter);
 
@@ -1051,8 +1051,8 @@ em_init_locked(struct adapter * adapter)
 	/* Don't loose promiscuous settings */
 	em_set_promisc(adapter);
 
-	ifp->if_flags |= IFF_RUNNING;
-	ifp->if_flags &= ~IFF_OACTIVE;
+	ifp->if_flags |= IFF_DRV_RUNNING;
+	ifp->if_flags &= ~IFF_DRV_OACTIVE;
 
 #ifndef __rtems__
 	if (adapter->hw.mac_type >= em_82543) {
@@ -1123,12 +1123,12 @@ em_poll_locked(struct ifnet *ifp, enum poll_cmd cmd, int count)
 			callout_reset(&adapter->timer, hz, em_local_timer, adapter);
                 }
         }
-        if (ifp->if_flags & IFF_RUNNING) {
+        if (ifp->if_flags & IFF_DRV_RUNNING) {
                 em_process_receive_interrupts(adapter, count);
                 em_clean_transmit_interrupts(adapter);
         }
 	
-        if (ifp->if_flags & IFF_RUNNING && !IFQ_DRV_IS_EMPTY(&ifp->if_snd))
+        if (ifp->if_flags & IFF_DRV_RUNNING && !IFQ_DRV_IS_EMPTY(&ifp->if_snd))
                 em_start_locked(ifp);
 }
         
@@ -1191,14 +1191,14 @@ em_intr(void *arg)
         }
 
         while (loop_cnt > 0) { 
-                if (ifp->if_flags & IFF_RUNNING) {
+                if (ifp->if_flags & IFF_DRV_RUNNING) {
                         em_process_receive_interrupts(adapter, -1);
                         em_clean_transmit_interrupts(adapter);
                 }
                 loop_cnt--;
         }
                  
-        if (ifp->if_flags & IFF_RUNNING && !IFQ_DRV_IS_EMPTY(&ifp->if_snd))
+        if (ifp->if_flags & IFF_DRV_RUNNING && !IFQ_DRV_IS_EMPTY(&ifp->if_snd))
                 em_start_locked(ifp);
 
 	EM_UNLOCK(adapter);
@@ -1903,7 +1903,7 @@ em_local_timer(void *arg)
 	em_check_for_link(&adapter->hw);
 	em_print_link_status(adapter);
 	em_update_stats_counters(adapter);   
-	if (em_display_debug_stats && ifp->if_flags & IFF_RUNNING) {
+	if (em_display_debug_stats && ifp->if_flags & IFF_DRV_RUNNING) {
 		em_print_hw_stats(adapter);
 	}
 	em_smartspeed(adapter);
@@ -1985,7 +1985,7 @@ em_stop(void *arg)
 
 
 	/* Tell the stack that the interface is no longer active */
-	ifp->if_flags &= ~(IFF_RUNNING | IFF_OACTIVE);
+	ifp->if_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE);
 
 	return;
 }
@@ -2798,13 +2798,13 @@ em_clean_transmit_interrupts(struct adapter * adapter)
         adapter->oldest_used_tx_desc = i;
 
         /*
-         * If we have enough room, clear IFF_OACTIVE to tell the stack
+         * If we have enough room, clear IFF_DRV_OACTIVE to tell the stack
          * that it is OK to send packets.
          * If there are no pending descriptors, clear the timeout. Otherwise,
          * if some descriptors have been freed, restart the timeout.
          */
         if (num_avail > EM_TX_CLEANUP_THRESHOLD) {                
-                ifp->if_flags &= ~IFF_OACTIVE;
+                ifp->if_flags &= ~IFF_DRV_OACTIVE;
                 if (num_avail == adapter->num_tx_desc)
                         ifp->if_timer = 0;
                 else if (num_avail == adapter->num_tx_desc_avail)
diff --git a/c/src/lib/libbsp/powerpc/beatnik/network/if_gfe/if_gfe.c b/c/src/lib/libbsp/powerpc/beatnik/network/if_gfe/if_gfe.c
index 23fca30..b3b0b72 100644
--- a/c/src/lib/libbsp/powerpc/beatnik/network/if_gfe/if_gfe.c
+++ b/c/src/lib/libbsp/powerpc/beatnik/network/if_gfe/if_gfe.c
@@ -323,7 +323,7 @@ void
 gfe_init(void *arg)
 {
 struct gfe_softc *sc = arg;
-	if ( sc->sc_ec.ec_if.if_flags & IFF_RUNNING )
+	if ( sc->sc_ec.ec_if.if_flags & IFF_DRV_RUNNING )
 		gfe_whack(sc, GE_WHACK_RESTART);
 	else
 		gfe_whack(sc, GE_WHACK_START);
@@ -682,11 +682,11 @@ gfe_ifioctl(struct ifnet *ifp, ioctl_command_t cmd, caddr_t data)
 			sc->sc_pcr &= ~ETH_EPCR_PM;
 		else
 			sc->sc_pcr |=  ETH_EPCR_PM;
-		switch (ifp->if_flags & (IFF_UP|IFF_RUNNING)) {
-		case IFF_UP|IFF_RUNNING:/* active->active, update */
+		switch (ifp->if_flags & (IFF_UP|IFF_DRV_RUNNING)) {
+		case IFF_UP|IFF_DRV_RUNNING:/* active->active, update */
 			error = gfe_whack(sc, GE_WHACK_CHANGE);
 			break;
-		case IFF_RUNNING:	/* not up, so we stop */
+		case IFF_DRV_RUNNING:	/* not up, so we stop */
 			error = gfe_whack(sc, GE_WHACK_STOP);
 			break;
 		case IFF_UP:		/* not running, so we start */
@@ -703,7 +703,7 @@ gfe_ifioctl(struct ifnet *ifp, ioctl_command_t cmd, caddr_t data)
 		    ? ether_addmulti(ifr, &sc->sc_ec)
 		    : ether_delmulti(ifr, &sc->sc_ec);
 		if (error == ENETRESET) {
-			if (ifp->if_flags & IFF_RUNNING)
+			if (ifp->if_flags & IFF_DRV_RUNNING)
 #if !defined(__rtems__)
 				error = gfe_whack(sc, GE_WHACK_CHANGE);
 #else
@@ -761,7 +761,7 @@ gfe_ifstart(struct ifnet *ifp)
 
 	GE_FUNC_ENTER(sc, "gfe_ifstart");
 
-	if ((ifp->if_flags & IFF_RUNNING) == 0) {
+	if ((ifp->if_flags & IFF_DRV_RUNNING) == 0) {
 		GE_FUNC_EXIT(sc, "$");
 		return;
 	}
@@ -769,7 +769,7 @@ gfe_ifstart(struct ifnet *ifp)
 	for (;;) {
 		IF_DEQUEUE(&ifp->if_snd, m);
 		if (m == NULL) {
-			ifp->if_flags &= ~IFF_OACTIVE;
+			ifp->if_flags &= ~IFF_DRV_OACTIVE;
 			GE_FUNC_EXIT(sc, "");
 			return;
 		}
@@ -795,7 +795,7 @@ gfe_ifstart(struct ifnet *ifp)
 	 * Attempt to queue the mbuf for send failed.
 	 */
 	IF_PREPEND(&ifp->if_snd, m);
-	ifp->if_flags |= IFF_OACTIVE;
+	ifp->if_flags |= IFF_DRV_OACTIVE;
 	GE_FUNC_EXIT(sc, "%%");
 }
 
@@ -807,7 +807,7 @@ gfe_ifwatchdog(struct ifnet *ifp)
 
 	GE_FUNC_ENTER(sc, "gfe_ifwatchdog");
 	printf("%s: device timeout", sc->sc_dev.dv_xname);
-	if (ifp->if_flags & IFF_RUNNING) {
+	if (ifp->if_flags & IFF_DRV_RUNNING) {
 		uint32_t curtxdnum = (bus_space_read_4(sc->sc_gt_memt, sc->sc_gt_memh, txq->txq_ectdp) - txq->txq_desc_busaddr) / sizeof(txq->txq_descs[0]);
 		GE_TXDPOSTSYNC(sc, txq, txq->txq_fi);
 		GE_TXDPOSTSYNC(sc, txq, curtxdnum);
@@ -1626,7 +1626,7 @@ gfe_tx_enqueue(struct gfe_softc *sc, enum gfe_txprio txprio)
 		bpf_mtap(ifp->if_bpf, m);
 #endif
 	m_freem(m);
-	ifp->if_flags &= ~IFF_OACTIVE;
+	ifp->if_flags &= ~IFF_DRV_OACTIVE;
 
 	/*
 	 * Since we have put an item into the packet queue, we now want
@@ -1807,7 +1807,7 @@ gfe_tx_enqueue(struct gfe_softc *sc, enum gfe_txprio txprio)
 	if (ifp->if_bpf != NULL)
 		bpf_mtap(ifp->if_bpf, m_head);
 #endif
-	ifp->if_flags &= ~IFF_OACTIVE;
+	ifp->if_flags &= ~IFF_DRV_OACTIVE;
 
 	/*
 	 * Since we have put an item into the packet queue, we now want
@@ -2232,7 +2232,7 @@ gfe_whack(struct gfe_softc *sc, enum gfe_whack_op op)
 #ifndef GE_NOTX
 		gfe_tx_stop(sc, op);
 #endif
-		/* sc->sc_ec.ec_if.if_flags &= ~IFF_RUNNING; */
+		/* sc->sc_ec.ec_if.if_flags &= ~IFF_DRV_RUNNING; */
 		/* FALLTHROUGH */
 	case GE_WHACK_START:
 #ifndef GE_NOHASH
@@ -2256,7 +2256,7 @@ gfe_whack(struct gfe_softc *sc, enum gfe_whack_op op)
 		if (error)
 			break;
 #endif
-		sc->sc_ec.ec_if.if_flags |= IFF_RUNNING;
+		sc->sc_ec.ec_if.if_flags |= IFF_DRV_RUNNING;
 		GE_WRITE(sc, EPCR, sc->sc_pcr | ETH_EPCR_EN);
 		GE_WRITE(sc, EPCXR, sc->sc_pcxr);
 		GE_WRITE(sc, EICR, 0);
@@ -2289,7 +2289,7 @@ gfe_whack(struct gfe_softc *sc, enum gfe_whack_op op)
 #endif
 	GE_WRITE(sc, EPCR, sc->sc_pcr);
 	GE_WRITE(sc, EIMR, 0);
-	sc->sc_ec.ec_if.if_flags &= ~IFF_RUNNING;
+	sc->sc_ec.ec_if.if_flags &= ~IFF_DRV_RUNNING;
 #ifndef GE_NOTX
 	gfe_tx_stop(sc, GE_WHACK_STOP);
 #endif
diff --git a/c/src/lib/libbsp/powerpc/beatnik/network/if_mve/mv643xx_eth.c b/c/src/lib/libbsp/powerpc/beatnik/network/if_mve/mv643xx_eth.c
index 53f9b54..77bd80e 100644
--- a/c/src/lib/libbsp/powerpc/beatnik/network/if_mve/mv643xx_eth.c
+++ b/c/src/lib/libbsp/powerpc/beatnik/network/if_mve/mv643xx_eth.c
@@ -2801,9 +2801,9 @@ int                 media;
 	media = IFM_MAKEWORD(0, 0, 0, 0);
 	if ( 0 == BSP_mve_media_ioctl(&sc->pvt, SIOCGIFMEDIA, &media) ) {
 	    if ( (IFM_LINK_OK & media) ) {
-			ifp->if_flags &= ~IFF_OACTIVE;
+			ifp->if_flags &= ~IFF_DRV_OACTIVE;
 		} else {
-			ifp->if_flags |= IFF_OACTIVE;
+			ifp->if_flags |= IFF_DRV_OACTIVE;
 		}
 	}
 
@@ -2811,7 +2811,7 @@ int                 media;
 	if ( ! (ifp->if_flags & IFF_PROMISC) )
 		mveth_set_filters(ifp);
 
-	ifp->if_flags |= IFF_RUNNING;
+	ifp->if_flags |= IFF_DRV_RUNNING;
 	sc->arpcom.ac_if.if_timer = 0;
 }
 
@@ -2826,7 +2826,7 @@ struct mbuf			*m  = 0;
 		IF_DEQUEUE( &ifp->if_snd, m );
 		if ( BSP_mve_send_buf(&sc->pvt, m, 0, 0) < 0 ) {
 			IF_PREPEND( &ifp->if_snd, m);
-			ifp->if_flags |= IFF_OACTIVE;
+			ifp->if_flags |= IFF_DRV_OACTIVE;
 			break;
 		}
 		/* need to do this really only once
@@ -2896,7 +2896,7 @@ int					f;
   		case SIOCSIFFLAGS:
 			f = ifp->if_flags;
 			if ( f & IFF_UP ) {
-				if ( ! ( f & IFF_RUNNING ) ) {
+				if ( ! ( f & IFF_DRV_RUNNING ) ) {
 					mveth_init(sc);
 				} else {
 					if ( (f & IFF_PROMISC) != (sc->bsd.oif_flags & IFF_PROMISC) ) {
@@ -2913,9 +2913,9 @@ int					f;
 					/* FIXME: other flag changes are ignored/unimplemented */
 				}
 			} else {
-				if ( f & IFF_RUNNING ) {
+				if ( f & IFF_DRV_RUNNING ) {
 					mveth_stop(sc);
-					ifp->if_flags  &= ~(IFF_RUNNING | IFF_OACTIVE);
+					ifp->if_flags  &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE);
 				}
 			}
 			sc->bsd.oif_flags = ifp->if_flags;
@@ -2933,7 +2933,7 @@ int					f;
 				    : ether_delmulti(ifr, &sc->arpcom);
 
 			if (error == ENETRESET) {
-				if (ifp->if_flags & IFF_RUNNING) {
+				if (ifp->if_flags & IFF_DRV_RUNNING) {
 					mveth_set_filters(ifp);
 				}
 				error = 0;
@@ -2974,11 +2974,11 @@ rtems_event_set		evs;
 
 				if ( !(ifp->if_flags & IFF_UP) ) {
 					mveth_stop(sc);
-					ifp->if_flags &= ~(IFF_UP|IFF_RUNNING);
+					ifp->if_flags &= ~(IFF_UP|IFF_DRV_RUNNING);
 					continue;
 				}
 
-				if ( !(ifp->if_flags & IFF_RUNNING) ) {
+				if ( !(ifp->if_flags & IFF_DRV_RUNNING) ) {
 					/* event could have been pending at the time hw was stopped;
 					 * just ignore...
 					 */
@@ -2993,17 +2993,17 @@ rtems_event_set		evs;
 
 					if ( 0 == BSP_mve_ack_link_chg(&sc->pvt, &media) ) {
 						if ( IFM_LINK_OK & media ) {
-							ifp->if_flags &= ~IFF_OACTIVE;
+							ifp->if_flags &= ~IFF_DRV_OACTIVE;
 							mveth_start(ifp);
 						} else {
 							/* stop sending */
-							ifp->if_flags |= IFF_OACTIVE;
+							ifp->if_flags |= IFF_DRV_OACTIVE;
 						}
 					}
 				}
 				/* free tx chain */
 				if ( (MV643XX_ETH_EXT_IRQ_TX_DONE & x) && BSP_mve_swipe_tx(&sc->pvt) ) {
-					ifp->if_flags &= ~IFF_OACTIVE;
+					ifp->if_flags &= ~IFF_DRV_OACTIVE;
 					if ( TX_AVAILABLE_RING_SIZE(&sc->pvt) == sc->pvt.avail )
 						ifp->if_timer = 0;
 					mveth_start(ifp);
@@ -3278,7 +3278,7 @@ mveth_detach(struct mveth_softc *sc)
 {
 struct ifnet	*ifp = &sc->arpcom.ac_if;
 	if ( ifp->if_init ) {
-		if ( ifp->if_flags & (IFF_UP | IFF_RUNNING) ) {
+		if ( ifp->if_flags & (IFF_UP | IFF_DRV_RUNNING) ) {
 			printf(DRVNAME"%i: refuse to detach; interface still up\n",sc->pvt.port_num+1);
 			return -1;
 		}
diff --git a/c/src/lib/libbsp/powerpc/gen5200/network_5200/network.c b/c/src/lib/libbsp/powerpc/gen5200/network_5200/network.c
index 2e11915..b801dad 100644
--- a/c/src/lib/libbsp/powerpc/gen5200/network_5200/network.c
+++ b/c/src/lib/libbsp/powerpc/gen5200/network_5200/network.c
@@ -803,7 +803,7 @@ static void mpc5200_fec_tx_start(struct ifnet *ifp)
 
   mpc5200_fec_context *self = ifp->if_softc;
 
-  ifp->if_flags |= IFF_OACTIVE;
+  ifp->if_flags |= IFF_DRV_OACTIVE;
 
   mpc5200_fec_send_event(self->txDaemonTid);
 
@@ -927,7 +927,7 @@ static struct mbuf *mpc5200_fec_next_fragment(
       if (m != NULL) {
         *isFirst = true;
       } else {
-        ifp->if_flags &= ~IFF_OACTIVE;
+        ifp->if_flags &= ~IFF_DRV_OACTIVE;
 
         return NULL;
       }
@@ -1259,7 +1259,7 @@ static void mpc5200_fec_init(void *arg)
   /*
    * Tell the world that we're running.
    */
-  ifp->if_flags |= IFF_RUNNING;
+  ifp->if_flags |= IFF_DRV_RUNNING;
 }
 
 static void enet_stats (mpc5200_fec_context *self)
@@ -1328,7 +1328,7 @@ static int mpc5200_fec_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_
                   : ether_delmulti(ifr, &self->arpcom);
 
        if (error == ENETRESET) {
-         if (ifp->if_flags & IFF_RUNNING)
+         if (ifp->if_flags & IFF_DRV_RUNNING)
            error = mpc5200_fec_setMultiFilter(ifp);
          else
            error = 0;
@@ -1338,10 +1338,10 @@ static int mpc5200_fec_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_
 
     case SIOCSIFFLAGS:
 
-      switch(ifp->if_flags & (IFF_UP | IFF_RUNNING))
+      switch(ifp->if_flags & (IFF_UP | IFF_DRV_RUNNING))
         {
 
-        case IFF_RUNNING:
+        case IFF_DRV_RUNNING:
 
           mpc5200_fec_off(self);
 
@@ -1353,7 +1353,7 @@ static int mpc5200_fec_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_
 
           break;
 
-        case IFF_UP | IFF_RUNNING:
+        case IFF_UP | IFF_DRV_RUNNING:
 
           mpc5200_fec_off(self);
           mpc5200_fec_init(self);
diff --git a/c/src/lib/libbsp/powerpc/haleakala/network/network.c b/c/src/lib/libbsp/powerpc/haleakala/network/network.c
index 4b89286..59babaa 100644
--- a/c/src/lib/libbsp/powerpc/haleakala/network/network.c
+++ b/c/src/lib/libbsp/powerpc/haleakala/network/network.c
@@ -645,7 +645,7 @@ static void ppc405_emac_watchdog(struct ifnet* ifp)
   EMACLocals* ep = ifp->if_softc;
   
   if (ppc405_emac_phy_adapt(ep)==0) {
-    ep->arpcom.ac_if.if_flags |= IFF_RUNNING;
+    ep->arpcom.ac_if.if_flags |= IFF_DRV_RUNNING;
     ifp->if_timer = 0;    /* No longer needed */
   } else
     ifp->if_timer = 1;    /* reschedule, once a second */
@@ -821,7 +821,7 @@ ppc405_emac_txDaemon (void* param)
         break;
       SendPacket (ep, ifp, m);
     }
-    ifp->if_flags &= ~IFF_OACTIVE;
+    ifp->if_flags &= ~IFF_DRV_OACTIVE;
   }
 }
 
@@ -972,9 +972,9 @@ static void ppc405_emac_init (void* p)
     txName[3] += ep->phyAddr;
     ep->txDaemonTid = rtems_bsdnet_newproc (txName, 4096, ppc405_emac_txDaemon, ep);
   }
-  /* Only set IFF_RUNNING if the PHY is ready. If not set the watchdog timer running so we check it */
+  /* Only set IFF_DRV_RUNNING if the PHY is ready. If not set the watchdog timer running so we check it */
   if ( GetPHYLinkState(ep) & kELinkUp ) 
-    ep->arpcom.ac_if.if_flags |= IFF_RUNNING;
+    ep->arpcom.ac_if.if_flags |= IFF_DRV_RUNNING;
   else
     ep->arpcom.ac_if.if_timer = 1;
 }
@@ -984,7 +984,7 @@ static void ppc405_emac_start(struct ifnet *ifp)
 {
   EMACLocals* ep = ifp->if_softc;
   rtems_event_send (ep->txDaemonTid, START_TRANSMIT_EVENT);
-  ifp->if_flags |= IFF_OACTIVE;
+  ifp->if_flags |= IFF_DRV_OACTIVE;
 }
 
 static void ppc405_emac_stop (EMACLocals* ep)
@@ -996,7 +996,7 @@ static void ppc405_emac_stop (EMACLocals* ep)
   PPC_SET_DEVICE_CONTROL_REGISTER(MAL0_RXCARR,mask);
   ppc405_emac_disable(ep);
   /* *** delete daemons, or do they exit themselves? */
-  ep->arpcom.ac_if.if_flags &= ~IFF_RUNNING;
+  ep->arpcom.ac_if.if_flags &= ~IFF_DRV_RUNNING;
 }
 
 #ifdef qDebug
@@ -1089,8 +1089,8 @@ static int ppc405_emac_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_
   switch (command) {
   
     case SIOCSIFFLAGS:
-      switch (ifp->if_flags & (IFF_UP | IFF_RUNNING)) {
-        case IFF_RUNNING:
+      switch (ifp->if_flags & (IFF_UP | IFF_DRV_RUNNING)) {
+        case IFF_DRV_RUNNING:
           ppc405_emac_stop(ep);
           break;
     
@@ -1098,7 +1098,7 @@ static int ppc405_emac_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_
           ppc405_emac_init(ep);
           break;
     
-        case IFF_UP | IFF_RUNNING:
+        case IFF_UP | IFF_DRV_RUNNING:
           ppc405_emac_stop(ep);
           ppc405_emac_init(ep);
           break;
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/network/smsc9218i.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/network/smsc9218i.c
index fb0b7aa..8c11535 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/network/smsc9218i.c
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/network/smsc9218i.c
@@ -1135,7 +1135,7 @@ static struct mbuf *smsc9218i_next_transmit_fragment(
       jc->next_fragment = NULL;
 
       /* Interface is now inactive */
-      ifp->if_flags &= ~IFF_OACTIVE;
+      ifp->if_flags &= ~IFF_DRV_OACTIVE;
 
       /* Transmit task may wait for events */
       jc->done = true;
@@ -1896,7 +1896,7 @@ static void smsc9218i_interface_init(void *arg)
 
     if (ok) {
       /* Set interface to running state */
-      ifp->if_flags |= IFF_RUNNING;
+      ifp->if_flags |= IFF_DRV_RUNNING;
 
       /* Change state */
       e->state = SMSC9218I_RUNNING;
@@ -2044,7 +2044,7 @@ static void smsc9218i_interface_start(struct ifnet *ifp)
   smsc9218i_driver_entry *e = (smsc9218i_driver_entry *) ifp->if_softc;
 
   /* Interface is now active */
-  ifp->if_flags |= IFF_OACTIVE;
+  ifp->if_flags |= IFF_DRV_OACTIVE;
 
   sc = rtems_bsdnet_event_send(e->transmit_task, SMSC9218I_EVENT_TX_START);
   ASSERT_SC(sc);
diff --git a/c/src/lib/libbsp/powerpc/mpc8260ads/network/if_hdlcsubr.c b/c/src/lib/libbsp/powerpc/mpc8260ads/network/if_hdlcsubr.c
index 96d0bf4..ae2e260 100644
--- a/c/src/lib/libbsp/powerpc/mpc8260ads/network/if_hdlcsubr.c
+++ b/c/src/lib/libbsp/powerpc/mpc8260ads/network/if_hdlcsubr.c
@@ -108,7 +108,7 @@ hdlc_output(ifp, m0, dst, rt0)
 /*	printk( "hdlc output" ); */
 /*	struct arpcom *ac = (struct arpcom *)ifp; */
 
-	if ((ifp->if_flags & (IFF_UP|IFF_RUNNING)) != (IFF_UP|IFF_RUNNING))
+	if ((ifp->if_flags & (IFF_UP|IFF_DRV_RUNNING)) != (IFF_UP|IFF_DRV_RUNNING))
 		senderr(ENETDOWN);
 	rt = rt0;
 	if (rt) {
@@ -195,7 +195,7 @@ hdlc_output(ifp, m0, dst, rt0)
 		senderr(ENOBUFS);
 	}
 	IF_ENQUEUE(&ifp->if_snd, m);
-	if ((ifp->if_flags & IFF_OACTIVE) == 0)
+	if ((ifp->if_flags & IFF_DRV_OACTIVE) == 0)
 		(*ifp->if_start)(ifp);
 	splx(s);
 
diff --git a/c/src/lib/libbsp/powerpc/mpc8260ads/network/network.c b/c/src/lib/libbsp/powerpc/mpc8260ads/network/network.c
index 5e62896..dda26ef 100644
--- a/c/src/lib/libbsp/powerpc/mpc8260ads/network/network.c
+++ b/c/src/lib/libbsp/powerpc/mpc8260ads/network/network.c
@@ -724,7 +724,7 @@ scc_txDaemon (void *arg)
       scc_sendpacket (ifp, m);
 
     }
-    ifp->if_flags &= ~IFF_OACTIVE;
+    ifp->if_flags &= ~IFF_DRV_OACTIVE;
   }
 }
 
@@ -737,7 +737,7 @@ m8260_hdlc_start (struct ifnet *ifp)
   struct m8260_hdlc_struct *sc = ifp->if_softc;
 
   rtems_bsdnet_event_send (sc->txDaemonTid, START_TRANSMIT_EVENT);
-  ifp->if_flags |= IFF_OACTIVE;
+  ifp->if_flags |= IFF_DRV_OACTIVE;
 }
 
 /*
@@ -777,7 +777,7 @@ scc_init (void *arg)
   /*
    * Tell the world that we're running.
    */
-  ifp->if_flags |= IFF_RUNNING;
+  ifp->if_flags |= IFF_DRV_RUNNING;
 
   /*
    * Enable receiver and transmitter
@@ -793,7 +793,7 @@ scc_stop (struct m8260_hdlc_struct *sc)
 {
   struct ifnet *ifp = &sc->ac_if;
 
-  ifp->if_flags &= ~IFF_RUNNING;
+  ifp->if_flags &= ~IFF_DRV_RUNNING;
 
   /*
    * Shut down receiver and transmitter
@@ -837,8 +837,8 @@ scc_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_t data)
     break;
 
   case SIOCSIFFLAGS:
-    switch (ifp->if_flags & (IFF_UP | IFF_RUNNING)) {
-    case IFF_RUNNING:
+    switch (ifp->if_flags & (IFF_UP | IFF_DRV_RUNNING)) {
+    case IFF_DRV_RUNNING:
       scc_stop (sc);
       break;
 
@@ -846,7 +846,7 @@ scc_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_t data)
       scc_init (sc);
       break;
 
-    case IFF_UP | IFF_RUNNING:
+    case IFF_UP | IFF_DRV_RUNNING:
       scc_stop (sc);
       scc_init (sc);
       break;
diff --git a/c/src/lib/libbsp/powerpc/mvme3100/network/tsec.c b/c/src/lib/libbsp/powerpc/mvme3100/network/tsec.c
index 7503be0..526b7df 100644
--- a/c/src/lib/libbsp/powerpc/mvme3100/network/tsec.c
+++ b/c/src/lib/libbsp/powerpc/mvme3100/network/tsec.c
@@ -2565,14 +2565,14 @@ int                 media;
 	media = IFM_MAKEWORD(0, 0, 0, 0);
 	if ( 0 == BSP_tsec_media_ioctl(&sc->pvt, SIOCGIFMEDIA, &media) ) {
 		if ( (IFM_LINK_OK & media) ) {
-			ifp->if_flags &= ~IFF_OACTIVE;
+			ifp->if_flags &= ~IFF_DRV_OACTIVE;
 		} else {
-			ifp->if_flags |=  IFF_OACTIVE;
+			ifp->if_flags |=  IFF_DRV_OACTIVE;
 		}
 	}
 
 	tsec_update_mcast(ifp);
-	ifp->if_flags |= IFF_RUNNING;
+	ifp->if_flags |= IFF_DRV_RUNNING;
 	sc->arpcom.ac_if.if_timer = 0;
 }
 
@@ -2587,7 +2587,7 @@ struct mbuf			*m  = 0;
 		IF_DEQUEUE( &ifp->if_snd, m );
 		if ( BSP_tsec_send_buf(&sc->pvt, m, 0, 0) < 0 ) {
 			IF_PREPEND( &ifp->if_snd, m);
-			ifp->if_flags |= IFF_OACTIVE;
+			ifp->if_flags |= IFF_DRV_OACTIVE;
 			break;
 		}
 		/* need to do this really only once
@@ -2651,7 +2651,7 @@ int					f;
   		case SIOCSIFFLAGS:
 			f = ifp->if_flags;
 			if ( f & IFF_UP ) {
-				if ( ! ( f & IFF_RUNNING ) ) {
+				if ( ! ( f & IFF_DRV_RUNNING ) ) {
 					tsec_init(sc);
 				} else {
 					if ( (f & IFF_PROMISC) != (sc->bsd.oif_flags & IFF_PROMISC) ) {
@@ -2669,9 +2669,9 @@ int					f;
 					/* FIXME: other flag changes are ignored/unimplemented */
 				}
 			} else {
-				if ( f & IFF_RUNNING ) {
+				if ( f & IFF_DRV_RUNNING ) {
 					tsec_stop(sc);
-					ifp->if_flags  &= ~(IFF_RUNNING | IFF_OACTIVE);
+					ifp->if_flags  &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE);
 				}
 			}
 			sc->bsd.oif_flags = ifp->if_flags;
@@ -2689,7 +2689,7 @@ int					f;
 				    : ether_delmulti(ifr, &sc->arpcom);
 
 			if (error == ENETRESET) {
-				if (ifp->if_flags & IFF_RUNNING) {
+				if (ifp->if_flags & IFF_DRV_RUNNING) {
 					tsec_update_mcast(ifp);
 				}
 				error = 0;
@@ -2728,11 +2728,11 @@ rtems_event_set		evs;
 
 				if ( !(ifp->if_flags & IFF_UP) ) {
 					tsec_stop(sc);
-					ifp->if_flags &= ~(IFF_UP|IFF_RUNNING);
+					ifp->if_flags &= ~(IFF_UP|IFF_DRV_RUNNING);
 					continue;
 				}
 
-				if ( !(ifp->if_flags & IFF_RUNNING) ) {
+				if ( !(ifp->if_flags & IFF_DRV_RUNNING) ) {
 					/* event could have been pending at the time hw was stopped;
 					 * just ignore...
 					 */
@@ -2754,18 +2754,18 @@ rtems_event_set		evs;
 						printf("\n");
 #endif
 						if ( IFM_LINK_OK & media ) {
-							ifp->if_flags &= ~IFF_OACTIVE;
+							ifp->if_flags &= ~IFF_DRV_OACTIVE;
 							tsec_start(ifp);
 						} else {
 							/* stop sending */
-							ifp->if_flags |= IFF_OACTIVE;
+							ifp->if_flags |= IFF_DRV_OACTIVE;
 						}
 					}
 				}
 
 				/* free tx chain */
 				if ( (TSEC_TXIRQ & x) && BSP_tsec_swipe_tx(&sc->pvt) ) {
-					ifp->if_flags &= ~IFF_OACTIVE;
+					ifp->if_flags &= ~IFF_DRV_OACTIVE;
 					if ( TX_AVAILABLE_RING_SIZE(&sc->pvt) == sc->pvt.tx_avail )
 						ifp->if_timer = 0;
 					tsec_start(ifp);
diff --git a/c/src/lib/libbsp/powerpc/mvme5500/network/if_100MHz/GT64260eth.c b/c/src/lib/libbsp/powerpc/mvme5500/network/if_100MHz/GT64260eth.c
index fbabe98..1e9ecef 100644
--- a/c/src/lib/libbsp/powerpc/mvme5500/network/if_100MHz/GT64260eth.c
+++ b/c/src/lib/libbsp/powerpc/mvme5500/network/if_100MHz/GT64260eth.c
@@ -272,7 +272,7 @@ static void GT64260eth_stop_hw(struct GTeth_softc *sc)
   outl(sc->sc_pcr, ETH0_EPCR);
   outl(0, ETH0_EIMR);
 
-  sc->arpcom.ac_if.if_flags &= ~IFF_RUNNING;
+  sc->arpcom.ac_if.if_flags &= ~IFF_DRV_RUNNING;
 #ifndef GE_NOTX
   GTeth_tx_stop(sc);
 #endif
@@ -342,7 +342,7 @@ static void GT64260eth_ifinit(void *arg)
    sc->daemonTid = rtems_bsdnet_newproc(GT_ETH_TASK_NAME,4096,GT64260eth_daemon,arg);
 
   /* Tell the world that we're running */
-  sc->arpcom.ac_if.if_flags |= IFF_RUNNING;
+  sc->arpcom.ac_if.if_flags |= IFF_DRV_RUNNING;
 
 }
 
@@ -554,14 +554,14 @@ static int GTeth_ifioctl(struct ifnet *ifp, ioctl_command_t cmd, caddr_t data)
       return ether_ioctl(ifp, cmd, data);
 
     case SIOCSIFFLAGS:
-       switch (ifp->if_flags & (IFF_UP|IFF_RUNNING)) {
-            case IFF_RUNNING:	/* not up, so we stop */
+       switch (ifp->if_flags & (IFF_UP|IFF_DRV_RUNNING)) {
+            case IFF_DRV_RUNNING:	/* not up, so we stop */
 	         GT64260eth_stop(sc);
 	         break;
             case IFF_UP:  /* not running, so we start */
 	         GT64260eth_ifinit(sc);
 	         break;
-	    case IFF_UP|IFF_RUNNING:/* active->active, update */
+	    case IFF_UP|IFF_DRV_RUNNING:/* active->active, update */
 	         GT64260eth_stop(sc);
                  GT64260eth_ifinit(sc);
 	         break;
@@ -578,7 +578,7 @@ static int GTeth_ifioctl(struct ifnet *ifp, ioctl_command_t cmd, caddr_t data)
 		  ? ether_addmulti(ifr, &sc->arpcom)
 		  : ether_delmulti(ifr, &sc->arpcom);
        if (error == ENETRESET) {
-	   if (ifp->if_flags & IFF_RUNNING)
+	   if (ifp->if_flags & IFF_DRV_RUNNING)
 	      GTeth_ifchange(sc);
 	   else
 	      error = 0;
@@ -607,14 +607,14 @@ static void GTeth_ifstart(struct ifnet *ifp)
   printk("GTeth_ifstart(");
 #endif
 
-  if ((ifp->if_flags & IFF_RUNNING) == 0) {
+  if ((ifp->if_flags & IFF_DRV_RUNNING) == 0) {
 #ifdef GT_DEBUG
-     printk("IFF_RUNNING==0\n");
+     printk("IFF_DRV_RUNNING==0\n");
 #endif
      return;
   }
 
-  ifp->if_flags |= IFF_OACTIVE;
+  ifp->if_flags |= IFF_DRV_OACTIVE;
   rtems_bsdnet_event_send (sc->daemonTid, START_TRANSMIT_EVENT);
 #ifdef GT_DEBUG
   printk(")\n");
@@ -1543,7 +1543,7 @@ static void GT64260eth_daemon(void *arg)
 	  */
        } while (m);
 
-       ifp->if_flags &= ~IFF_OACTIVE;
+       ifp->if_flags &= ~IFF_DRV_OACTIVE;
 
        /* Log errors and other uncommon events. */
 #ifdef GT64260eth_DEBUG
@@ -1551,7 +1551,7 @@ static void GT64260eth_daemon(void *arg)
 #endif
   } /* end for(;;) { rtems_bsdnet_event_receive() .....*/
 
-  ifp->if_flags &= ~(IFF_RUNNING|IFF_OACTIVE);
+  ifp->if_flags &= ~(IFF_DRV_RUNNING|IFF_DRV_OACTIVE);
 
   /* shut down the hardware */
   GT64260eth_stop_hw(sc);
diff --git a/c/src/lib/libbsp/powerpc/mvme5500/network/if_1GHz/if_wm.c b/c/src/lib/libbsp/powerpc/mvme5500/network/if_1GHz/if_wm.c
index 25be339..a71aebc 100644
--- a/c/src/lib/libbsp/powerpc/mvme5500/network/if_1GHz/if_wm.c
+++ b/c/src/lib/libbsp/powerpc/mvme5500/network/if_1GHz/if_wm.c
@@ -521,14 +521,14 @@ i82544EI_ifstart(struct ifnet *ifp)
   printk("i82544EI_ifstart(");
 #endif
 
-  if ((ifp->if_flags & IFF_RUNNING) == 0) {
+  if ((ifp->if_flags & IFF_DRV_RUNNING) == 0) {
 #ifdef WM_DEBUG
-     printk("IFF_RUNNING==0\n");
+     printk("IFF_DRV_RUNNING==0\n");
 #endif
      return;
   }
 
-  ifp->if_flags |= IFF_OACTIVE;
+  ifp->if_flags |= IFF_DRV_OACTIVE;
   rtems_bsdnet_event_send (sc->daemonTid, START_TRANSMIT_EVENT);
 #ifdef WM_DEBUG
   printk(")\n");
@@ -1186,7 +1186,7 @@ static void i82544EI_ifinit(void *arg)
   sc->daemonTid = rtems_bsdnet_newproc(i82544EI_TASK_NAME,4096,i82544EI_daemon,arg);
 
   /* ...all done! */
-  sc->arpcom.ac_if.if_flags |= IFF_RUNNING;
+  sc->arpcom.ac_if.if_flags |= IFF_DRV_RUNNING;
 
 #ifdef WM_DEBUG
   printk(")");
@@ -1253,7 +1253,7 @@ static void i82544EI_stop_hw(struct wm_softc *sc)
 
   CSR_WRITE(sc,WMREG_IMS, 0);
 
-  sc->arpcom.ac_if.if_flags &= ~IFF_RUNNING;
+  sc->arpcom.ac_if.if_flags &= ~IFF_DRV_RUNNING;
   i82544EI_tx_stop(sc);
   i82544EI_rx_stop(sc);
 #ifdef WM_DEBUG
@@ -1281,7 +1281,7 @@ static void wm_stop(struct ifnet *ifp, int disable)
   wm_rxdrain(sc);
 
   /* Mark the interface as down  */
-  ifp->if_flags &= ~(IFF_RUNNING | IFF_OACTIVE);
+  ifp->if_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE);
 #ifdef WM_DEBUG
   printk(")\n");
 #endif
@@ -1667,7 +1667,7 @@ static void i82544EI_daemon(void *arg)
 	  */
      } while (m);
 
-     ifp->if_flags &= ~IFF_OACTIVE;
+     ifp->if_flags &= ~IFF_DRV_OACTIVE;
 
      /* Log errors and other uncommon events. */
      if (events & ERR_EVENT) i82544EI_error(sc);
@@ -1680,7 +1680,7 @@ static void i82544EI_daemon(void *arg)
   } /* end for(;;) { rtems_bsdnet_event_receive() .....*/
 
   printf("out of daemon\n");
-  ifp->if_flags &= ~(IFF_RUNNING|IFF_OACTIVE);
+  ifp->if_flags &= ~(IFF_DRV_RUNNING|IFF_DRV_OACTIVE);
 
   /* shut down the hardware */
   i82544EI_stop_hw(sc);
diff --git a/c/src/lib/libbsp/powerpc/psim/network/if_sim.c b/c/src/lib/libbsp/powerpc/psim/network/if_sim.c
index 4314aad..40dc9b3 100644
--- a/c/src/lib/libbsp/powerpc/psim/network/if_sim.c
+++ b/c/src/lib/libbsp/powerpc/psim/network/if_sim.c
@@ -193,7 +193,7 @@ struct ifnet       *ifp = &sc->arpcom.ac_if;
 
 	if ( 0 == get_rxbuf(sc) ) {
 		ifsim_upd_promisc(sc);
-		ifp->if_flags |= IFF_RUNNING;
+		ifp->if_flags |= IFF_DRV_RUNNING;
 	}
 }
 
@@ -242,16 +242,16 @@ int                f;
 		case SIOCSIFFLAGS:
 			f = ifp->if_flags;
 			if ( f & IFF_UP ) {
-				if ( ! (f & IFF_RUNNING) ) {
+				if ( ! (f & IFF_DRV_RUNNING) ) {
 					ifsim_init(sc);
 				} else {
 					ifsim_upd_promisc(sc);
 				}
 				/* FIXME: handle other flags here */
 			} else {
-				if ( f & IFF_RUNNING ) {
+				if ( f & IFF_DRV_RUNNING ) {
 					printk("WARNING: bringing "DRVNAME" down not really implemented\n");
-					ifp->if_flags &= ~(IFF_RUNNING | IFF_OACTIVE);
+					ifp->if_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE);
 				}
 			}
 
@@ -344,7 +344,7 @@ rtems_event_set    evs;
 
 				if ( (sta & IFSIM_RX_STA_DONE) ) {
 
-					if ( (ifp->if_flags & IFF_RUNNING) ) {
+					if ( (ifp->if_flags & IFF_DRV_RUNNING) ) {
 						if ( 0 == get_rxbuf(sc) ) {
 							/* enqueue packet */
 							struct ether_header *eh;
diff --git a/c/src/lib/libbsp/powerpc/qoriq/network/if_intercom.c b/c/src/lib/libbsp/powerpc/qoriq/network/if_intercom.c
index b692ced..12839d7 100644
--- a/c/src/lib/libbsp/powerpc/qoriq/network/if_intercom.c
+++ b/c/src/lib/libbsp/powerpc/qoriq/network/if_intercom.c
@@ -187,7 +187,7 @@ static void if_intercom_start(struct ifnet *ifp)
 
 	packet->size = size;
 	self->packet = packet;
-	ifp->if_flags &= ~IFF_OACTIVE;
+	ifp->if_flags &= ~IFF_DRV_OACTIVE;
 }
 
 static void if_intercom_init(void *arg)
@@ -226,11 +226,11 @@ static int if_intercom_ioctl(
 			ether_ioctl(ifp, command, data);
 			break;
 		case SIOCSIFFLAGS:
-			if (ifp->if_flags & IFF_RUNNING) {
+			if (ifp->if_flags & IFF_DRV_RUNNING) {
 				/* TODO: off */
 			}
 			if (ifp->if_flags & IFF_UP) {
-				ifp->if_flags |= IFF_RUNNING;
+				ifp->if_flags |= IFF_DRV_RUNNING;
 				/* TODO: init */
 			}
 			break;
diff --git a/c/src/lib/libbsp/powerpc/tqm8xx/network/network_fec.c b/c/src/lib/libbsp/powerpc/tqm8xx/network/network_fec.c
index f066a0e..e932e79 100644
--- a/c/src/lib/libbsp/powerpc/tqm8xx/network/network_fec.c
+++ b/c/src/lib/libbsp/powerpc/tqm8xx/network/network_fec.c
@@ -860,7 +860,7 @@ void fec_txDaemon (void *arg)
         break;
       fec_sendpacket (ifp, m);
     }
-    ifp->if_flags &= ~IFF_OACTIVE;
+    ifp->if_flags &= ~IFF_DRV_OACTIVE;
   }
 }
 static void fec_init (void *arg)
@@ -904,7 +904,7 @@ static void fec_init (void *arg)
   /*
    * Tell the world that we're running.
    */
-  ifp->if_flags |= IFF_RUNNING;
+  ifp->if_flags |= IFF_DRV_RUNNING;
 
   /*
    * Enable receiver and transmitter
@@ -921,14 +921,14 @@ m8xx_fec_enet_start (struct ifnet *ifp)
   struct m8xx_fec_enet_struct *sc = ifp->if_softc;
 
   rtems_bsdnet_event_send (sc->txDaemonTid, START_TRANSMIT_EVENT);
-  ifp->if_flags |= IFF_OACTIVE;
+  ifp->if_flags |= IFF_DRV_OACTIVE;
 }
 
 static void fec_stop (struct m8xx_fec_enet_struct *sc)
 {
   struct ifnet *ifp = &sc->arpcom.ac_if;
 
-  ifp->if_flags &= ~IFF_RUNNING;
+  ifp->if_flags &= ~IFF_DRV_RUNNING;
 
   /*
    * Shut down receiver and transmitter
@@ -996,8 +996,8 @@ static int fec_ioctl (struct ifnet *ifp,
     break;
 
   case SIOCSIFFLAGS:
-    switch (ifp->if_flags & (IFF_UP | IFF_RUNNING)) {
-    case IFF_RUNNING:
+    switch (ifp->if_flags & (IFF_UP | IFF_DRV_RUNNING)) {
+    case IFF_DRV_RUNNING:
       fec_stop (sc);
       break;
 
@@ -1005,7 +1005,7 @@ static int fec_ioctl (struct ifnet *ifp,
       fec_init (sc);
       break;
 
-    case IFF_UP | IFF_RUNNING:
+    case IFF_UP | IFF_DRV_RUNNING:
       fec_stop (sc);
       fec_init (sc);
       break;
diff --git a/c/src/lib/libbsp/powerpc/tqm8xx/network/network_scc.c b/c/src/lib/libbsp/powerpc/tqm8xx/network/network_scc.c
index 5909b02..0ca3def 100644
--- a/c/src/lib/libbsp/powerpc/tqm8xx/network/network_scc.c
+++ b/c/src/lib/libbsp/powerpc/tqm8xx/network/network_scc.c
@@ -794,7 +794,7 @@ scc_txDaemon (void *arg)
         break;
       scc_sendpacket (ifp, m);
     }
-    ifp->if_flags &= ~IFF_OACTIVE;
+    ifp->if_flags &= ~IFF_DRV_OACTIVE;
   }
 }
 
@@ -808,7 +808,7 @@ m8xx_enet_start (struct ifnet *ifp)
   struct m8xx_enet_struct *sc = ifp->if_softc;
 
   rtems_bsdnet_event_send (sc->txDaemonTid, START_TRANSMIT_EVENT);
-  ifp->if_flags |= IFF_OACTIVE;
+  ifp->if_flags |= IFF_DRV_OACTIVE;
 }
 
 /*
@@ -846,7 +846,7 @@ scc_init (void *arg)
   /*
    * Tell the world that we're running.
    */
-  ifp->if_flags |= IFF_RUNNING;
+  ifp->if_flags |= IFF_DRV_RUNNING;
 
   /*
    * Enable receiver and transmitter
@@ -863,7 +863,7 @@ scc_stop (struct m8xx_enet_struct *sc)
 {
   struct ifnet *ifp = &sc->arpcom.ac_if;
 
-  ifp->if_flags &= ~IFF_RUNNING;
+  ifp->if_flags &= ~IFF_DRV_RUNNING;
 
   /*
    * Shut down receiver and transmitter
@@ -915,8 +915,8 @@ scc_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_t data)
     break;
 
   case SIOCSIFFLAGS:
-    switch (ifp->if_flags & (IFF_UP | IFF_RUNNING)) {
-    case IFF_RUNNING:
+    switch (ifp->if_flags & (IFF_UP | IFF_DRV_RUNNING)) {
+    case IFF_DRV_RUNNING:
       scc_stop (sc);
       break;
 
@@ -924,7 +924,7 @@ scc_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_t data)
       scc_init (sc);
       break;
 
-    case IFF_UP | IFF_RUNNING:
+    case IFF_UP | IFF_DRV_RUNNING:
       scc_stop (sc);
       scc_init (sc);
       break;
diff --git a/c/src/lib/libbsp/powerpc/virtex/network/xiltemac.c b/c/src/lib/libbsp/powerpc/virtex/network/xiltemac.c
index 9966d67..b6b600b 100644
--- a/c/src/lib/libbsp/powerpc/virtex/network/xiltemac.c
+++ b/c/src/lib/libbsp/powerpc/virtex/network/xiltemac.c
@@ -229,12 +229,12 @@ void xilTemacStop(struct ifnet *ifp)
   }
 #endif
 
-  ifp->if_flags &= ~IFF_RUNNING;
+  ifp->if_flags &= ~IFF_DRV_RUNNING;
 }
 
 void xilTemacStart(struct ifnet *ifp)
 {
-  if( (ifp->if_flags & IFF_RUNNING) == 0 )
+  if( (ifp->if_flags & IFF_DRV_RUNNING) == 0 )
   {
     struct XilTemac* xilTemac = ifp->if_softc;
     uint32_t base = xilTemac->iAddr;
@@ -353,7 +353,7 @@ void xilTemacStart(struct ifnet *ifp)
 
     /* Enable device global interrutps */
     OUT32(base + XTE_DGIE_OFFSET, XTE_DGIE_ENABLE_MASK);
-    ifp->if_flags |= IFF_RUNNING;
+    ifp->if_flags |= IFF_DRV_RUNNING;
   }
 }
 
@@ -373,7 +373,7 @@ void xilTemacSetMacAddress(struct ifnet *ifp, unsigned char* aAddr)
   uint32_t base = xilTemac->iAddr;
 
   /* You can't change the mac address while the card is in operation */
-  if( (ifp->if_flags & IFF_RUNNING) != 0 ) {
+  if( (ifp->if_flags & IFF_DRV_RUNNING) != 0 ) {
     printk("%s: attempted to change MAC while up, interface '%s'\n", DRIVER_PREFIX, xilTemac->iUnitName );
     assert(0);
   }
@@ -418,7 +418,7 @@ void xilTemacIsrSingle(struct XilTemac* xilTemac)
   uint32_t disr = IN32( base + XTE_DISR_OFFSET );
   struct ifnet* ifp = xilTemac->iIfp;
 
-  if( disr && (ifp->if_flags & IFF_RUNNING) == 0 ) {
+  if( disr && (ifp->if_flags & IFF_DRV_RUNNING) == 0 ) {
     /* some interrupt status bits are asserted but card is down */
     printk("%s: Fatal error, disr 0 or this emac not running\n", DRIVER_PREFIX);
     /*assert(0);*/
@@ -558,9 +558,9 @@ int xilTemacIoctl(struct ifnet* ifp, ioctl_command_t   aCommand, caddr_t aData)
       break;
 
     case SIOCSIFFLAGS:
-      switch(ifp->if_flags & (IFF_UP | IFF_RUNNING))
+      switch(ifp->if_flags & (IFF_UP | IFF_DRV_RUNNING))
       {
-        case IFF_RUNNING:
+        case IFF_DRV_RUNNING:
           xilTemacStop(ifp);
           break;
 
@@ -568,7 +568,7 @@ int xilTemacIoctl(struct ifnet* ifp, ioctl_command_t   aCommand, caddr_t aData)
           xilTemacStart(ifp);
           break;
 
-        case IFF_UP | IFF_RUNNING:
+        case IFF_UP | IFF_DRV_RUNNING:
           xilTemacReset(ifp);
           break;
 
@@ -610,7 +610,7 @@ void xilTemacSend(struct ifnet* ifp)
   /* wake up tx thread w/ outbound interface's signal */
   rtems_bsdnet_event_send( gXilTxThread, xilTemac->iIoEvent );
 
-  ifp->if_flags |= IFF_OACTIVE;
+  ifp->if_flags |= IFF_DRV_OACTIVE;
 }
 
 /* align the tx buffer to 32 bytes just for kicks, should make it more
@@ -707,7 +707,7 @@ void xilTemacTxThreadSingle(struct ifnet* ifp)
     /* 5) Free mbuf chain */
     m_freem( m );
   }
-  ifp->if_flags &= ~IFF_OACTIVE;
+  ifp->if_flags &= ~IFF_DRV_OACTIVE;
 }
 
 void xilTemacTxThread( void *ignore )
@@ -735,7 +735,7 @@ void xilTemacTxThread( void *ignore )
       if( xilTemac->iIsPresent ) {
         ifp = xilTemac->iIfp;
 
-        if( (ifp->if_flags & IFF_RUNNING) ) {
+        if( (ifp->if_flags & IFF_DRV_RUNNING) ) {
 
           if( events & xilTemac->iIoEvent ) {
             xilTemacTxThreadSingle(ifp);
@@ -862,7 +862,7 @@ void xilTemacRxThread( void *ignore )
       if( xilTemac->iIsPresent ) {
         ifp = xilTemac->iIfp;
 
-        if( (ifp->if_flags & IFF_RUNNING) != 0 ) {
+        if( (ifp->if_flags & IFF_DRV_RUNNING) != 0 ) {
           if( events & xilTemac->iIoEvent ) {
             xilTemacRxThreadSingle(ifp);
           }
diff --git a/c/src/lib/libbsp/sparc/shared/net/greth.c b/c/src/lib/libbsp/sparc/shared/net/greth.c
index 13dabfe..bbc179d 100644
--- a/c/src/lib/libbsp/sparc/shared/net/greth.c
+++ b/c/src/lib/libbsp/sparc/shared/net/greth.c
@@ -988,7 +988,7 @@ int greth_process_tx_gbit(struct greth_softc *sc)
                  * makes the stack enter at greth_start next time
                  * a packet is to be sent.
                  */
-                ifp->if_flags &= ~IFF_OACTIVE;
+                ifp->if_flags &= ~IFF_DRV_OACTIVE;
                 break;
             }
         }
@@ -1011,7 +1011,7 @@ int greth_process_tx_gbit(struct greth_softc *sc)
             if ( first ){
                 first = 0;
                 rtems_interrupt_disable(level);
-                ifp->if_flags |= IFF_OACTIVE;
+                ifp->if_flags |= IFF_DRV_OACTIVE;
                 sc->regs->ctrl |= GRETH_CTRL_TXIRQ;
                 rtems_interrupt_enable(level);
                 
@@ -1055,7 +1055,7 @@ int greth_process_tx(struct greth_softc *sc)
                  * makes the stack enter at greth_start next time
                  * a packet is to be sent.
                  */
-                ifp->if_flags &= ~IFF_OACTIVE;
+                ifp->if_flags &= ~IFF_DRV_OACTIVE;
                 break;
             }
         }
@@ -1077,7 +1077,7 @@ int greth_process_tx(struct greth_softc *sc)
             if ( first ){
                 first = 0;
                 rtems_interrupt_disable(level);
-                ifp->if_flags |= IFF_OACTIVE;
+                ifp->if_flags |= IFF_DRV_OACTIVE;
                 sc->regs->ctrl |= GRETH_CTRL_TXIRQ;
                 rtems_interrupt_enable(level);
                 
@@ -1101,7 +1101,7 @@ greth_start (struct ifnet *ifp)
 {
     struct greth_softc *sc = ifp->if_softc;
     
-    if ( ifp->if_flags & IFF_OACTIVE )
+    if ( ifp->if_flags & IFF_DRV_OACTIVE )
             return;
     
     if ( sc->gbit_mac ){
@@ -1146,7 +1146,7 @@ greth_init (void *arg)
     /*
      * Tell the world that we're running.
      */
-    ifp->if_flags |= IFF_RUNNING;
+    ifp->if_flags |= IFF_DRV_RUNNING;
 
 }
 
@@ -1158,7 +1158,7 @@ greth_stop (struct greth_softc *sc)
 {
     struct ifnet *ifp = &sc->arpcom.ac_if;
 
-    ifp->if_flags &= ~IFF_RUNNING;
+    ifp->if_flags &= ~IFF_DRV_RUNNING;
 
     sc->regs->ctrl = 0;		        /* RX/TX OFF */
     sc->regs->ctrl = GRETH_CTRL_RST;	/* Reset ON */
@@ -1202,9 +1202,9 @@ greth_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_t data)
 	  break;
 
       case SIOCSIFFLAGS:
-	  switch (ifp->if_flags & (IFF_UP | IFF_RUNNING))
+	  switch (ifp->if_flags & (IFF_UP | IFF_DRV_RUNNING))
 	    {
-	    case IFF_RUNNING:
+	    case IFF_DRV_RUNNING:
 		greth_stop (sc);
                 break;
 
@@ -1212,7 +1212,7 @@ greth_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_t data)
 		greth_init (sc);
 		break;
 
-	    case IFF_UP | IFF_RUNNING:
+	    case IFF_UP | IFF_DRV_RUNNING:
 		greth_stop (sc);
 		greth_init (sc);
 		break;
diff --git a/c/src/lib/libcpu/bfin/network/ethernet.c b/c/src/lib/libcpu/bfin/network/ethernet.c
index 5a34e93..88443ed 100644
--- a/c/src/lib/libcpu/bfin/network/ethernet.c
+++ b/c/src/lib/libcpu/bfin/network/ethernet.c
@@ -208,7 +208,7 @@ static void ethernetStop(struct bfin_ethernetSoftc *sc) {
   ifp = &sc->arpcom.ac_if;
   ethBase = sc->ethBase;
 
-  ifp->if_flags &= ~IFF_RUNNING;
+  ifp->if_flags &= ~IFF_DRV_RUNNING;
 
   /* stop the transmitter and receiver.  */
   BFIN_REG32(ethBase, EMAC_OPMODE_OFFSET) &= ~(EMAC_OPMODE_TE |
@@ -339,7 +339,7 @@ static void txDaemon(void *arg) {
     }
     /* send packets until the queue is empty or we run out of tx
        descriptors */
-    while (!sc->tx[head].inUse && (ifp->if_flags & IFF_OACTIVE)) {
+    while (!sc->tx[head].inUse && (ifp->if_flags & IFF_DRV_OACTIVE)) {
       /* get the next mbuf chain to transmit */
       IF_DEQUEUE(&ifp->if_snd, m);
       if (m != NULL) {
@@ -414,7 +414,7 @@ static void txDaemon(void *arg) {
         }
       } else {
         /* no packets queued */
-        ifp->if_flags &= ~IFF_OACTIVE;
+        ifp->if_flags &= ~IFF_DRV_OACTIVE;
       }
     }
 
@@ -719,7 +719,7 @@ static void ethernetStart(struct ifnet *ifp) {
 
   sc = ifp->if_softc;
 
-  ifp->if_flags |= IFF_OACTIVE;
+  ifp->if_flags |= IFF_DRV_OACTIVE;
   rtems_bsdnet_event_send(sc->txDaemonTid, START_TRANSMIT_EVENT);
 }
 
@@ -750,7 +750,7 @@ static void ethernetInit(void *arg) {
   /*
    * Tell the world that we're running.
    */
-  ifp->if_flags |= IFF_RUNNING;
+  ifp->if_flags |= IFF_DRV_RUNNING;
 
 }
 
@@ -767,14 +767,14 @@ static int ethernetIoctl(struct ifnet *ifp, ioctl_command_t command,
     ether_ioctl(ifp, command, data);
     break;
   case SIOCSIFFLAGS:
-    switch (ifp->if_flags & (IFF_UP | IFF_RUNNING)) {
-    case IFF_RUNNING:
+    switch (ifp->if_flags & (IFF_UP | IFF_DRV_RUNNING)) {
+    case IFF_DRV_RUNNING:
       ethernetStop(sc);
       break;
     case IFF_UP:
       ethernetInit(sc);
       break;
-    case IFF_UP | IFF_RUNNING:
+    case IFF_UP | IFF_DRV_RUNNING:
       ethernetStop(sc);
       ethernetInit(sc);
       break;
diff --git a/c/src/lib/libcpu/powerpc/mpc83xx/network/tsec.c b/c/src/lib/libcpu/powerpc/mpc83xx/network/tsec.c
index a16369f..839b87a 100644
--- a/c/src/lib/libcpu/powerpc/mpc83xx/network/tsec.c
+++ b/c/src/lib/libcpu/powerpc/mpc83xx/network/tsec.c
@@ -852,7 +852,7 @@ struct ifnet *ifp
 {
   struct tsec_struct *sc = ifp->if_softc;
 
-  ifp->if_flags |= IFF_OACTIVE;
+  ifp->if_flags |= IFF_DRV_OACTIVE;
 
   rtems_bsdnet_event_send (sc->txDaemonTid, START_TRANSMIT_EVENT);
 }
@@ -1114,7 +1114,7 @@ static void tsec_txDaemon
       }
     } while (m != NULL);
 
-    ifp->if_flags &= ~IFF_OACTIVE;
+    ifp->if_flags &= ~IFF_DRV_OACTIVE;
   }
   /*
    * disable Tx in MACCFG1 register
@@ -1527,7 +1527,7 @@ static void tsec_init
   /*
    * Tell the world that we're running.
    */
-  ifp->if_flags |= IFF_RUNNING;
+  ifp->if_flags |= IFF_DRV_RUNNING;
 }
 
 /*=========================================================================*\
@@ -1678,7 +1678,7 @@ static int tsec_ioctl
     /*
      * adjust active state
      */
-    if (ifp->if_flags & IFF_RUNNING) {
+    if (ifp->if_flags & IFF_DRV_RUNNING) {
       tsec_off(sc);
     }
     if (ifp->if_flags & IFF_UP) {
diff --git a/c/src/libchip/network/cs8900.c b/c/src/libchip/network/cs8900.c
index 2552d77..18a9275 100644
--- a/c/src/libchip/network/cs8900.c
+++ b/c/src/libchip/network/cs8900.c
@@ -769,7 +769,7 @@ cs8900_tx_task (void *arg)
 
     if (!m)
     {
-      ifp->if_flags &= ~IFF_OACTIVE;
+      ifp->if_flags &= ~IFF_DRV_OACTIVE;
 
       rtems_bsdnet_event_receive (CS8900_TX_START_EVENT,
                                   RTEMS_WAIT | RTEMS_EVENT_ANY,
@@ -869,7 +869,7 @@ cs8900_start (struct ifnet *ifp)
    * Tell the transmit daemon to wake up and send a packet.
    */
 
-  ifp->if_flags |= IFF_OACTIVE;
+  ifp->if_flags |= IFF_DRV_OACTIVE;
 
   rtems_bsdnet_event_send (cs->tx_task, CS8900_TX_START_EVENT);
 }
@@ -1062,7 +1062,7 @@ cs8900_init (void *arg)
    * Tell the world that we're running.
    */
 
-  ifp->if_flags |= IFF_RUNNING;
+  ifp->if_flags |= IFF_DRV_RUNNING;
 
   /*
    * Set the Line Control to bring the receive and transmitter online.
@@ -1092,9 +1092,9 @@ cs8900_ioctl (struct ifnet *ifp, ioctl_command_t cmd, caddr_t data)
 
     case SIOCSIFFLAGS:
 
-      switch (ifp->if_flags & (IFF_UP | IFF_RUNNING))
+      switch (ifp->if_flags & (IFF_UP | IFF_DRV_RUNNING))
       {
-        case IFF_RUNNING:
+        case IFF_DRV_RUNNING:
 
           cs8900_stop (cs);
           break;
@@ -1104,7 +1104,7 @@ cs8900_ioctl (struct ifnet *ifp, ioctl_command_t cmd, caddr_t data)
           cs8900_init (cs);
           break;
 
-        case IFF_UP | IFF_RUNNING:
+        case IFF_UP | IFF_DRV_RUNNING:
 
           cs8900_stop (cs);
           cs8900_init (cs);
diff --git a/c/src/libchip/network/dec21140.c b/c/src/libchip/network/dec21140.c
index aa6be29..2ca2f52 100644
--- a/c/src/libchip/network/dec21140.c
+++ b/c/src/libchip/network/dec21140.c
@@ -706,7 +706,7 @@ dec21140_txDaemon (void *arg)
                   sendpacket (ifp, m);
                }
 
-               ifp->if_flags &= ~IFF_OACTIVE;
+               ifp->if_flags &= ~IFF_DRV_OACTIVE;
             }
          }
       }
@@ -719,7 +719,7 @@ dec21140_start (struct ifnet *ifp)
 {
    struct dec21140_softc *sc = ifp->if_softc;
    rtems_bsdnet_event_send( txDaemonTid, sc->ioevent );
-   ifp->if_flags |= IFF_OACTIVE;
+   ifp->if_flags |= IFF_DRV_OACTIVE;
 }
 
 /*
@@ -751,7 +751,7 @@ dec21140_init (void *arg)
    /*
     * Tell the world that we're running.
     */
-   ifp->if_flags |= IFF_RUNNING;
+   ifp->if_flags |= IFF_DRV_RUNNING;
 }
 
 /*
@@ -763,7 +763,7 @@ dec21140_stop (struct dec21140_softc *sc)
   volatile uint32_t *tbase;
   struct ifnet *ifp = &sc->arpcom.ac_if;
 
-  ifp->if_flags &= ~IFF_RUNNING;
+  ifp->if_flags &= ~IFF_DRV_RUNNING;
 
   /*
    * Stop the transmitter
@@ -817,8 +817,8 @@ dec21140_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_t data)
          break;
 
       case SIOCSIFFLAGS:
-         switch (ifp->if_flags & (IFF_UP | IFF_RUNNING)) {
-            case IFF_RUNNING:
+         switch (ifp->if_flags & (IFF_UP | IFF_DRV_RUNNING)) {
+            case IFF_DRV_RUNNING:
                dec21140_stop (sc);
                break;
 
@@ -826,7 +826,7 @@ dec21140_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_t data)
                dec21140_init (sc);
                break;
 
-            case IFF_UP | IFF_RUNNING:
+            case IFF_UP | IFF_DRV_RUNNING:
                dec21140_stop (sc);
                dec21140_init (sc);
                break;
diff --git a/c/src/libchip/network/dwmac.c b/c/src/libchip/network/dwmac.c
index ddcf365..b419081 100644
--- a/c/src/libchip/network/dwmac.c
+++ b/c/src/libchip/network/dwmac.c
@@ -1485,7 +1485,7 @@ static void dwmac_task_tx( void *arg )
             idx_release = dwmac_increment(
               idx_release, INDEX_MAX );
           }
-          if ( ( self->arpcom.ac_if.if_flags & IFF_OACTIVE ) != 0 ) {
+          if ( ( self->arpcom.ac_if.if_flags & IFF_DRV_OACTIVE ) != 0 ) {
             /* The last tranmission has been incomplete
             * (for example due to lack of DMA descriptors).
             * Continue it now! */
@@ -1602,7 +1602,7 @@ static void dwmac_task_tx( void *arg )
         /* No more packets and fragments? */
         if ( p_m == NULL ) {
           /* Interface is now inactive */
-          self->arpcom.ac_if.if_flags &= ~IFF_OACTIVE;
+          self->arpcom.ac_if.if_flags &= ~IFF_DRV_OACTIVE;
         } else {
           /* There are more packets pending to be sent,
           * but we have run out of DMA descriptors.
@@ -1989,7 +1989,7 @@ static void dwmac_if_interface_start( struct ifnet *ifp )
 
 
   /* Mark that we are transmitting */
-  ifp->if_flags |= IFF_OACTIVE;
+  ifp->if_flags |= IFF_DRV_OACTIVE;
 
   if ( self->state == DWMAC_COMMON_STATE_UP ) {
     /* Wake up our task */
@@ -2265,7 +2265,7 @@ static int dwmac_if_attach(
 
   if ( eno == 0 ) {
     /* Change status */
-    ifp->if_flags |= IFF_RUNNING;
+    ifp->if_flags |= IFF_DRV_RUNNING;
 
     /* Attach the interface */
     if_attach( ifp );
diff --git a/c/src/libchip/network/elnk.c b/c/src/libchip/network/elnk.c
index 06ece5b..9beda42 100644
--- a/c/src/libchip/network/elnk.c
+++ b/c/src/libchip/network/elnk.c
@@ -2587,7 +2587,7 @@ elnk_txDaemon (void *arg)
                }
 
 
-               ifp->if_flags &= ~IFF_OACTIVE;
+               ifp->if_flags &= ~IFF_DRV_OACTIVE;
             }
          }
       }
@@ -2611,7 +2611,7 @@ elnk_start (struct ifnet *ifp)
 #if 0
    printk("unit %i tx signaled\n", sc->xl_unit );
 #endif
-   ifp->if_flags |= IFF_OACTIVE;
+   ifp->if_flags |= IFF_DRV_OACTIVE;
    rtems_bsdnet_event_send( txDaemonTid, sc->ioevent );
 }
 
@@ -2639,7 +2639,7 @@ elnk_init (void *arg)
    struct elnk_softc *sc = arg;
    struct ifnet *ifp = &sc->arpcom.ac_if;
 
-   if( !(ifp->if_flags & IFF_RUNNING) )
+   if( !(ifp->if_flags & IFF_DRV_RUNNING) )
    {
       xl_stop(sc);
       xl_reset(sc);
@@ -2884,7 +2884,7 @@ elnk_init (void *arg)
       /*
        * Tell the world that we're running.
        */
-      ifp->if_flags |= IFF_RUNNING;
+      ifp->if_flags |= IFF_DRV_RUNNING;
    }
 }
 
@@ -2910,7 +2910,7 @@ elnk_stop (struct elnk_softc *sc)
    xl_reset(sc);
    sc->tx_idle = -1;
 
-   ifp->if_flags &= ~IFF_RUNNING;
+   ifp->if_flags &= ~IFF_DRV_RUNNING;
 
    /*
    ** Clear out the rx & tx rings
@@ -3037,8 +3037,8 @@ elnk_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_t data)
          break;
 
       case SIOCSIFFLAGS:
-         switch (ifp->if_flags & (IFF_UP | IFF_RUNNING)) {
-            case IFF_RUNNING:
+         switch (ifp->if_flags & (IFF_UP | IFF_DRV_RUNNING)) {
+            case IFF_DRV_RUNNING:
                elnk_stop (sc);
                break;
 
@@ -3046,7 +3046,7 @@ elnk_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_t data)
                elnk_init (sc);
                break;
 
-            case IFF_UP | IFF_RUNNING:
+            case IFF_UP | IFF_DRV_RUNNING:
                elnk_stop (sc);
                elnk_init (sc);
                break;
diff --git a/c/src/libchip/network/greth.c b/c/src/libchip/network/greth.c
index ccf2017..f5a6359 100644
--- a/c/src/libchip/network/greth.c
+++ b/c/src/libchip/network/greth.c
@@ -879,7 +879,7 @@ int greth_process_tx_gbit(struct greth_softc *sc)
                  * makes the stack enter at greth_start next time
                  * a packet is to be sent.
                  */
-                ifp->if_flags &= ~IFF_OACTIVE;
+                ifp->if_flags &= ~IFF_DRV_OACTIVE;
                 break;
             }
         }
@@ -902,7 +902,7 @@ int greth_process_tx_gbit(struct greth_softc *sc)
             if ( first ){
                 first = 0;
                 rtems_interrupt_disable(level);
-                ifp->if_flags |= IFF_OACTIVE;
+                ifp->if_flags |= IFF_DRV_OACTIVE;
                 sc->regs->ctrl |= GRETH_CTRL_TXIRQ;
                 rtems_interrupt_enable(level);
 
@@ -946,7 +946,7 @@ int greth_process_tx(struct greth_softc *sc)
                  * makes the stack enter at greth_start next time
                  * a packet is to be sent.
                  */
-                ifp->if_flags &= ~IFF_OACTIVE;
+                ifp->if_flags &= ~IFF_DRV_OACTIVE;
                 break;
             }
         }
@@ -968,7 +968,7 @@ int greth_process_tx(struct greth_softc *sc)
             if ( first ){
                 first = 0;
                 rtems_interrupt_disable(level);
-                ifp->if_flags |= IFF_OACTIVE;
+                ifp->if_flags |= IFF_DRV_OACTIVE;
                 sc->regs->ctrl |= GRETH_CTRL_TXIRQ;
                 rtems_interrupt_enable(level);
 
@@ -992,7 +992,7 @@ greth_start (struct ifnet *ifp)
 {
     struct greth_softc *sc = ifp->if_softc;
 
-    if ( ifp->if_flags & IFF_OACTIVE )
+    if ( ifp->if_flags & IFF_DRV_OACTIVE )
             return;
 
     if ( sc->gbit_mac ){
@@ -1033,7 +1033,7 @@ greth_init (void *arg)
     /*
      * Tell the world that we're running.
      */
-    ifp->if_flags |= IFF_RUNNING;
+    ifp->if_flags |= IFF_DRV_RUNNING;
 }
 
 /*
@@ -1044,7 +1044,7 @@ greth_stop (struct greth_softc *sc)
 {
     struct ifnet *ifp = &sc->arpcom.ac_if;
 
-    ifp->if_flags &= ~IFF_RUNNING;
+    ifp->if_flags &= ~IFF_DRV_RUNNING;
 
     sc->regs->ctrl = 0;		        /* RX/TX OFF */
     sc->regs->ctrl = GRETH_CTRL_RST;	/* Reset ON */
@@ -1088,9 +1088,9 @@ greth_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_t data)
 	  break;
 
       case SIOCSIFFLAGS:
-	  switch (ifp->if_flags & (IFF_UP | IFF_RUNNING))
+	  switch (ifp->if_flags & (IFF_UP | IFF_DRV_RUNNING))
 	    {
-	    case IFF_RUNNING:
+	    case IFF_DRV_RUNNING:
 		greth_stop (sc);
                 break;
 
@@ -1098,7 +1098,7 @@ greth_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_t data)
 		greth_init (sc);
 		break;
 
-	    case IFF_UP | IFF_RUNNING:
+	    case IFF_UP | IFF_DRV_RUNNING:
 		greth_stop (sc);
 		greth_init (sc);
 		break;
diff --git a/c/src/libchip/network/i82586.c b/c/src/libchip/network/i82586.c
index d37855b..39ba18f 100644
--- a/c/src/libchip/network/i82586.c
+++ b/c/src/libchip/network/i82586.c
@@ -1028,7 +1028,7 @@ i82586_tint(struct ie_softc *sc, int scbstatus)
 #endif
 
   ifp->if_timer = 0;
-  ifp->if_flags &= ~IFF_OACTIVE;
+  ifp->if_flags &= ~IFF_DRV_OACTIVE;
 
   status = sc->ie_bus_read16(sc, IE_CMD_XMIT_STATUS(sc->xmit_cmds,
                                                     sc->xctail));
@@ -1304,7 +1304,7 @@ i82586_start(struct ifnet *ifp)
 {
   struct ie_softc *sc = ifp->if_softc;
 
-  if ((ifp->if_flags & (IFF_RUNNING | IFF_OACTIVE)) != IFF_RUNNING)
+  if ((ifp->if_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING)
     return;
 
 #if I82586_DEBUG
@@ -1349,7 +1349,7 @@ i82586_start_tx(struct ie_softc *sc)
   I82586_TRACE(sc, I82586_START_TX, sc->xmit_busy);
 #endif
 
-  if ((ifp->if_flags & (IFF_RUNNING | IFF_OACTIVE)) != IFF_RUNNING)
+  if ((ifp->if_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING)
   {
 #if I82586_DEBUG
     I82586_TRACE(sc, I82586_TX_ACTIVE, ifp->if_snd.ifq_len);
@@ -1359,7 +1359,7 @@ i82586_start_tx(struct ie_softc *sc)
 
   for (;;) {
     if (sc->xmit_busy == NTXBUF) {
-      ifp->if_flags |= IFF_OACTIVE;
+      ifp->if_flags |= IFF_DRV_OACTIVE;
       break;
     }
 
@@ -1474,7 +1474,7 @@ i82586_reset(struct ie_softc *sc, int hard)
 
   /* Clear OACTIVE in case we're called from watchdog (frozen xmit). */
   sc->arpcom.ac_if.if_timer = 0;
-  sc->arpcom.ac_if.if_flags &= ~IFF_OACTIVE;
+  sc->arpcom.ac_if.if_flags &= ~IFF_DRV_OACTIVE;
 
   /*
    * Stop i82586 dead in its tracks.
@@ -1899,8 +1899,8 @@ i82586_init(void *arg)
   if (sc->hwinit)
     (sc->hwinit)(sc);
 
-  ifp->if_flags |= IFF_RUNNING;
-  ifp->if_flags &= ~IFF_OACTIVE;
+  ifp->if_flags |= IFF_DRV_RUNNING;
+  ifp->if_flags &= ~IFF_DRV_OACTIVE;
 
   if (NTXBUF < 2)
     sc->do_xmitnopchain = 0;
diff --git a/c/src/libchip/network/if_dc.c b/c/src/libchip/network/if_dc.c
index 1563be5..2415cfb 100644
--- a/c/src/libchip/network/if_dc.c
+++ b/c/src/libchip/network/if_dc.c
@@ -2920,7 +2920,7 @@ dc_txeof(sc)
 	if (idx != sc->dc_cdata.dc_tx_cons) {
 	    	/* some buffers have been freed */
 		sc->dc_cdata.dc_tx_cons = idx;
-		ifp->if_flags &= ~IFF_OACTIVE;
+		ifp->if_flags &= ~IFF_DRV_OACTIVE;
 	}
 	ifp->if_timer = (sc->dc_cdata.dc_tx_cnt == 0) ? 0 : 5;
 
@@ -3074,7 +3074,7 @@ dc_poll(struct ifnet *ifp, enum poll_cmd cmd, int count)
 	sc->rxcycles = count;
 	dc_rxeof(sc);
 	dc_txeof(sc);
-	if (ifp->if_snd.ifq_head != NULL && !(ifp->if_flags & IFF_OACTIVE))
+	if (ifp->if_snd.ifq_head != NULL && !(ifp->if_flags & IFF_DRV_OACTIVE))
 		dc_start(ifp);
 
 	if (cmd == POLL_AND_CHECK_STATUS) { /* also check status register */
@@ -3338,7 +3338,7 @@ static void dc_start(ifp)
 	if (!sc->dc_link && ifp->if_snd.ifq_len < 10)
 		return;
 #endif
-	if (ifp->if_flags & IFF_OACTIVE)
+	if (ifp->if_flags & IFF_DRV_OACTIVE)
 		return;
 
 	idx = sc->dc_cdata.dc_tx_prod;
@@ -3353,14 +3353,14 @@ static void dc_start(ifp)
 			/* only coalesce if have >1 mbufs */
 			if (dc_coal(sc, &m_head)) {
 				IF_PREPEND(&ifp->if_snd, m_head);
-				ifp->if_flags |= IFF_OACTIVE;
+				ifp->if_flags |= IFF_DRV_OACTIVE;
 				break;
 			}
 		}
 
 		if (dc_encap(sc, m_head, &idx)) {
 			IF_PREPEND(&ifp->if_snd, m_head);
-			ifp->if_flags |= IFF_OACTIVE;
+			ifp->if_flags |= IFF_DRV_OACTIVE;
 			break;
 		}
 #if 0
@@ -3372,7 +3372,7 @@ static void dc_start(ifp)
 			bpf_mtap(ifp, m_head);
 #endif
 		if (sc->dc_flags & DC_TX_ONE) {
-			ifp->if_flags |= IFF_OACTIVE;
+			ifp->if_flags |= IFF_DRV_OACTIVE;
 			break;
 		}
 	}
@@ -3539,8 +3539,8 @@ static void dc_init(xsc)
 	/*mii_mediachg(mii);*/
 	dc_setcfg(sc, sc->dc_if_media);
 
-	ifp->if_flags |= IFF_RUNNING;
-	ifp->if_flags &= ~IFF_OACTIVE;
+	ifp->if_flags |= IFF_DRV_RUNNING;
+	ifp->if_flags &= ~IFF_DRV_OACTIVE;
 
 
 #if 0
@@ -3645,7 +3645,7 @@ static int dc_ioctl(ifp, command, data)
 		if (ifp->if_flags & IFF_UP) {
 			int need_setfilt = (ifp->if_flags ^ sc->dc_if_flags) &
 				(IFF_PROMISC | IFF_ALLMULTI);
-			if (ifp->if_flags & IFF_RUNNING) {
+			if (ifp->if_flags & IFF_DRV_RUNNING) {
 				if (need_setfilt)
 					dc_setfilt(sc);
 			} else {
@@ -3653,7 +3653,7 @@ static int dc_ioctl(ifp, command, data)
 				dc_init(sc);
 			}
 		} else {
-			if (ifp->if_flags & IFF_RUNNING)
+			if (ifp->if_flags & IFF_DRV_RUNNING)
 				dc_stop(sc);
 		}
 		sc->dc_if_flags = ifp->if_flags;
@@ -3719,7 +3719,7 @@ static void dc_stop(sc)
 
 	/*untimeout(dc_tick, sc, sc->dc_stat_ch);*/
 
-	ifp->if_flags &= ~(IFF_RUNNING | IFF_OACTIVE);
+	ifp->if_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE);
 #ifdef DEVICE_POLLING
 	ether_poll_deregister(ifp);
 #endif
diff --git a/c/src/libchip/network/if_fxp.c b/c/src/libchip/network/if_fxp.c
index ce59db1..15f857c 100644
--- a/c/src/libchip/network/if_fxp.c
+++ b/c/src/libchip/network/if_fxp.c
@@ -1617,7 +1617,7 @@ fxp_stop(struct fxp_softc *sc)
 
 	DBGLVL_PRINTK(2,"fxp_stop called\n");
 
-	ifp->if_flags &= ~(IFF_RUNNING | IFF_OACTIVE);
+	ifp->if_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE);
 	ifp->if_timer = 0;
 
 	/*
@@ -1918,8 +1918,8 @@ rtems_task_wake_after(100);
 		mii_mediachg(device_get_softc(sc->miibus));
 #endif
 
-	ifp->if_flags |= IFF_RUNNING;
-	ifp->if_flags &= ~IFF_OACTIVE;
+	ifp->if_flags |= IFF_DRV_RUNNING;
+	ifp->if_flags &= ~IFF_DRV_OACTIVE;
 
 	if (sc->daemonTid == 0) {
 		/*
@@ -2163,7 +2163,7 @@ fxp_ioctl(struct ifnet *ifp, ioctl_command_t command, caddr_t data)
 		if (ifp->if_flags & IFF_UP) {
 			fxp_init(sc);
 		} else {
-			if (ifp->if_flags & IFF_RUNNING)
+			if (ifp->if_flags & IFF_DRV_RUNNING)
 				fxp_stop(sc);
 		}
 		break;
diff --git a/c/src/libchip/network/open_eth.c b/c/src/libchip/network/open_eth.c
index b574253..3b34433 100644
--- a/c/src/libchip/network/open_eth.c
+++ b/c/src/libchip/network/open_eth.c
@@ -551,7 +551,7 @@ open_eth_txDaemon (void *arg)
 		    break;
 		sendpacket (ifp, m);
 	    }
-	  ifp->if_flags &= ~IFF_OACTIVE;
+	  ifp->if_flags &= ~IFF_DRV_OACTIVE;
       }
 }
 
@@ -562,7 +562,7 @@ open_eth_start (struct ifnet *ifp)
     struct open_eth_softc *sc = ifp->if_softc;
 
     rtems_bsdnet_event_send (sc->txDaemonTid, START_TRANSMIT_EVENT);
-    ifp->if_flags |= IFF_OACTIVE;
+    ifp->if_flags |= IFF_DRV_OACTIVE;
 }
 
 /*
@@ -594,7 +594,7 @@ open_eth_init (void *arg)
     /*
      * Tell the world that we're running.
      */
-    ifp->if_flags |= IFF_RUNNING;
+    ifp->if_flags |= IFF_DRV_RUNNING;
 
 }
 
@@ -606,7 +606,7 @@ open_eth_stop (struct open_eth_softc *sc)
 {
     struct ifnet *ifp = &sc->arpcom.ac_if;
 
-    ifp->if_flags &= ~IFF_RUNNING;
+    ifp->if_flags &= ~IFF_DRV_RUNNING;
 
     sc->regs->moder = 0;		/* RX/TX OFF */
     sc->regs->moder = OETH_MODER_RST;	/* Reset ON */
@@ -656,9 +656,9 @@ open_eth_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_t data)
 	  break;
 
       case SIOCSIFFLAGS:
-	  switch (ifp->if_flags & (IFF_UP | IFF_RUNNING))
+	  switch (ifp->if_flags & (IFF_UP | IFF_DRV_RUNNING))
 	    {
-	    case IFF_RUNNING:
+	    case IFF_DRV_RUNNING:
 		open_eth_stop (sc);
 		break;
 
@@ -666,7 +666,7 @@ open_eth_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_t data)
 		open_eth_init (sc);
 		break;
 
-	    case IFF_UP | IFF_RUNNING:
+	    case IFF_UP | IFF_DRV_RUNNING:
 		open_eth_stop (sc);
 		open_eth_init (sc);
 		break;
diff --git a/c/src/libchip/network/smc91111.c b/c/src/libchip/network/smc91111.c
index aec0f56..d11c46c 100644
--- a/c/src/libchip/network/smc91111.c
+++ b/c/src/libchip/network/smc91111.c
@@ -687,7 +687,7 @@ static void smc91111_txDaemon(void *arg)
 				break;
 			sendpacket(ifp, m);
 		}
-		ifp->if_flags &= ~IFF_OACTIVE;
+		ifp->if_flags &= ~IFF_DRV_OACTIVE;
 
 	}
 
@@ -698,11 +698,11 @@ static void smc91111_start(struct ifnet *ifp)
 {
 	struct lan91cxx_priv_data *cpd = ifp->if_softc;
 
-	if ((ifp->if_flags & (IFF_RUNNING | IFF_OACTIVE)) != IFF_RUNNING)
+	if ((ifp->if_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING)
 		return;
 
 	rtems_bsdnet_event_send(cpd->txDaemonTid, START_TRANSMIT_EVENT);
-	ifp->if_flags |= IFF_OACTIVE;
+	ifp->if_flags |= IFF_DRV_OACTIVE;
 
 }
 
@@ -839,8 +839,8 @@ static int smc91111_ioctl(struct ifnet *ifp, ioctl_command_t command, caddr_t da
 
 	case SIOCSIFFLAGS:
 		db_printf("SIOCSIFFLAGS\n");
-		switch (ifp->if_flags & (IFF_UP | IFF_RUNNING)) {
-		case IFF_RUNNING:
+		switch (ifp->if_flags & (IFF_UP | IFF_DRV_RUNNING)) {
+		case IFF_DRV_RUNNING:
 			smc91111_stop(cpd);
 			break;
 
@@ -848,7 +848,7 @@ static int smc91111_ioctl(struct ifnet *ifp, ioctl_command_t command, caddr_t da
 			smc91111_init(cpd);
 			break;
 
-		case IFF_UP | IFF_RUNNING:
+		case IFF_UP | IFF_DRV_RUNNING:
 			smc91111_stop(cpd);
 			smc91111_init(cpd);
 			break;
@@ -998,7 +998,7 @@ static void smc91111_init(void *arg)
 	/*
 	 * Tell the world that we're running.
 	 */
-	ifp->if_flags |= IFF_RUNNING;
+	ifp->if_flags |= IFF_DRV_RUNNING;
 }
 
 /*
@@ -1009,7 +1009,7 @@ static void smc91111_stop(struct lan91cxx_priv_data *cpd)
 	struct ifnet *ifp = &cpd->arpcom.ac_if;
 	DEBUG_FUNCTION();
 
-	ifp->if_flags &= ~IFF_RUNNING;
+	ifp->if_flags &= ~IFF_DRV_RUNNING;
 
 	/* Reset chip */
 	put_reg(cpd, LAN91CXX_RCR, LAN91CXX_RCR_SOFT_RST);
diff --git a/c/src/libchip/network/sonic.c b/c/src/libchip/network/sonic.c
index 1cd6cba..e24308d 100644
--- a/c/src/libchip/network/sonic.c
+++ b/c/src/libchip/network/sonic.c
@@ -351,7 +351,7 @@ SONIC_STATIC void sonic_stop (struct sonic_softc *sc)
 {
   struct ifnet *ifp = &sc->arpcom.ac_if;
 
-  ifp->if_flags &= ~IFF_RUNNING;
+  ifp->if_flags &= ~IFF_DRV_RUNNING;
 
   /*
    * Stop the transmitter and receiver.
@@ -734,7 +734,7 @@ SONIC_STATIC void sonic_txDaemon (void *arg)
         break;
       sonic_sendpacket (ifp, m);
     }
-    ifp->if_flags &= ~IFF_OACTIVE;
+    ifp->if_flags &= ~IFF_DRV_OACTIVE;
   }
 }
 
@@ -1417,7 +1417,7 @@ SONIC_STATIC void sonic_start(struct ifnet *ifp)
   struct sonic_softc *sc = ifp->if_softc;
 
   rtems_bsdnet_event_send(sc->txDaemonTid, START_TRANSMIT_EVENT);
-  ifp->if_flags |= IFF_OACTIVE;
+  ifp->if_flags |= IFF_DRV_OACTIVE;
 }
 
 /*
@@ -1458,7 +1458,7 @@ SONIC_STATIC void sonic_init (void *arg)
   /*
    * Tell the world that we're running.
    */
-  ifp->if_flags |= IFF_RUNNING;
+  ifp->if_flags |= IFF_DRV_RUNNING;
 
   /*
    * Enable receiver and transmitter
@@ -1483,8 +1483,8 @@ sonic_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_t data)
       break;
 
     case SIOCSIFFLAGS:
-      switch (ifp->if_flags & (IFF_UP | IFF_RUNNING)) {
-        case IFF_RUNNING:
+      switch (ifp->if_flags & (IFF_UP | IFF_DRV_RUNNING)) {
+        case IFF_DRV_RUNNING:
           sonic_stop (sc);
           break;
 
@@ -1492,7 +1492,7 @@ sonic_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_t data)
           sonic_init (sc);
           break;
 
-        case IFF_UP | IFF_RUNNING:
+        case IFF_UP | IFF_DRV_RUNNING:
           sonic_stop (sc);
           sonic_init (sc);
           break;
diff --git a/cpukit/libnetworking/net/if_ethersubr.c b/cpukit/libnetworking/net/if_ethersubr.c
index a98241a..e586892 100644
--- a/cpukit/libnetworking/net/if_ethersubr.c
+++ b/cpukit/libnetworking/net/if_ethersubr.c
@@ -56,6 +56,7 @@
 #include <sys/sysctl.h>
 
 #include <net/if.h>
+#include <rtems/rtems_net_if.h>
 #include <net/if_arp.h>
 #include <net/netisr.h>
 #include <net/route.h>
@@ -124,7 +125,8 @@ ether_output(struct ifnet *ifp, struct mbuf *m,
 	struct at_ifaddr *aa;
 #endif /* NETATALK */
 
-	if ((ifp->if_flags & (IFF_UP|IFF_RUNNING)) != (IFF_UP|IFF_RUNNING))
+	if ((ifp->if_flags & (IFF_UP|IFF_DRV_RUNNING)) !=
+	    (IFF_UP|IFF_DRV_RUNNING))
 		senderr(ENETDOWN);
 	rt = rt0;
 	if (rt) {
@@ -286,7 +288,7 @@ ether_output(struct ifnet *ifp, struct mbuf *m,
 		senderr(ENOBUFS);
 	}
 	IF_ENQUEUE(&ifp->if_snd, m);
-	if ((ifp->if_flags & IFF_OACTIVE) == 0)
+	if ((ifp->if_flags & IFF_DRV_OACTIVE) == 0)
 		(*ifp->if_start)(ifp);
 	splx(s);
 	ifp->if_obytes += len + sizeof (struct ether_header);
diff --git a/cpukit/libnetworking/net/if_loop.c b/cpukit/libnetworking/net/if_loop.c
index 9ddcc81..365506e 100644
--- a/cpukit/libnetworking/net/if_loop.c
+++ b/cpukit/libnetworking/net/if_loop.c
@@ -56,6 +56,7 @@
 #include <sys/time.h>
 
 #include <net/if.h>
+#include <rtems/rtems_net_if.h>
 #include <net/if_types.h>
 #include <net/netisr.h>
 #include <net/route.h>
@@ -239,7 +240,7 @@ loioctl(struct ifnet *ifp, ioctl_command_t cmd, caddr_t data)
 	switch (cmd) {
 
 	case SIOCSIFADDR:
-		ifp->if_flags |= IFF_UP | IFF_RUNNING;
+		ifp->if_flags |= IFF_UP | IFF_DRV_RUNNING;
 		ifa = (struct ifaddr *)data;
 		ifa->ifa_rtrequest = lortrequest;
 		/*
diff --git a/cpukit/libnetworking/net/if_ppp.c b/cpukit/libnetworking/net/if_ppp.c
index 4549910..9ecb8f0 100644
--- a/cpukit/libnetworking/net/if_ppp.c
+++ b/cpukit/libnetworking/net/if_ppp.c
@@ -303,13 +303,13 @@ static rtems_task ppp_txdaemon(rtems_task_argument arg)
         if ( sc->sc_outm == NULL ) {
           /* clear output flags */
           sc->sc_outflag      = 0;
-          sc->sc_if.if_flags &= ~IFF_OACTIVE;
+          sc->sc_if.if_flags &= ~IFF_DRV_OACTIVE;
         }
         else {
           /* set flag to start process */
           iprocess            = 1;
           sc->sc_outflag      = SC_TX_BUSY;
-          sc->sc_if.if_flags |= IFF_OACTIVE;
+          sc->sc_if.if_flags |= IFF_DRV_OACTIVE;
         }
       }
     }
@@ -451,8 +451,8 @@ static void ppp_init(struct ppp_softc *sc)
   }
 
   /* mark driver running and output inactive */
-  /* ilya: IFF_RUNNING flag will be marked after the IPCP goes up */
-/*  sc->sc_if.if_flags |= IFF_RUNNING;	*/
+  /* ilya: IFF_DRV_RUNNING flag will be marked after the IPCP goes up */
+/*  sc->sc_if.if_flags |= IFF_DRV_RUNNING;	*/
 }
 
 /*
@@ -556,7 +556,7 @@ pppdealloc(struct ppp_softc *sc)
     rtems_interrupt_level       level;
 
     if_down(&sc->sc_if);
-    sc->sc_if.if_flags &= ~(IFF_UP|IFF_RUNNING);
+    sc->sc_if.if_flags &= ~(IFF_UP|IFF_DRV_RUNNING);
     sc->sc_devp = NULL;
     sc->sc_xfer = 0;
 
@@ -861,7 +861,7 @@ pppsioctl(struct ifnet *ifp, ioctl_command_t cmd, caddr_t data)
 
     switch (cmd) {
     case SIOCSIFFLAGS:
-	if ((ifp->if_flags & IFF_RUNNING) == 0)
+	if ((ifp->if_flags & IFF_DRV_RUNNING) == 0)
 	    ifp->if_flags &= ~IFF_UP;
 	break;
 
@@ -964,7 +964,7 @@ pppoutput(struct ifnet *ifp, struct mbuf *m0, struct sockaddr *dst,
     int len;
     struct mbuf *m;
 
-    if (sc->sc_devp == NULL || (ifp->if_flags & IFF_RUNNING) == 0
+    if (sc->sc_devp == NULL || (ifp->if_flags & IFF_DRV_RUNNING) == 0
 	|| ((ifp->if_flags & IFF_UP) == 0 && dst->sa_family != AF_UNSPEC)) {
 	error = ENETDOWN;	/* sort of */
 	goto bad;
diff --git a/cpukit/libnetworking/net/ppp_tty.c b/cpukit/libnetworking/net/ppp_tty.c
index 45fb499..ced1316 100644
--- a/cpukit/libnetworking/net/ppp_tty.c
+++ b/cpukit/libnetworking/net/ppp_tty.c
@@ -242,7 +242,7 @@ pppopen(struct rtems_termios_tty *tty)
     rtems_bsdnet_semaphore_release();
 
     /* initialize values */
-    sc->sc_if.if_flags |= IFF_RUNNING;
+    sc->sc_if.if_flags |= IFF_DRV_RUNNING;
     sc->sc_if.if_baudrate =
 	rtems_termios_baud_to_number(tty->termios.c_cflag & CBAUD);
 
diff --git a/cpukit/libnetworking/rtems/rtems_dhcp_failsafe.c b/cpukit/libnetworking/rtems/rtems_dhcp_failsafe.c
index c491ad9..a228625 100644
--- a/cpukit/libnetworking/rtems/rtems_dhcp_failsafe.c
+++ b/cpukit/libnetworking/rtems/rtems_dhcp_failsafe.c
@@ -30,13 +30,13 @@
 
   * Optionally, after the interface is configured (either with DHCP or
     statically), a task is started to monitor it.  When the interface remains
-    disconnected (i.e. its IFF_RUNNING flag is off) for network_fail_timeout
+    disconnected (i.e. its IFF_DRV_RUNNING flag is off) for network_fail_timeout
     seconds, the dhcp lease renewal is stopped.  As soon as the interface is
     connected again, DHCP is started again as above.
     If network_fail_timeout is set to 0, the monitor task is not started.
 
   * Optionally, when the interface is disconnected, it is also brought down
-    for network_down_time seconds.  Since this possibly makes the IFF_RUNNING
+    for network_down_time seconds.  Since this possibly makes the IFF_DRV_RUNNING
     flag unuseable, the interface is brought up again before the flag is
     polled.
     If network_down_time is set to 0, the interface is not brought down.
@@ -299,7 +299,7 @@ static void dhcp_monitor_task (rtems_task_argument ifp_arg)
       goto error_out;
     }
 
-    if ((ifflags & IFF_RUNNING) != 0) {
+    if ((ifflags & IFF_DRV_RUNNING) != 0) {
       if(must_renew) {
         must_renew = FALSE;
         do_dhcp_init(ifp);
diff --git a/cpukit/libnetworking/rtems/rtems_showifstat.c b/cpukit/libnetworking/rtems/rtems_showifstat.c
index 50be6c8..7b53328 100644
--- a/cpukit/libnetworking/rtems/rtems_showifstat.c
+++ b/cpukit/libnetworking/rtems/rtems_showifstat.c
@@ -108,11 +108,11 @@ rtems_bsdnet_show_if_stats (void)
 			case IFF_DEBUG:		cp = "Debug";		break;
 			case IFF_LOOPBACK:	cp = "Loopback";	break;
 			case IFF_POINTOPOINT:	cp = "Point-to-point";	break;
-			case IFF_RUNNING:	cp = "Running";		break;
+			case IFF_DRV_RUNNING:	cp = "Running";		break;
 			case IFF_NOARP:		cp = "No-ARP";		break;
 			case IFF_PROMISC:	cp = "Promiscuous";	break;
 			case IFF_ALLMULTI:	cp = "All-multicast";	break;
-			case IFF_OACTIVE:	cp = "Active";		break;
+			case IFF_DRV_OACTIVE:	cp = "Active";		break;
 			case IFF_SIMPLEX:	cp = "Simplex";		break;
 			case IFF_LINK0:		cp = "Link0";		break;
 			case IFF_LINK1:		cp = "Link1";		break;
diff --git a/doc/networking/driver.t b/doc/networking/driver.t
index 2f1a4c3..f01ffff 100644
--- a/doc/networking/driver.t
+++ b/doc/networking/driver.t
@@ -240,10 +240,10 @@ the driver has been successfully configured and attached.
 @section Write the Driver Start Function.
 This function is called each time the network stack wants to start the
 transmitter.  This occures whenever the network stack adds a packet
-to a device's send queue and the @code{IFF_OACTIVE} bit in the
+to a device's send queue and the @code{IFF_DRV_OACTIVE} bit in the
 device's @code{if_flags} is not set.
 
-For many devices this function need only set the @code{IFF_OACTIVE} bit in the
+For many devices this function need only set the @code{IFF_DRV_OACTIVE} bit in the
 @code{if_flags} and send an event to the transmit task
 indicating that a packet is in the driver transmit queue.
 
@@ -275,7 +275,7 @@ started.
 This task is reponsible for removing packets from the driver send queue and sending them to the device.  The task should block waiting for an event from the
 driver start function indicating that packets are waiting to be transmitted.
 When the transmit task has drained the driver send queue the task should clear
-the @code{IFF_OACTIVE} bit in @code{if_flags} and block until another outgoing
+the @code{IFF_DRV_OACTIVE} bit in @code{if_flags} and block until another outgoing
 packet is queued.
 
 
@@ -311,15 +311,15 @@ commands should be passed on to @code{ether_ioctl}.
 @item SIOCSIFFLAGS
 This command should be used to start or stop the device,
 depending on the state of the interface @code{IFF_UP} and
- at code{IFF_RUNNING} bits in @code{if_flags}:
+ at code{IFF_DRV_RUNNING} bits in @code{if_flags}:
 @table @code
- at item IFF_RUNNING
+ at item IFF_DRV_RUNNING
 Stop the device.
 
 @item IFF_UP
 Start the device.
 
- at item IFF_UP|IFF_RUNNING
+ at item IFF_UP|IFF_DRV_RUNNING
 Stop then start the device.
 
 @item 0
-- 
1.8.4.5



More information about the devel mailing list