Module Name: src
Committed By: maxv
Date: Thu Jan 25 10:45:58 UTC 2018
Modified Files:
src/sys/netinet: in_l2tp.c
src/sys/netinet6: in6_l2tp.c
Log Message:
Style, reduce the indentation level when possible, and add a missing NULL
check after M_PREPEND.
To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/sys/netinet/in_l2tp.c
cvs rdiff -u -r1.12 -r1.13 src/sys/netinet6/in6_l2tp.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/netinet/in_l2tp.c
diff -u src/sys/netinet/in_l2tp.c:1.10 src/sys/netinet/in_l2tp.c:1.11
--- src/sys/netinet/in_l2tp.c:1.10 Mon Jan 22 09:51:06 2018
+++ src/sys/netinet/in_l2tp.c Thu Jan 25 10:45:58 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: in_l2tp.c,v 1.10 2018/01/22 09:51:06 maxv Exp $ */
+/* $NetBSD: in_l2tp.c,v 1.11 2018/01/25 10:45:58 maxv Exp $ */
/*
* Copyright (c) 2017 Internet Initiative Japan Inc.
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: in_l2tp.c,v 1.10 2018/01/22 09:51:06 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: in_l2tp.c,v 1.11 2018/01/25 10:45:58 maxv Exp $");
#ifdef _KERNEL_OPT
#include "opt_l2tp.h"
@@ -113,7 +113,16 @@ in_l2tp_output(struct l2tp_variant *var,
goto looped;
}
-#ifdef NETYET
+ /* bidirectional configured tunnel mode */
+ if (sin_dst->sin_addr.s_addr == INADDR_ANY) {
+ m_freem(m);
+ if ((ifp->if_flags & IFF_DEBUG) != 0)
+ log(LOG_DEBUG, "%s: ENETUNREACH\n", __func__);
+ error = ENETUNREACH;
+ goto out;
+ }
+
+#ifdef NOTYET
/* TODO: support ALTQ for innner frame */
#ifdef ALTQ
ALTQ_SAVE_PAYLOAD(m, AF_ETHER);
@@ -122,16 +131,7 @@ in_l2tp_output(struct l2tp_variant *var,
memset(&iphdr, 0, sizeof(iphdr));
iphdr.ip_src = sin_src->sin_addr;
- /* bidirectional configured tunnel mode */
- if (sin_dst->sin_addr.s_addr != INADDR_ANY)
- iphdr.ip_dst = sin_dst->sin_addr;
- else {
- m_freem(m);
- if ((ifp->if_flags & IFF_DEBUG) != 0)
- log(LOG_DEBUG, "%s: ENETUNREACH\n", __func__);
- error = ENETUNREACH;
- goto out;
- }
+ iphdr.ip_dst = sin_dst->sin_addr;
iphdr.ip_p = IPPROTO_L2TP;
/* version will be set in ip_output() */
iphdr.ip_ttl = ip_l2tp_ttl;
@@ -152,11 +152,12 @@ in_l2tp_output(struct l2tp_variant *var,
goto out;
}
#endif
+
/*
- * payload length
- * NOTE: Payload length may be changed in ip_tcpmss().
- * Typical case is missing of TCP mss option in original
- * TCP header.
+ * Payload length.
+ *
+ * NOTE: payload length may be changed in ip_tcpmss(). Typical case
+ * is missing of TCP mss option in original TCP header.
*/
iphdr.ip_len += m->m_pkthdr.len;
HTONS(iphdr.ip_len);
@@ -174,12 +175,10 @@ in_l2tp_output(struct l2tp_variant *var,
}
if (var->lv_peer_cookie_len == 4) {
cookie_32 = htonl((uint32_t)var->lv_peer_cookie);
- memcpy(mtod(m, void *), &cookie_32,
- sizeof(uint32_t));
+ memcpy(mtod(m, void *), &cookie_32, sizeof(uint32_t));
} else {
cookie_64 = htobe64(var->lv_peer_cookie);
- memcpy(mtod(m, void *), &cookie_64,
- sizeof(uint64_t));
+ memcpy(mtod(m, void *), &cookie_64, sizeof(uint64_t));
}
}
@@ -291,28 +290,28 @@ in_l2tp_input(struct mbuf *m, int off, i
m_freem(m);
ip_statinc(IP_STAT_NOL2TP);
return;
- } else {
- sc = var->lv_softc;
- l2tpp = &(sc->l2tp_ec.ec_if);
+ }
+
+ sc = var->lv_softc;
+ l2tpp = &(sc->l2tp_ec.ec_if);
- if (l2tpp == NULL || (l2tpp->if_flags & IFF_UP) == 0) {
+ if (l2tpp == NULL || (l2tpp->if_flags & IFF_UP) == 0) {
#ifdef L2TP_DEBUG
- if (l2tpp == NULL)
- log(LOG_DEBUG, "%s: l2tpp is NULL\n", __func__);
- else
- log(LOG_DEBUG, "%s: l2tpp is down\n", __func__);
+ if (l2tpp == NULL)
+ log(LOG_DEBUG, "%s: l2tpp is NULL\n", __func__);
+ else
+ log(LOG_DEBUG, "%s: l2tpp is down\n", __func__);
#endif
- m_freem(m);
- ip_statinc(IP_STAT_NOL2TP);
- goto out;
- }
+ m_freem(m);
+ ip_statinc(IP_STAT_NOL2TP);
+ goto out;
+ }
- /* other CPU do l2tp_delete_tunnel */
- if (var->lv_psrc == NULL || var->lv_pdst == NULL) {
- m_freem(m);
- ip_statinc(IP_STAT_NOL2TP);
- goto out;
- }
+ /* other CPU did l2tp_delete_tunnel */
+ if (var->lv_psrc == NULL || var->lv_pdst == NULL) {
+ m_freem(m);
+ ip_statinc(IP_STAT_NOL2TP);
+ goto out;
}
if (var->lv_state != L2TP_STATE_UP) {
Index: src/sys/netinet6/in6_l2tp.c
diff -u src/sys/netinet6/in6_l2tp.c:1.12 src/sys/netinet6/in6_l2tp.c:1.13
--- src/sys/netinet6/in6_l2tp.c:1.12 Mon Dec 18 03:21:44 2017
+++ src/sys/netinet6/in6_l2tp.c Thu Jan 25 10:45:58 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: in6_l2tp.c,v 1.12 2017/12/18 03:21:44 knakahara Exp $ */
+/* $NetBSD: in6_l2tp.c,v 1.13 2018/01/25 10:45:58 maxv Exp $ */
/*
* Copyright (c) 2017 Internet Initiative Japan Inc.
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: in6_l2tp.c,v 1.12 2017/12/18 03:21:44 knakahara Exp $");
+__KERNEL_RCSID(0, "$NetBSD: in6_l2tp.c,v 1.13 2018/01/25 10:45:58 maxv Exp $");
#ifdef _KERNEL_OPT
#include "opt_l2tp.h"
@@ -113,6 +113,14 @@ in6_l2tp_output(struct l2tp_variant *var
goto looped;
}
+ /* bidirectional configured tunnel mode */
+ if (IN6_IS_ADDR_UNSPECIFIED(&sin6_dst->sin6_addr)) {
+ m_freem(m);
+ if ((ifp->if_flags & IFF_DEBUG) != 0)
+ log(LOG_DEBUG, "%s: ENETUNREACH\n", __func__);
+ return ENETUNREACH;
+ }
+
#ifdef NOTYET
/* TODO: support ALTQ for innner frame */
#ifdef ALTQ
@@ -122,18 +130,10 @@ in6_l2tp_output(struct l2tp_variant *var
memset(&ip6hdr, 0, sizeof(ip6hdr));
ip6hdr.ip6_src = sin6_src->sin6_addr;
- /* bidirectional configured tunnel mode */
- if (!IN6_IS_ADDR_UNSPECIFIED(&sin6_dst->sin6_addr))
- ip6hdr.ip6_dst = sin6_dst->sin6_addr;
- else {
- m_freem(m);
- if ((ifp->if_flags & IFF_DEBUG) != 0)
- log(LOG_DEBUG, "%s: ENETUNREACH\n", __func__);
- return ENETUNREACH;
- }
+ ip6hdr.ip6_dst = sin6_dst->sin6_addr;
/* unlike IPv4, IP version must be filled by caller of ip6_output() */
- ip6hdr.ip6_vfc = 0x60;
- ip6hdr.ip6_nxt = IPPROTO_L2TP;
+ ip6hdr.ip6_vfc = 0x60;
+ ip6hdr.ip6_nxt = IPPROTO_L2TP;
ip6hdr.ip6_hlim = ip6_l2tp_hlim;
/* outer IP payload length */
ip6hdr.ip6_plen = 0;
@@ -152,10 +152,10 @@ in6_l2tp_output(struct l2tp_variant *var
#endif
/*
- * payload length
- * NOTE: Payload length may be changed in ip_tcpmss().
- * Typical case is missing of TCP mss option in original
- * TCP header.
+ * Payload length.
+ *
+ * NOTE: payload length may be changed in ip_tcpmss(). Typical case
+ * is missing of TCP mss option in original TCP header.
*/
ip6hdr.ip6_plen += m->m_pkthdr.len;
HTONS(ip6hdr.ip6_plen);
@@ -171,12 +171,10 @@ in6_l2tp_output(struct l2tp_variant *var
return ENOBUFS;
if (var->lv_peer_cookie_len == 4) {
cookie_32 = htonl((uint32_t)var->lv_peer_cookie);
- memcpy(mtod(m, void *), &cookie_32,
- sizeof(uint32_t));
+ memcpy(mtod(m, void *), &cookie_32, sizeof(uint32_t));
} else {
cookie_64 = htobe64(var->lv_peer_cookie);
- memcpy(mtod(m, void *), &cookie_64,
- sizeof(uint64_t));
+ memcpy(mtod(m, void *), &cookie_64, sizeof(uint64_t));
}
}
@@ -191,11 +189,12 @@ in6_l2tp_output(struct l2tp_variant *var
/* prepend new IP header */
M_PREPEND(m, sizeof(struct ip6_hdr), M_DONTWAIT);
+ if (m == NULL)
+ return ENOBUFS;
if (IP_HDR_ALIGNED_P(mtod(m, void *)) == 0) {
- if (m)
- m = m_copyup(m, sizeof(struct ip), 0);
+ m = m_copyup(m, sizeof(struct ip), 0);
} else {
- if (m && m->m_len < sizeof(struct ip6_hdr))
+ if (m->m_len < sizeof(struct ip6_hdr))
m = m_pullup(m, sizeof(struct ip6_hdr));
}
if (m == NULL)
@@ -282,27 +281,28 @@ in6_l2tp_input(struct mbuf **mp, int *of
m_freem(m);
IP_STATINC(IP_STAT_NOL2TP);
return IPPROTO_DONE;
- } else {
- sc = var->lv_softc;
- l2tpp = &(sc->l2tp_ec.ec_if);
+ }
- if (l2tpp == NULL || (l2tpp->if_flags & IFF_UP) == 0) {
+ sc = var->lv_softc;
+ l2tpp = &(sc->l2tp_ec.ec_if);
+
+ if (l2tpp == NULL || (l2tpp->if_flags & IFF_UP) == 0) {
#ifdef L2TP_DEBUG
- if (l2tpp == NULL)
- log(LOG_DEBUG, "%s: l2tpp is NULL\n", __func__);
- else
- log(LOG_DEBUG, "%s: l2tpp is down\n", __func__);
+ if (l2tpp == NULL)
+ log(LOG_DEBUG, "%s: l2tpp is NULL\n", __func__);
+ else
+ log(LOG_DEBUG, "%s: l2tpp is down\n", __func__);
#endif
- m_freem(m);
- IP_STATINC(IP_STAT_NOL2TP);
- goto out;
- }
- /* other CPU do l2tp_delete_tunnel */
- if (var->lv_psrc == NULL || var->lv_pdst == NULL) {
- m_freem(m);
- ip_statinc(IP_STAT_NOL2TP);
- goto out;
- }
+ m_freem(m);
+ IP_STATINC(IP_STAT_NOL2TP);
+ goto out;
+ }
+
+ /* other CPU did l2tp_delete_tunnel */
+ if (var->lv_psrc == NULL || var->lv_pdst == NULL) {
+ m_freem(m);
+ ip_statinc(IP_STAT_NOL2TP);
+ goto out;
}
if (var->lv_state != L2TP_STATE_UP) {