diff options
author | fjoe <fjoe@FreeBSD.org> | 2003-01-24 01:32:20 +0000 |
---|---|---|
committer | fjoe <fjoe@FreeBSD.org> | 2003-01-24 01:32:20 +0000 |
commit | fc2f60400f2eeb5b4d5322ee9d0bd0b218225fe4 (patch) | |
tree | ef3de707a3715f6bc27322be78dfbeaad1be3e98 /sys/dev/cm | |
parent | 8a55a31618aea1ffbd4a75915958fdcb772c3236 (diff) | |
download | FreeBSD-src-fc2f60400f2eeb5b4d5322ee9d0bd0b218225fe4.zip FreeBSD-src-fc2f60400f2eeb5b4d5322ee9d0bd0b218225fe4.tar.gz |
- add support for IPX (tested with mount -t nwfs and mars_nwe),
IP fast forwarding, SIOCGIFADDR, setting hardware address (not currently
enabled in cm driver), multicasts (experimental)
- add ARC_MAX_DATA, use IF_HANDOFF, remove arc_sprintf() and some unused
variables
- if_simloop logic is made more similar to ethernet
- drop not ours packets early (if we are not in promiscous mode)
Submitted by: mark tinguely (partially)
Diffstat (limited to 'sys/dev/cm')
-rw-r--r-- | sys/dev/cm/smc90cx6.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/sys/dev/cm/smc90cx6.c b/sys/dev/cm/smc90cx6.c index 56f10b2..df4c3e7 100644 --- a/sys/dev/cm/smc90cx6.c +++ b/sys/dev/cm/smc90cx6.c @@ -44,7 +44,7 @@ /* #define CMSOFTCOPY */ #define CMRETRANSMIT /**/ -#undef CM_DEBUG +/* #define CM_DEBUG */ #include <sys/param.h> #include <sys/systm.h> @@ -346,7 +346,7 @@ cm_attach(sc, unit) #endif } - if_printf(ifp, "link addr 0x%02x(%d)\n", linkaddress, linkaddress); + if_printf(ifp, "link addr 0x%02x (%d)\n", linkaddress, linkaddress); return 0; } @@ -531,7 +531,7 @@ cm_start(ifp) if (m->m_len < 2) m = m_pullup(m, 2); #endif - cm_ram_ptr = buffer*512; + cm_ram_ptr = buffer * 512; if (m == 0) return; @@ -666,7 +666,7 @@ cm_srint(vsc) * (2*sizeof(ulong) - CM_HDRNEWLEN)), packet type dependent. */ - cm_ram_ptr = buffer*512; + cm_ram_ptr = buffer * 512; offset = GETMEM(cm_ram_ptr + 2); if (offset) len = 256 - offset; @@ -844,7 +844,7 @@ cmintr(arg) return; do { -#if defined(CM_DEBUG) && (CM_DEBUG>1) +#if defined(CM_DEBUG) && (CM_DEBUG > 1) if_printf(ifp, "intr: status 0x%02x, intmask 0x%02x\n", isr, sc->sc_intmask); #endif @@ -905,7 +905,7 @@ cmintr(arg) buffer = sc->sc_rx_act; /* look if buffer is marked invalid: */ - if (GETMEM(buffer*512) == 0) { + if (GETMEM(buffer * 512) == 0) { /* * invalid marked buffer (or illegally * configured sender) @@ -959,7 +959,7 @@ cmintr(arg) isr = GETREG(CMSTAT); maskedisr = isr & sc->sc_intmask; } while (maskedisr); -#if defined(CM_DEBUG) && (CM_DEBUG>1) +#if defined(CM_DEBUG) && (CM_DEBUG > 1) if_printf(ifp, "intr (exit): status 0x%02x, intmask 0x%02x\n", isr, sc->sc_intmask); #endif @@ -1008,6 +1008,7 @@ cm_ioctl(ifp, command, data) switch (command) { case SIOCSIFADDR: + case SIOCGIFADDR: case SIOCADDMULTI: case SIOCDELMULTI: case SIOCSIFMTU: |