summaryrefslogtreecommitdiffstats
path: root/contrib/tcpdump/print-mptcp.c
diff options
context:
space:
mode:
authorglebius <glebius@FreeBSD.org>2017-02-10 07:22:12 +0000
committerglebius <glebius@FreeBSD.org>2017-02-10 07:22:12 +0000
commitad0c9114e00a9a30168e0c13c17d8f65571aa67f (patch)
treecb3a133c7e3d0cba63195c130f2f7543735cd2a1 /contrib/tcpdump/print-mptcp.c
parent84761e71d50647a6c1a71f36b39a73c2fbe8c558 (diff)
downloadFreeBSD-src-ad0c9114e00a9a30168e0c13c17d8f65571aa67f.zip
FreeBSD-src-ad0c9114e00a9a30168e0c13c17d8f65571aa67f.tar.gz
Merge r309649, r313048, r313083, r313104:
tcpdump 4.9.0
Diffstat (limited to 'contrib/tcpdump/print-mptcp.c')
-rw-r--r--contrib/tcpdump/print-mptcp.c31
1 files changed, 16 insertions, 15 deletions
diff --git a/contrib/tcpdump/print-mptcp.c b/contrib/tcpdump/print-mptcp.c
index f85f1d2..e757ea4 100644
--- a/contrib/tcpdump/print-mptcp.c
+++ b/contrib/tcpdump/print-mptcp.c
@@ -32,14 +32,17 @@
* SUCH DAMAGE.
*/
-#define NETDISSECT_REWORKED
+/* \summary: Multipath TCP (MPTCP) printer */
+
+/* specification: RFC 6824 */
+
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
-#include <tcpdump-stdinc.h>
+#include <netdissect-stdinc.h>
-#include "interface.h"
+#include "netdissect.h"
#include "extract.h"
#include "addrtoname.h"
@@ -173,7 +176,7 @@ static int
mp_capable_print(netdissect_options *ndo,
const u_char *opt, u_int opt_len, u_char flags)
{
- struct mp_capable *mpc = (struct mp_capable *) opt;
+ const struct mp_capable *mpc = (const struct mp_capable *) opt;
if (!(opt_len == 12 && flags & TH_SYN) &&
!(opt_len == 20 && (flags & (TH_SYN | TH_ACK)) == TH_ACK))
@@ -197,7 +200,7 @@ static int
mp_join_print(netdissect_options *ndo,
const u_char *opt, u_int opt_len, u_char flags)
{
- struct mp_join *mpj = (struct mp_join *) opt;
+ const struct mp_join *mpj = (const struct mp_join *) opt;
if (!(opt_len == 12 && flags & TH_SYN) &&
!(opt_len == 16 && (flags & (TH_SYN | TH_ACK)) == (TH_SYN | TH_ACK)) &&
@@ -233,7 +236,7 @@ mp_join_print(netdissect_options *ndo,
return 1;
}
-static u_int mp_dss_len(struct mp_dss *m, int csum)
+static u_int mp_dss_len(const struct mp_dss *m, int csum)
{
u_int len;
@@ -265,7 +268,7 @@ static int
mp_dss_print(netdissect_options *ndo,
const u_char *opt, u_int opt_len, u_char flags)
{
- struct mp_dss *mdss = (struct mp_dss *) opt;
+ const struct mp_dss *mdss = (const struct mp_dss *) opt;
if ((opt_len != mp_dss_len(mdss, 1) &&
opt_len != mp_dss_len(mdss, 0)) || flags & TH_SYN)
@@ -310,7 +313,7 @@ static int
add_addr_print(netdissect_options *ndo,
const u_char *opt, u_int opt_len, u_char flags _U_)
{
- struct mp_add_addr *add_addr = (struct mp_add_addr *) opt;
+ const struct mp_add_addr *add_addr = (const struct mp_add_addr *) opt;
u_int ipver = MP_ADD_ADDR_IPVER(add_addr->sub_ipver);
if (!((opt_len == 8 || opt_len == 10) && ipver == 4) &&
@@ -325,9 +328,7 @@ add_addr_print(netdissect_options *ndo,
ND_PRINT((ndo, ":%u", EXTRACT_16BITS(add_addr->u.v4.port)));
break;
case 6:
-#ifdef INET6
ND_PRINT((ndo, " %s", ip6addr_string(ndo, add_addr->u.v6.addr)));
-#endif
if (opt_len == 22)
ND_PRINT((ndo, ":%u", EXTRACT_16BITS(add_addr->u.v6.port)));
break;
@@ -342,8 +343,8 @@ static int
remove_addr_print(netdissect_options *ndo,
const u_char *opt, u_int opt_len, u_char flags _U_)
{
- struct mp_remove_addr *remove_addr = (struct mp_remove_addr *) opt;
- uint8_t *addr_id = &remove_addr->addrs_id;
+ const struct mp_remove_addr *remove_addr = (const struct mp_remove_addr *) opt;
+ const uint8_t *addr_id = &remove_addr->addrs_id;
if (opt_len < 4)
return 0;
@@ -359,7 +360,7 @@ static int
mp_prio_print(netdissect_options *ndo,
const u_char *opt, u_int opt_len, u_char flags _U_)
{
- struct mp_prio *mpp = (struct mp_prio *) opt;
+ const struct mp_prio *mpp = (const struct mp_prio *) opt;
if (opt_len != 3 && opt_len != 4)
return 0;
@@ -415,13 +416,13 @@ int
mptcp_print(netdissect_options *ndo,
const u_char *cp, u_int len, u_char flags)
{
- struct mptcp_option *opt;
+ const struct mptcp_option *opt;
u_int subtype;
if (len < 3)
return 0;
- opt = (struct mptcp_option *) cp;
+ opt = (const struct mptcp_option *) cp;
subtype = min(MPTCP_OPT_SUBTYPE(opt->sub_etc), MPTCP_SUB_FCLOSE + 1);
ND_PRINT((ndo, " %s", mptcp_options[subtype].name));
OpenPOWER on IntegriCloud