Add configuration rom entries for IP over firewire.

This commit is contained in:
Doug Rabson 2004-06-13 13:58:00 +00:00
parent ee0f521c12
commit 04fa3b29f5
2 changed files with 28 additions and 0 deletions

View File

@ -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;

View File

@ -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 */