Skip to content

Commit

Permalink
Merge pull request #861 from appneta/Bug_703_844_PR_846_optionally_fi…
Browse files Browse the repository at this point in the history
…x_pkt_hdr_len

Bug #703 #844 PR #846: optionally fix packet header length --fixhdrlen
  • Loading branch information
fklassen authored Jun 2, 2024
2 parents 36501b0 + c270806 commit eaf2622
Show file tree
Hide file tree
Showing 82 changed files with 154 additions and 29 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/github-actions-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,5 @@ jobs:
- name: List files in the repository
run: ls ${{ github.workspace }}
- name: tests
run: sudo make test
run: sudo make test || cat test/test.log
- run: echo "This test's status is ${{ job.status }}."
24 changes: 24 additions & 0 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -1194,6 +1194,30 @@ if test $have_pcap_snapshot = yes ; then
[Does libpcap have pcap_snapshot?])
fi

have_pcap_open_offline_with_tstamp_precision=no
dnl Check to see if we've got pcap_open_offline_with_tstamp_precision()
AC_MSG_CHECKING(for pcap_open_offline_with_tstamp_precision support)
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "$LPCAPINC"
]],[[
pcap_t *pcap;
char ebuf[PCAP_ERRBUF_SIZE];
pcap = pcap_open_offline_with_tstamp_precision("fake.pcap", PCAP_TSTAMP_PRECISION_NANO, &ebuf[0]);
]])],[
have_pcap_open_offline_with_tstamp_precision=yes
AC_MSG_RESULT(yes)
], [
have_pcap_open_offline_with_tstamp_precision=no
AC_MSG_RESULT(no)
])

if test $have_pcap_open_offline_with_tstamp_precision = yes ; then
AC_DEFINE([HAVE_PCAP_OPEN_OFFLINE_WITH_TSTAMP_PRECISION], [1], [Does libpcap have pcap_open_offline_with_tstamp_precision?])
fi


# Tcpbridge requires libpcap and pcap_sendpacket()
enable_tcpbridge=no
Expand Down
2 changes: 2 additions & 0 deletions docs/CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
06/01/2024 Version 4.5.0-beta1
- --fixhdrlen option added to control action on packet length changes (#846)
- incorrect checksum for certain IPv4 packets - fixed by #846 (#844)
- add check for IPv6 extension header length (#827 #842)
- add check for empty CIDR (#824 #843)
- GitHub template for pull requests (#839)
Expand Down
3 changes: 2 additions & 1 deletion docs/CREDIT
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,8 @@ GithHub @plangarbalint

Chuck Cottrill <GitHub @ChuckCottrill>
- handle IPv6 fragment extensions

- --fixhdrlen option
- bug fixes

Martin 'JaMa' Jansa <GitHub @shr-project>
- configure.ac: unify search dirs for pcap and add lib32
3 changes: 2 additions & 1 deletion lib/sll.h
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,8 @@
#ifndef _SLL_H_
#define _SLL_H_

#include <pcap/pcap-inttypes.h>
//#include <pcap/pcap-inttypes.h>
#include <inttypes.h>

/*
* A DLT_LINUX_SLL fake link-layer header.
Expand Down
2 changes: 1 addition & 1 deletion src/defines.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -363,7 +363,7 @@ typedef u_int8_t uint8_t typedef u_int16_t uint16_t typedef u_int32_t uint32_t
#define TIMEVAL_AS_TIMESPEC_SET(a, b) \
do { \
(a)->tv_sec = (b)->tv_sec; \
(a)->tv_nsec = (b)->tv_usec; \
(a)->tv_nsec = (b)->tv_usec * 1000; \
} while(0)

/*
Expand Down
26 changes: 18 additions & 8 deletions src/replay.c
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,16 @@ tcpr_replay_index(tcpreplay_t *ctx)
return rcode;
}

static pcap_t *
tcpr_pcap_open(const char *path, char *ebuf)
{
#ifdef HAVE_PCAP_OPEN_OFFLINE_WITH_TSTAMP_PRECISION
return pcap_open_offline_with_tstamp_precision(path, PCAP_TSTAMP_PRECISION_NANO, ebuf);
#else
return pcap_open_offline(path, ebuf);
#endif
}

/**
* \brief replay a pcap file out interface(s)
*
Expand All @@ -117,7 +127,7 @@ replay_file(tcpreplay_t *ctx, int idx)

/* read from pcap file if we haven't cached things yet */
if (!ctx->options->preload_pcap) {
if ((pcap = pcap_open_offline_with_tstamp_precision(path, PCAP_TSTAMP_PRECISION_NANO, ebuf)) == NULL) {
if ((pcap = tcpr_pcap_open(path, ebuf)) == NULL) {
tcpreplay_seterr(ctx, "Error opening pcap file: %s", ebuf);
return -1;
}
Expand All @@ -133,7 +143,7 @@ replay_file(tcpreplay_t *ctx, int idx)

} else {
if (!ctx->options->file_cache[idx].cached) {
if ((pcap = pcap_open_offline_with_tstamp_precision(path, PCAP_TSTAMP_PRECISION_NANO, ebuf)) == NULL) {
if ((pcap = tcpr_pcap_open(path, ebuf)) == NULL) {
tcpreplay_seterr(ctx, "Error opening pcap file: %s", ebuf);
return -1;
}
Expand All @@ -145,7 +155,7 @@ replay_file(tcpreplay_t *ctx, int idx)
if (ctx->options->verbose) {
/* in cache mode, we may not have opened the file */
if (pcap == NULL)
if ((pcap = pcap_open_offline_with_tstamp_precision(path, PCAP_TSTAMP_PRECISION_NANO, ebuf)) == NULL) {
if ((pcap = tcpr_pcap_open(path, ebuf)) == NULL) {
tcpreplay_seterr(ctx, "Error opening pcap file: %s", ebuf);
return -1;
}
Expand Down Expand Up @@ -214,26 +224,26 @@ replay_two_files(tcpreplay_t *ctx, int idx1, int idx2)

/* read from first pcap file if we haven't cached things yet */
if (!ctx->options->preload_pcap) {
if ((pcap1 = pcap_open_offline(path1, ebuf)) == NULL) {
if ((pcap1 = tcpr_pcap_open(path1, ebuf)) == NULL) {
tcpreplay_seterr(ctx, "Error opening pcap file: %s", ebuf);
return -1;
}
ctx->options->file_cache[idx1].dlt = pcap_datalink(pcap1);
if ((pcap2 = pcap_open_offline(path2, ebuf)) == NULL) {
if ((pcap2 = tcpr_pcap_open(path2, ebuf)) == NULL) {
tcpreplay_seterr(ctx, "Error opening pcap file: %s", ebuf);
return -1;
}
ctx->options->file_cache[idx2].dlt = pcap_datalink(pcap2);
} else {
if (!ctx->options->file_cache[idx1].cached) {
if ((pcap1 = pcap_open_offline(path1, ebuf)) == NULL) {
if ((pcap1 = tcpr_pcap_open(path1, ebuf)) == NULL) {
tcpreplay_seterr(ctx, "Error opening pcap file: %s", ebuf);
return -1;
}
ctx->options->file_cache[idx1].dlt = pcap_datalink(pcap1);
}
if (!ctx->options->file_cache[idx2].cached) {
if ((pcap2 = pcap_open_offline(path2, ebuf)) == NULL) {
if ((pcap2 = tcpr_pcap_open(path2, ebuf)) == NULL) {
tcpreplay_seterr(ctx, "Error opening pcap file: %s", ebuf);
return -1;
}
Expand Down Expand Up @@ -293,7 +303,7 @@ replay_two_files(tcpreplay_t *ctx, int idx1, int idx2)
if (ctx->options->verbose) {
/* in cache mode, we may not have opened the file */
if (pcap1 == NULL) {
if ((pcap1 = pcap_open_offline(path1, ebuf)) == NULL) {
if ((pcap1 = tcpr_pcap_open(path1, ebuf)) == NULL) {
tcpreplay_seterr(ctx, "Error opening pcap file: %s", ebuf);
return -1;
}
Expand Down
13 changes: 7 additions & 6 deletions src/tcpedit/edit_packet.c
Original file line number Diff line number Diff line change
Expand Up @@ -78,12 +78,13 @@ fix_ipv4_checksums(tcpedit_t *tcpedit, struct pcap_pkthdr *pkthdr, ipv4_hdr_t *i
/* calc the L4 checksum if we have the whole packet && not a frag or first frag */
if (pkthdr->caplen == pkthdr->len && (htons(ip_hdr->ip_off) & (IP_MF | IP_OFFMASK)) == 0) {
if (ip_len != (int)(pkthdr->caplen - l2len)) {
tcpedit_seterr(tcpedit,
"caplen minus L2 length %u does IPv4 header length %u: pkt=" COUNTER_SPEC,
pkthdr->caplen - l2len,
ip_len,
tcpedit->runtime.packetnum);
return TCPEDIT_ERROR;
tcpedit_setwarn(tcpedit,
"skipping packet " COUNTER_SPEC " because caplen %u minus L2 length %u does not equal IPv4 header length %u. Consider option '--fixhdrlen'.",
tcpedit->runtime.packetnum,
pkthdr->caplen,
l2len,
ip_len);
return TCPEDIT_WARN;
}
ret1 = do_checksum(tcpedit,
(u_char *)ip_hdr,
Expand Down
4 changes: 4 additions & 0 deletions src/tcpedit/parse_args.c
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,10 @@ tcpedit_post_args(tcpedit_t *tcpedit)
if (HAVE_OPT(FIXCSUM))
tcpedit->fixcsum = true;

/* --fixhdrlen */
if (HAVE_OPT(FIXHDRLEN))
tcpedit->fixhdrlen = true;

/* --efcs */
if (HAVE_OPT(EFCS))
tcpedit->efcs = true;
Expand Down
20 changes: 14 additions & 6 deletions src/tcpedit/tcpedit.c
Original file line number Diff line number Diff line change
Expand Up @@ -315,12 +315,20 @@ tcpedit_packet(tcpedit_t *tcpedit, struct pcap_pkthdr **pkthdr, u_char **pktdata
}
}

/* ensure IP header length is correct */
if (ip_hdr != NULL) {
fix_ipv4_length(*pkthdr, ip_hdr, l2len);
needtorecalc = 1;
} else if (ip6_hdr != NULL) {
needtorecalc |= fix_ipv6_length(*pkthdr, ip6_hdr, l2len);
/* fixhdrlen option ensure IP header length is correct */
/* do we need to fix checksums? -- must always do this last! */
if (tcpedit->fixhdrlen) {
/* ensure IP header length is correct */
int changed = 0;
if (ip_hdr != NULL) {
changed = fix_ipv4_length(*pkthdr, ip_hdr, l2len);
} else if (ip6_hdr != NULL) {
changed = fix_ipv6_length(*pkthdr, ip6_hdr, l2len);
}
/* did the packet change? then needtorecalc checksum */
if (changed > 0) {
needtorecalc |= changed;
}
}

/* do we need to fix checksums? -- must always do this last! */
Expand Down
11 changes: 11 additions & 0 deletions src/tcpedit/tcpedit_api.c
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,17 @@ tcpedit_set_fixcsum(tcpedit_t *tcpedit, bool value)
return TCPEDIT_OK;
}

/**
* \brief should we fix(?) header length?
*/
int
tcpedit_set_fixhdrlen(tcpedit_t *tcpedit, bool value)
{
assert(tcpedit);
tcpedit->fixhdrlen = value;
return TCPEDIT_OK;
}

/**
* \brief should we remove the EFCS from the frame?
*/
Expand Down
1 change: 1 addition & 0 deletions src/tcpedit/tcpedit_api.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ int tcpedit_set_encoder_dltplugin_byname(tcpedit_t *, const char *);
int tcpedit_set_skip_broadcast(tcpedit_t *, bool);
int tcpedit_set_fixlen(tcpedit_t *, tcpedit_fixlen);
int tcpedit_set_fixcsum(tcpedit_t *, bool);
int tcpedit_set_fixhdrlen(tcpedit_t *, bool);
int tcpedit_set_efcs(tcpedit_t *, bool);
int tcpedit_set_ttl_mode(tcpedit_t *, tcpedit_ttl_mode);
int tcpedit_set_ttl_value(tcpedit_t *, uint8_t);
Expand Down
12 changes: 12 additions & 0 deletions src/tcpedit/tcpedit_opts.def
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,18 @@ fixed. Automatically enabled for packets modified with @samp{--seed},
EOText;
};

flag = {
name = fixhdrlen;
descrip = "Alter IP/TCP header len to match packet length";
doc = <<- EOText
By default, tcpreplay will send packets with the original packet length,
However, you may want the packet length revised to minimum packet size.
Using this option, tcpreplay will rewrite (fix) the packet length,
and recalculate checksums when packet length changes.
Caution: undesired packet changes may occur when this option is specified.
EOText;
};

flag = {
name = mtu;
value = m;
Expand Down
3 changes: 3 additions & 0 deletions src/tcpedit/tcpedit_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,9 @@ typedef struct {

uint32_t fuzz_seed;
uint32_t fuzz_factor;

/* fix header length */
bool fixhdrlen;
} tcpedit_t;

#ifdef __cplusplus
Expand Down
3 changes: 3 additions & 0 deletions src/tcpreplay_api.h
Original file line number Diff line number Diff line change
Expand Up @@ -187,6 +187,9 @@ typedef struct tcpreplay_s {
uint32_t skip_packets;
bool first_time;

/* fix header length */
bool fixhdrlen;

/* counter stats */
tcpreplay_stats_t stats;
tcpreplay_stats_t static_stats; /* stats returned by tcpreplay_get_stats() */
Expand Down
54 changes: 49 additions & 5 deletions test/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -25,18 +25,22 @@ EXTRA_DIST = test.pcap test.auto_bridge test.auto_client test.auto_router \
test.rewrite_pnat test.rewrite_pad test.rewrite_trunc \
test.rewrite_mac test.rewrite_layer2 test.rewrite_config \
test.rewrite_skip test.rewrite_dltuser test.rewrite_dlthdlc \
test.rewrite_vlan802.1ad test.rewrite_vlandel test.rewrite_efcs test.rewrite_1ttl \
test.rewrite_2ttl test.rewrite_3ttl test.rewrite_enet_subsmac \
test.rewrite_vlan802.1ad test.rewrite_vlandel test.rewrite_efcs \
test.rewrite_1ttl test.rewrite_2ttl test.rewrite_3ttl \
test.rewrite_1ttl-hdrfix test.rewrite_2ttl-hdrfix test.rewrite_3ttl-hdrfix \
test.rewrite_enet_subsmac \
test.rewrite_mtutrunc test.rewrite_mac_seed test.rewrite_range_portmap \
test.rewrite_mac_seed_keep test.rewrite_l7fuzzing test.rewrite_sequence test.rewrite_fixcsum \
test.rewrite_fixlen_pad test.rewrite_fixlen_trunc test.rewrite_fixlen_del \
test2.rewrite_seed test2.rewrite_portmap test2.rewrite_endpoint \
test2.rewrite_pnat test2.rewrite_pad test2.rewrite_trunc \
test2.rewrite_mac test2.rewrite_layer2 test2.rewrite_config \
test2.rewrite_skip test2.rewrite_dltuser test2.rewrite_dlthdlc \
test2.rewrite_vlan802.1ad test2.rewrite_vlandel test2.rewrite_efcs test2.rewrite_1ttl \
test2.rewrite_vlan802.1ad test2.rewrite_vlandel test2.rewrite_efcs \
test2.rewrite_1ttl test2.rewrite_2ttl test2.rewrite_3ttl \
test2.rewrite_1ttl-hdrfix test2.rewrite_2ttl-hdrfix test2.rewrite_3ttl-hdrfix \
test2.rewrite_mtutrunc test2.rewrite_enet_subsmac \
test2.rewrite_2ttl test2.rewrite_3ttl test.rewrite_tos test2.rewrite_tos \
test.rewrite_tos test2.rewrite_tos \
test2.rewrite_enet_subsmac test2.rewrite_mac_seed \
test2.rewrite_range_portmap test2.rewrite_mac_seed_keep \
test2.rewrite_l7fuzzing test2.rewrite_sequence test2.rewrite_fixcsum \
Expand Down Expand Up @@ -125,6 +129,9 @@ standard_bigendian:
$(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_1ttl --ttl=58
$(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_2ttl --ttl=+58
$(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_3ttl --ttl=-58
$(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_1ttl-hdrfix --ttl=59 --fixhdrlen
$(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_2ttl-hdrfix --ttl=+59 --fixhdrlen
$(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_3ttl-hdrfix --ttl=-59 --fixhdrlen
$(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_mtutrunc --mtu-trunc --mtu=300
$(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_l7fuzzing \
--fuzz-seed=42 --fuzz-factor=2
Expand Down Expand Up @@ -175,6 +182,9 @@ standard_littleendian:
$(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_1ttl --ttl=58
$(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_2ttl --ttl=+58
$(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_3ttl --ttl=-58
$(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_1ttl-hdrfix --ttl=59 --fixhdrlen
$(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_2ttl-hdrfix --ttl=+59 --fixhdrlen
$(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_3ttl-hdrfix --ttl=-59 --fixhdrlen
$(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_mtutrunc --mtu-trunc --mtu=300
$(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_l7fuzzing \
--fuzz-seed=42 --fuzz-factor=2
Expand All @@ -191,7 +201,8 @@ tcpprep: auto_router auto_bridge auto_client auto_server auto_first cidr regex \
tcprewrite: rewrite_portmap rewrite_range_portmap rewrite_endpoint \
rewrite_pnat rewrite_trunc rewrite_pad rewrite_seed rewrite_mac \
rewrite_layer2 rewrite_config rewrite_skip rewrite_dltuser rewrite_dlthdlc \
rewrite_vlan802.1ad rewrite_vlandel rewrite_efcs rewrite_1ttl rewrite_2ttl rewrite_3ttl \
rewrite_vlan802.1ad rewrite_vlandel rewrite_efcs \
rewrite_1ttl rewrite_2ttl rewrite_3ttl rewrite_1ttl-hdrfix rewrite_2ttl-hdrfix rewrite_3ttl-hdrfix \
rewrite_tos rewrite_mtutrunc rewrite_enet_subsmac rewrite_mac_seed \
rewrite_mac_seed_keep rewrite_l7fuzzing rewrite_sequence rewrite_fixcsum \
rewrite_fixlen_pad rewrite_fixlen_trunc rewrite_fixlen_del
Expand Down Expand Up @@ -638,6 +649,39 @@ else
endif
if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi

rewrite_1ttl-hdrfix:
$(PRINTF) "%s" "[tcprewrite] Force TTL with header fix: "
$(PRINTF) "%s\n" "*** [tcprewrite] Force TTL header fix: " >> test.log
$(TCPREWRITE) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 --ttl=59 --fixhdrlen >> test.log 2>&1
if WORDS_BIGENDIAN
diff $(srcdir)/test.$@ test.$@1 >> test.log 2>&1
else
diff $(srcdir)/test2.$@ test.$@1 >> test.log 2>&1
endif
if [ $? ] ; then $(PRINTF) "\t%s\n" "FAILED"; else $(PRINTF) "\t%s\n" "OK"; fi

rewrite_2ttl-hdrfix:
$(PRINTF) "%s" "[tcprewrite] Increase TTL with header fix:"
$(PRINTF) "%s\n" "*** [tcprewrite] Increase TTL with header fix: " >> test.log
$(TCPREWRITE) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 --ttl=+59 --fixhdrlen >> test.log 2>&1
if WORDS_BIGENDIAN
diff $(srcdir)/test.$@ test.$@1 >> test.log 2>&1
else
diff $(srcdir)/test2.$@ test.$@1 >> test.log 2>&1
endif
if [ $? ] ; then $(PRINTF) "\t%s\n" "FAILED"; else $(PRINTF) "\t%s\n" "OK"; fi

rewrite_3ttl-hdrfix:
$(PRINTF) "%s" "[tcprewrite] Reduce TTL with header fix: "
$(PRINTF) "%s\n" "*** [tcprewrite] Reduce TTL with header fix: " >> test.log
$(TCPREWRITE) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 --ttl=-59 --fixhdrlen >> test.log 2>&1
if WORDS_BIGENDIAN
diff $(srcdir)/test.$@ test.$@1 >> test.log 2>&1
else
diff $(srcdir)/test2.$@ test.$@1 >> test.log 2>&1
endif
if [ $? ] ; then $(PRINTF) "\t%s\n" "FAILED"; else $(PRINTF) "\t%s\n" "OK"; fi

rewrite_tos:
$(PRINTF) "%s" "[tcprewrite] TOS test: "
$(PRINTF) "%s\n" "*** [tcprewrite] TOS test: " >> test.log
Expand Down
Binary file modified test/test.rewrite_1ttl
Binary file not shown.
Binary file added test/test.rewrite_1ttl-hdrfix
Binary file not shown.
Binary file modified test/test.rewrite_2ttl
Binary file not shown.
Binary file added test/test.rewrite_2ttl-hdrfix
Binary file not shown.
Binary file modified test/test.rewrite_3ttl
Binary file not shown.
Binary file added test/test.rewrite_3ttl-hdrfix
Binary file not shown.
Binary file modified test/test.rewrite_config
Binary file not shown.
Binary file modified test/test.rewrite_dlthdlc
Binary file not shown.
Binary file modified test/test.rewrite_dltuser
Binary file not shown.
Binary file modified test/test.rewrite_efcs
Binary file not shown.
Binary file modified test/test.rewrite_endpoint
Binary file not shown.
Binary file modified test/test.rewrite_enet_subsmac
Binary file not shown.
Binary file modified test/test.rewrite_fixcsum
Binary file not shown.
Binary file modified test/test.rewrite_fixlen_del
Binary file not shown.
Binary file modified test/test.rewrite_fixlen_pad
Binary file not shown.
Binary file modified test/test.rewrite_fixlen_trunc
Binary file not shown.
Binary file modified test/test.rewrite_l7fuzzing
Binary file not shown.
Binary file modified test/test.rewrite_layer2
Binary file not shown.
Binary file modified test/test.rewrite_mac
Binary file not shown.
Binary file modified test/test.rewrite_mac_seed
Binary file not shown.
Binary file modified test/test.rewrite_mac_seed_keep
Binary file not shown.
Binary file modified test/test.rewrite_mtutrunc
Binary file not shown.
Binary file modified test/test.rewrite_pad
Binary file not shown.
Binary file modified test/test.rewrite_pnat
Binary file not shown.
Binary file modified test/test.rewrite_portmap
Binary file not shown.
Binary file modified test/test.rewrite_range_portmap
Binary file not shown.
Binary file modified test/test.rewrite_seed
Binary file not shown.
Binary file modified test/test.rewrite_sequence
Binary file not shown.
Binary file modified test/test.rewrite_skip
Binary file not shown.
Binary file modified test/test.rewrite_tos
Binary file not shown.
Binary file modified test/test.rewrite_trunc
Binary file not shown.
Binary file modified test/test.rewrite_vlan802.1ad
Binary file not shown.
Binary file modified test/test.rewrite_vlandel
Binary file not shown.
Binary file modified test/test2.rewrite_1ttl
Binary file not shown.
Binary file added test/test2.rewrite_1ttl-hdrfix
Binary file not shown.
Binary file modified test/test2.rewrite_2ttl
Binary file not shown.
Binary file added test/test2.rewrite_2ttl-hdrfix
Binary file not shown.
Binary file modified test/test2.rewrite_3ttl
Binary file not shown.
Binary file added test/test2.rewrite_3ttl-hdrfix
Binary file not shown.
Binary file modified test/test2.rewrite_config
Binary file not shown.
Binary file modified test/test2.rewrite_dlthdlc
Binary file not shown.
Binary file modified test/test2.rewrite_dltuser
Binary file not shown.
Binary file modified test/test2.rewrite_efcs
Binary file not shown.
Binary file modified test/test2.rewrite_endpoint
Binary file not shown.
Binary file modified test/test2.rewrite_enet_subsmac
Binary file not shown.
Binary file modified test/test2.rewrite_fixcsum
Binary file not shown.
Binary file modified test/test2.rewrite_fixlen_del
Binary file not shown.
Binary file modified test/test2.rewrite_fixlen_pad
Binary file not shown.
Binary file modified test/test2.rewrite_fixlen_trunc
Binary file not shown.
Binary file modified test/test2.rewrite_l7fuzzing
Binary file not shown.
Binary file modified test/test2.rewrite_layer2
Binary file not shown.
Binary file modified test/test2.rewrite_mac
Binary file not shown.
Binary file modified test/test2.rewrite_mac_seed
Binary file not shown.
Binary file modified test/test2.rewrite_mac_seed_keep
Binary file not shown.
Binary file modified test/test2.rewrite_mtutrunc
Binary file not shown.
Binary file modified test/test2.rewrite_pad
Binary file not shown.
Binary file modified test/test2.rewrite_pnat
Binary file not shown.
Binary file modified test/test2.rewrite_portmap
Binary file not shown.
Binary file modified test/test2.rewrite_range_portmap
Binary file not shown.
Binary file modified test/test2.rewrite_seed
Binary file not shown.
Binary file modified test/test2.rewrite_sequence
Binary file not shown.
Binary file modified test/test2.rewrite_skip
Binary file not shown.
Binary file modified test/test2.rewrite_tos
Binary file not shown.
Binary file modified test/test2.rewrite_trunc
Binary file not shown.
Binary file modified test/test2.rewrite_vlan802.1ad
Binary file not shown.
Binary file modified test/test2.rewrite_vlandel
Binary file not shown.

0 comments on commit eaf2622

Please sign in to comment.