Deleted Added
full compact
ip_output.c (118622) ip_output.c (119178)
1/*
2 * Copyright (c) 1982, 1986, 1988, 1990, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

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

26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 * SUCH DAMAGE.
32 *
33 * @(#)ip_output.c 8.3 (Berkeley) 1/21/94
1/*
2 * Copyright (c) 1982, 1986, 1988, 1990, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

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

26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 * SUCH DAMAGE.
32 *
33 * @(#)ip_output.c 8.3 (Berkeley) 1/21/94
34 * $FreeBSD: head/sys/netinet/ip_output.c 118622 2003-08-07 18:16:59Z hsu $
34 * $FreeBSD: head/sys/netinet/ip_output.c 119178 2003-08-20 14:46:40Z bms $
35 */
36
37#include "opt_ipfw.h"
38#include "opt_ipdn.h"
39#include "opt_ipdivert.h"
40#include "opt_ipfilter.h"
41#include "opt_ipsec.h"
42#include "opt_mac.h"

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

472 error = EACCES;
473 goto bad;
474 }
475 /* don't allow broadcast messages to be fragmented */
476 if (ip->ip_len > ifp->if_mtu) {
477 error = EMSGSIZE;
478 goto bad;
479 }
35 */
36
37#include "opt_ipfw.h"
38#include "opt_ipdn.h"
39#include "opt_ipdivert.h"
40#include "opt_ipfilter.h"
41#include "opt_ipsec.h"
42#include "opt_mac.h"

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

472 error = EACCES;
473 goto bad;
474 }
475 /* don't allow broadcast messages to be fragmented */
476 if (ip->ip_len > ifp->if_mtu) {
477 error = EMSGSIZE;
478 goto bad;
479 }
480 if (flags & IP_SENDONES)
481 ip->ip_dst.s_addr = INADDR_BROADCAST;
480 m->m_flags |= M_BCAST;
481 } else {
482 m->m_flags &= ~M_BCAST;
483 }
484
485sendit:
486#ifdef IPSEC
487 /* get SP for this packet */

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

1468 case IP_TOS:
1469 case IP_TTL:
1470 case IP_RECVOPTS:
1471 case IP_RECVRETOPTS:
1472 case IP_RECVDSTADDR:
1473 case IP_RECVTTL:
1474 case IP_RECVIF:
1475 case IP_FAITH:
482 m->m_flags |= M_BCAST;
483 } else {
484 m->m_flags &= ~M_BCAST;
485 }
486
487sendit:
488#ifdef IPSEC
489 /* get SP for this packet */

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

1470 case IP_TOS:
1471 case IP_TTL:
1472 case IP_RECVOPTS:
1473 case IP_RECVRETOPTS:
1474 case IP_RECVDSTADDR:
1475 case IP_RECVTTL:
1476 case IP_RECVIF:
1477 case IP_FAITH:
1478 case IP_ONESBCAST:
1476 error = sooptcopyin(sopt, &optval, sizeof optval,
1477 sizeof optval);
1478 if (error)
1479 break;
1480
1481 switch (sopt->sopt_name) {
1482 case IP_TOS:
1483 inp->inp_ip_tos = optval;

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

1510
1511 case IP_RECVIF:
1512 OPTSET(INP_RECVIF);
1513 break;
1514
1515 case IP_FAITH:
1516 OPTSET(INP_FAITH);
1517 break;
1479 error = sooptcopyin(sopt, &optval, sizeof optval,
1480 sizeof optval);
1481 if (error)
1482 break;
1483
1484 switch (sopt->sopt_name) {
1485 case IP_TOS:
1486 inp->inp_ip_tos = optval;

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

1513
1514 case IP_RECVIF:
1515 OPTSET(INP_RECVIF);
1516 break;
1517
1518 case IP_FAITH:
1519 OPTSET(INP_FAITH);
1520 break;
1521
1522 case IP_ONESBCAST:
1523 OPTSET(INP_ONESBCAST);
1524 break;
1518 }
1519 break;
1520#undef OPTSET
1521
1522 case IP_MULTICAST_IF:
1523 case IP_MULTICAST_VIF:
1524 case IP_MULTICAST_TTL:
1525 case IP_MULTICAST_LOOP:

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

1603 case IP_TTL:
1604 case IP_RECVOPTS:
1605 case IP_RECVRETOPTS:
1606 case IP_RECVDSTADDR:
1607 case IP_RECVTTL:
1608 case IP_RECVIF:
1609 case IP_PORTRANGE:
1610 case IP_FAITH:
1525 }
1526 break;
1527#undef OPTSET
1528
1529 case IP_MULTICAST_IF:
1530 case IP_MULTICAST_VIF:
1531 case IP_MULTICAST_TTL:
1532 case IP_MULTICAST_LOOP:

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

1610 case IP_TTL:
1611 case IP_RECVOPTS:
1612 case IP_RECVRETOPTS:
1613 case IP_RECVDSTADDR:
1614 case IP_RECVTTL:
1615 case IP_RECVIF:
1616 case IP_PORTRANGE:
1617 case IP_FAITH:
1618 case IP_ONESBCAST:
1611 switch (sopt->sopt_name) {
1612
1613 case IP_TOS:
1614 optval = inp->inp_ip_tos;
1615 break;
1616
1617 case IP_TTL:
1618 optval = inp->inp_ip_ttl;

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

1647 optval = IP_PORTRANGE_LOW;
1648 else
1649 optval = 0;
1650 break;
1651
1652 case IP_FAITH:
1653 optval = OPTBIT(INP_FAITH);
1654 break;
1619 switch (sopt->sopt_name) {
1620
1621 case IP_TOS:
1622 optval = inp->inp_ip_tos;
1623 break;
1624
1625 case IP_TTL:
1626 optval = inp->inp_ip_ttl;

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

1655 optval = IP_PORTRANGE_LOW;
1656 else
1657 optval = 0;
1658 break;
1659
1660 case IP_FAITH:
1661 optval = OPTBIT(INP_FAITH);
1662 break;
1663
1664 case IP_ONESBCAST:
1665 optval = OPTBIT(INP_ONESBCAST);
1666 break;
1655 }
1656 error = sooptcopyout(sopt, &optval, sizeof optval);
1657 break;
1658
1659 case IP_MULTICAST_IF:
1660 case IP_MULTICAST_VIF:
1661 case IP_MULTICAST_TTL:
1662 case IP_MULTICAST_LOOP:

--- 613 unchanged lines hidden ---
1667 }
1668 error = sooptcopyout(sopt, &optval, sizeof optval);
1669 break;
1670
1671 case IP_MULTICAST_IF:
1672 case IP_MULTICAST_VIF:
1673 case IP_MULTICAST_TTL:
1674 case IP_MULTICAST_LOOP:

--- 613 unchanged lines hidden ---