summaryrefslogtreecommitdiffstats
path: root/sys/net/if_fwsubr.c
diff options
context:
space:
mode:
authorgallatin <gallatin@FreeBSD.org>2005-03-25 16:05:42 +0000
committergallatin <gallatin@FreeBSD.org>2005-03-25 16:05:42 +0000
commit8f6333ad923689e66f652a48173d747e52b3f26b (patch)
tree42b530bb03c6e96b0784d8e89786df0eb8e8fa1f /sys/net/if_fwsubr.c
parent4057d2fbc5d5754e036929e3f1a4d4357b823366 (diff)
downloadFreeBSD-src-8f6333ad923689e66f652a48173d747e52b3f26b.zip
FreeBSD-src-8f6333ad923689e66f652a48173d747e52b3f26b.tar.gz
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 <arulchandranp@apple.com> for letting us know what we were doing wrong. Reviewed by: dfr MFC After: 7 days
Diffstat (limited to 'sys/net/if_fwsubr.c')
-rw-r--r--sys/net/if_fwsubr.c6
1 files changed, 6 insertions, 0 deletions
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;
OpenPOWER on IntegriCloud