diff options
author | Boris Popov <bp@FreeBSD.org> | 2000-04-27 10:13:52 +0000 |
---|---|---|
committer | Boris Popov <bp@FreeBSD.org> | 2000-04-27 10:13:52 +0000 |
commit | 5accfb8c14f4a067fd923b46926ec2d94828bc8e (patch) | |
tree | 49e4a5c4b2fd5abc8fe9327b0c57e20b20372183 /sys/net/if_ethersubr.c | |
parent | 68924308074fd0d005fc0f0feae9fb84066280c9 (diff) | |
download | src-5accfb8c14f4a067fd923b46926ec2d94828bc8e.tar.gz src-5accfb8c14f4a067fd923b46926ec2d94828bc8e.zip |
Fix support for 802.2 and SNAP frames. Bug was introduced during
initial import.
Tested by: Jorge P Vasquez <jorge@acron.ind.br>
Notes
Notes:
svn path=/head/; revision=59681
Diffstat (limited to 'sys/net/if_ethersubr.c')
-rw-r--r-- | sys/net/if_ethersubr.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/sys/net/if_ethersubr.c b/sys/net/if_ethersubr.c index 4042028009e2..a1a17d1dda4f 100644 --- a/sys/net/if_ethersubr.c +++ b/sys/net/if_ethersubr.c @@ -71,7 +71,7 @@ #include <netipx/ipx.h> #include <netipx/ipx_if.h> int (*ef_inputp)(struct ifnet*, struct ether_header *eh, struct mbuf *m); -int (*ef_outputp)(struct ifnet *ifp, struct mbuf *m, +int (*ef_outputp)(struct ifnet *ifp, struct mbuf **mp, struct sockaddr *dst, short *tp); #endif @@ -220,11 +220,9 @@ ether_output(ifp, m, dst, rt0) #ifdef IPX case AF_IPX: if (ef_outputp) { - error = ef_outputp(ifp, m, dst, &type); - if (error < 0) - senderr(EPFNOSUPPORT); - if (error > 0) - type = htons(ETHERTYPE_IPX); + error = ef_outputp(ifp, &m, dst, &type); + if (error) + goto bad; } else type = htons(ETHERTYPE_IPX); bcopy((caddr_t)&(((struct sockaddr_ipx *)dst)->sipx_addr.x_host), |