Deleted Added
full compact
ng_pptpgre.c (239007) ng_pptpgre.c (243882)
1/*
2 * ng_pptpgre.c
3 */
4
5/*-
6 * Copyright (c) 1996-1999 Whistle Communications, Inc.
7 * All rights reserved.
8 *

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

32 * SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER ANY
33 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
34 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
35 * THIS SOFTWARE, EVEN IF WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY
36 * OF SUCH DAMAGE.
37 *
38 * Author: Archie Cobbs <archie@freebsd.org>
39 *
1/*
2 * ng_pptpgre.c
3 */
4
5/*-
6 * Copyright (c) 1996-1999 Whistle Communications, Inc.
7 * All rights reserved.
8 *

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

32 * SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER ANY
33 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
34 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
35 * THIS SOFTWARE, EVEN IF WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY
36 * OF SUCH DAMAGE.
37 *
38 * Author: Archie Cobbs <archie@freebsd.org>
39 *
40 * $FreeBSD: head/sys/netgraph/ng_pptpgre.c 239007 2012-08-03 12:55:31Z mav $
40 * $FreeBSD: head/sys/netgraph/ng_pptpgre.c 243882 2012-12-05 08:04:20Z glebius $
41 * $Whistle: ng_pptpgre.c,v 1.7 1999/12/08 00:10:06 archie Exp $
42 */
43
44/*
45 * PPTP/GRE netgraph node type.
46 *
47 * This node type does the GRE encapsulation as specified for the PPTP
48 * protocol (RFC 2637, section 4). This includes sequencing and

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

593 hpriv->xmitAck = hpriv->recvSeq;
594 if (hpriv->conf.enableDelayedAck)
595 ng_uncallout(&hpriv->sackTimer, hpriv->node);
596 }
597
598 /* Prepend GRE header to outgoing frame */
599 grelen = sizeof(*gre) + sizeof(u_int32_t) * (gre->hasSeq + gre->hasAck);
600 if (m == NULL) {
41 * $Whistle: ng_pptpgre.c,v 1.7 1999/12/08 00:10:06 archie Exp $
42 */
43
44/*
45 * PPTP/GRE netgraph node type.
46 *
47 * This node type does the GRE encapsulation as specified for the PPTP
48 * protocol (RFC 2637, section 4). This includes sequencing and

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

593 hpriv->xmitAck = hpriv->recvSeq;
594 if (hpriv->conf.enableDelayedAck)
595 ng_uncallout(&hpriv->sackTimer, hpriv->node);
596 }
597
598 /* Prepend GRE header to outgoing frame */
599 grelen = sizeof(*gre) + sizeof(u_int32_t) * (gre->hasSeq + gre->hasAck);
600 if (m == NULL) {
601 MGETHDR(m, M_DONTWAIT, MT_DATA);
601 MGETHDR(m, M_NOWAIT, MT_DATA);
602 if (m == NULL) {
603 priv->stats.memoryFailures++;
604 ERROUT(ENOBUFS);
605 }
606 m->m_len = m->m_pkthdr.len = grelen;
607 m->m_pkthdr.rcvif = NULL;
608 } else {
602 if (m == NULL) {
603 priv->stats.memoryFailures++;
604 ERROUT(ENOBUFS);
605 }
606 m->m_len = m->m_pkthdr.len = grelen;
607 m->m_pkthdr.rcvif = NULL;
608 } else {
609 M_PREPEND(m, grelen, M_DONTWAIT);
609 M_PREPEND(m, grelen, M_NOWAIT);
610 if (m == NULL || (m->m_len < grelen
611 && (m = m_pullup(m, grelen)) == NULL)) {
612 priv->stats.memoryFailures++;
613 ERROUT(ENOBUFS);
614 }
615 }
616 bcopy(gre, mtod(m, u_char *), grelen);
617

--- 366 unchanged lines hidden ---
610 if (m == NULL || (m->m_len < grelen
611 && (m = m_pullup(m, grelen)) == NULL)) {
612 priv->stats.memoryFailures++;
613 ERROUT(ENOBUFS);
614 }
615 }
616 bcopy(gre, mtod(m, u_char *), grelen);
617

--- 366 unchanged lines hidden ---