diff options
| author | Doug Rabson <dfr@FreeBSD.org> | 2004-06-13 13:58:00 +0000 |
|---|---|---|
| committer | Doug Rabson <dfr@FreeBSD.org> | 2004-06-13 13:58:00 +0000 |
| commit | 04fa3b29f57dcd91e65632109c5c9d485d1acad6 (patch) | |
| tree | c4869721d97eaa8b37b1d00a7a55ebefde76a087 | |
| parent | ee0f521c1299ae4f1d738967b0628cd88d0eb4e8 (diff) | |
Notes
| -rw-r--r-- | sys/dev/firewire/if_fwip.c | 22 | ||||
| -rw-r--r-- | sys/dev/firewire/if_fwipvar.h | 6 |
2 files changed, 28 insertions, 0 deletions
diff --git a/sys/dev/firewire/if_fwip.c b/sys/dev/firewire/if_fwip.c index 1d10afe83b21..27af6e0fd310 100644 --- a/sys/dev/firewire/if_fwip.c +++ b/sys/dev/firewire/if_fwip.c @@ -62,6 +62,7 @@ #else #include <dev/firewire/firewire.h> #include <dev/firewire/firewirereg.h> +#include <dev/firewire/iec13213.h> #include <dev/firewire/if_fwipvar.h> #endif @@ -447,6 +448,27 @@ static void fwip_post_busreset(void *arg) { struct fwip_softc *fwip = arg; + struct crom_src *src; + struct crom_chunk *root; + + src = fwip->fd.fc->crom_src; + root = fwip->fd.fc->crom_root; + + /* RFC2734 IPv4 over IEEE1394 */ + bzero(&fwip->unit4, sizeof(struct crom_chunk)); + crom_add_chunk(src, root, &fwip->unit4, CROM_UDIR); + crom_add_entry(&fwip->unit4, CSRKEY_SPEC, CSRVAL_IETF); + crom_add_simple_text(src, &fwip->unit4, &fwip->spec4, "IANA"); + crom_add_entry(&fwip->unit4, CSRKEY_VER, 1); + crom_add_simple_text(src, &fwip->unit4, &fwip->ver4, "IPv4"); + + /* RFC3146 IPv6 over IEEE1394 */ + bzero(&fwip->unit6, sizeof(struct crom_chunk)); + crom_add_chunk(src, root, &fwip->unit6, CROM_UDIR); + crom_add_entry(&fwip->unit6, CSRKEY_SPEC, CSRVAL_IETF); + crom_add_simple_text(src, &fwip->unit6, &fwip->spec6, "IANA"); + crom_add_entry(&fwip->unit6, CSRKEY_VER, 2); + crom_add_simple_text(src, &fwip->unit6, &fwip->ver6, "IPv6"); fwip->last_dest.hi = 0; fwip->last_dest.lo = 0; diff --git a/sys/dev/firewire/if_fwipvar.h b/sys/dev/firewire/if_fwipvar.h index 554232894f4f..fe202180a274 100644 --- a/sys/dev/firewire/if_fwipvar.h +++ b/sys/dev/firewire/if_fwipvar.h @@ -48,6 +48,12 @@ struct fwip_softc { struct fw_pkt last_hdr; struct task start_send; STAILQ_HEAD(, fw_xfer) xferlist; + struct crom_chunk unit4; /* unit directory for IPv4 */ + struct crom_chunk spec4; /* specifier description IPv4 */ + struct crom_chunk ver4; /* version description IPv4 */ + struct crom_chunk unit6; /* unit directory for IPv6 */ + struct crom_chunk spec6; /* specifier description IPv6 */ + struct crom_chunk ver6; /* version description IPv6 */ struct fwip_eth_softc { /* XXX this must be the first for if_fwsubr.c */ struct fw_com fwcom; /* firewire common data */ |
