From 8f6333ad923689e66f652a48173d747e52b3f26b Mon Sep 17 00:00:00 2001 From: gallatin Date: Fri, 25 Mar 2005 16:05:42 +0000 Subject: Zero the reserved fields of the header, as per rfc 2734. This change results in connectivty to MacOSX hosts via fwip. Thanks to Apple's Arulchandran Paramasivam for letting us know what we were doing wrong. Reviewed by: dfr MFC After: 7 days --- sys/net/if_fwsubr.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'sys/net/if_fwsubr.c') diff --git a/sys/net/if_fwsubr.c b/sys/net/if_fwsubr.c index 7570c4e..7cbd7ac 100644 --- a/sys/net/if_fwsubr.c +++ b/sys/net/if_fwsubr.c @@ -236,6 +236,7 @@ firewire_output(struct ifnet *ifp, struct mbuf *m, struct sockaddr *dst, enc = mtod(m, union fw_encap *); enc->unfrag.ether_type = type; enc->unfrag.lf = FW_ENCAP_UNFRAG; + enc->unfrag.reserved = 0; /* * Byte swap the encapsulation header manually. @@ -277,6 +278,8 @@ firewire_output(struct ifnet *ifp, struct mbuf *m, struct sockaddr *dst, enc = mtod(m, union fw_encap *); if (foff == 0) { enc->firstfrag.lf = FW_ENCAP_FIRST; + enc->firstfrag.reserved1 = 0; + enc->firstfrag.reserved2 = 0; enc->firstfrag.datagram_size = dsize - 1; enc->firstfrag.ether_type = type; enc->firstfrag.dgl = dgl; @@ -285,6 +288,9 @@ firewire_output(struct ifnet *ifp, struct mbuf *m, struct sockaddr *dst, enc->nextfrag.lf = FW_ENCAP_NEXT; else enc->nextfrag.lf = FW_ENCAP_LAST; + enc->nextfrag.reserved1 = 0; + enc->nextfrag.reserved2 = 0; + enc->nextfrag.reserved3 = 0; enc->nextfrag.datagram_size = dsize - 1; enc->nextfrag.fragment_offset = foff; enc->nextfrag.dgl = dgl; -- cgit v1.1