Deleted Added
full compact
ipx_outputfl.c (85958) ipx_outputfl.c (109623)
1/*
2 * Copyright (c) 1995, Mike Mitchell
3 * Copyright (c) 1984, 1985, 1986, 1987, 1993
4 * The Regents of the University of California. All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

--- 19 unchanged lines hidden (view full) ---

28 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32 * SUCH DAMAGE.
33 *
34 * @(#)ipx_outputfl.c
35 *
1/*
2 * Copyright (c) 1995, Mike Mitchell
3 * Copyright (c) 1984, 1985, 1986, 1987, 1993
4 * The Regents of the University of California. All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

--- 19 unchanged lines hidden (view full) ---

28 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32 * SUCH DAMAGE.
33 *
34 * @(#)ipx_outputfl.c
35 *
36 * $FreeBSD: head/sys/netipx/ipx_outputfl.c 85958 2001-11-03 08:24:00Z peter $
36 * $FreeBSD: head/sys/netipx/ipx_outputfl.c 109623 2003-01-21 08:56:16Z alfred $
37 */
38
39#include <sys/param.h>
40#include <sys/systm.h>
41#include <sys/mbuf.h>
42#include <sys/socket.h>
43
44#include <net/if.h>

--- 194 unchanged lines hidden (view full) ---

239 * calculate the new checksum if needed.
240 */
241 ifp = ia->ia_ifa.ifa_ifp;
242 dst.sipx_addr.x_net = ia->ia_addr.sipx_addr.x_net;
243 ipx->ipx_dna.x_net = dst.sipx_addr.x_net;
244 if(ipx->ipx_sum != 0xffff)
245 ipx->ipx_sum = ipx_cksum(m, ntohs(ipx->ipx_len));
246
37 */
38
39#include <sys/param.h>
40#include <sys/systm.h>
41#include <sys/mbuf.h>
42#include <sys/socket.h>
43
44#include <net/if.h>

--- 194 unchanged lines hidden (view full) ---

239 * calculate the new checksum if needed.
240 */
241 ifp = ia->ia_ifa.ifa_ifp;
242 dst.sipx_addr.x_net = ia->ia_addr.sipx_addr.x_net;
243 ipx->ipx_dna.x_net = dst.sipx_addr.x_net;
244 if(ipx->ipx_sum != 0xffff)
245 ipx->ipx_sum = ipx_cksum(m, ntohs(ipx->ipx_len));
246
247 m1 = m_copym(m, 0, M_COPYALL, M_DONTWAIT);
247 m1 = m_copym(m, 0, M_COPYALL, M_NOWAIT);
248 if(m1) {
249 error = (*ifp->if_output)(ifp, m1,
250 (struct sockaddr *)&dst, NULL);
251 /* XXX ipxstat.ipxs_localout++; */
252 }
253skip_this: ;
254 }
255
256bad:
257 m_freem(m);
258 return (error);
259}
248 if(m1) {
249 error = (*ifp->if_output)(ifp, m1,
250 (struct sockaddr *)&dst, NULL);
251 /* XXX ipxstat.ipxs_localout++; */
252 }
253skip_this: ;
254 }
255
256bad:
257 m_freem(m);
258 return (error);
259}