Add configuration rom entries for IP over firewire.
This commit is contained in:
parent
ee0f521c12
commit
04fa3b29f5
@ -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;
|
||||
|
@ -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 */
|
||||
|
Loading…
Reference in New Issue
Block a user