| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
mostly modelled on the nsh md2 printing.
|
| |
|
|
|
|
|
|
|
| |
it's like vxlan, but different. the most interesting difference to
vxlan is that the protocol adds support for adding optional metadata
to packets (like nsh). this diff currently just skips that stuff
and just handles the payload. for now.
|
|
|
|
| |
ok dlg@
|
|
|
|
|
|
|
|
|
|
| |
- fprintf(stdout, ...) -> printf()
- fputs(x, stdout) -> printf(); for consistency.
fputs is twice as fast on atom x5-Z8300@1.44GHz but Amdahl sees a pure printf
tcpdump only 2% slower than a pure fputs (for constant strings) tcpdump
to /dev/null across a 20MB/~170k packet pcap file.
ok dlg@ for fputs and ok tedu@ krw@ deraadt@ a2k19 for the rest
|
|
|
|
| |
ok deraadt@
|
|
|
|
|
| |
it's nicely backwards compatible, so we can use the same code for
both vxlan and vxlan-gpe.
|
|
|
|
|
|
|
| |
this lets me configure a custom gre protocol on a dell s4810 or
s5048 and see what's inside it when it lands on an openbsd box.
ok lteo@
|
|
|
|
|
|
|
|
|
|
| |
type I and II share their GRE protocol, but you tell them apart by
checking if a sequence number is used. type I does not use a sequence
number and contains a bare ethernet frame. type II contains a
sequence number and a shim header that is already handled by the
code.
tested with a Dell S5048F-ON and an encapsulated remote port mirror setup.
|
|
|
|
|
| |
this is useful for telling the MPLSes apart, and generally understanding
what you're seeing.
|
|
|
|
| |
ok deraadt@ mpi@ sthen@
|
|
|
|
|
|
|
|
|
|
|
|
| |
The caveat with this is that MPLS and MPLS_MCAST look exactly the
same. I could prefix the MCAST line with "multicast" or something,
but like everything else in MPLS the meaning of that protocol type
is supposed to have changed. It's no longer meant to indicate
multicast mpls, but mpls with a label selected by an upstream. So
what's the right thing to do?
noticed by Mitchell Krome, who used this breakage to identify another
problem, which won't happen anymore.
|
|
|
|
|
|
|
|
|
| |
ERSPAN II is an 8 byte header before an ethernet payload. the switch
at work doesnt produce erspan III, so I haven't handled that yet.
this at least let's me see what's on the wire so i can contemplate
how i want to deal with the payload.
based on draft-foschiano-erspan-03
|
|
|
|
|
| |
I personally think vxlan looks suspiciously like gre, so I put the
parser in print-gre.c
|
|
|
|
|
|
|
|
|
|
| |
eoip is a twisted gre based protocol using version 1 like pptp, but
a different protocol id. this splits the gre 1 protocol handling
up so it doesn't assume that all packets are pptp, but decides
between eoip and pptp based on the protocol field. unknown protocols
are unknown rather that assumed to be pptp.
ok sthen@
|
| |
|
|
|
|
| |
ether_print just prints the ether header.
|
|
|
|
|
| |
peek inside the payload to see if the first nibble looks like ipv4.
if it isnt ipv4 assume it is the wccp header.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
this started cos i was looking at pptp, which came out like this:
23:52:00.197893 call 24 seq 7: gre-ppp-payload (gre encap)
23:52:00.198930 call 1 seq 7 ack 7: gre-ppp-payload (gre encap)
now it looks like this:
23:52:00.197893 20.0.0.2 > 20.0.0.1: pptp callid 24 seq 7: 17.1.1.122 > 40.0.0.2: icmp: echo request
23:52:00.198930 20.0.0.1 > 20.0.0.2: pptp callid 1 seq 7 ack 7: 40.0.0.2 > 17.1.1.122: icmp: echo reply
the big improvement in ppp parsing is it stops parsing based on
what the ppp headers say, rather than what bytes have been captured.
this also adds parsing of EAP packets.
DLT_PPP_SERIAL is now recognised and printed. gre now prints the
outer addresses always, not just when it's encapsulated by ipv6 or
-v is passed to tcpdump.
ok sthen@
|
|
|
|
|
|
|
|
|
| |
gre can be encapsulated in ipv6.
gre can encapsulate ipv6, mpls, and ethernet.
nvgre is based on gre, so if the header could be nvgre print the
vsid and flow id as well as the key.
ok stsp@
|
|
|
|
| |
From Kevin Reay, ok sthen@
|
|
|
|
| |
From Kevin Reay
|
|
|
|
|
|
|
|
|
| |
possible. Annotate <sys/param.h> lines with their current reasons. Switch
to PATH_MAX, NGROUPS_MAX, HOST_NAME_MAX+1, LOGIN_NAME_MAX, etc. Change
MIN() and MAX() to local definitions of MINIMUM() and MAXIMUM() where
sensible to avoid pulling in the pollution. These are the files confirmed
through binary verification.
ok guenther, millert, doug (helped with the verification protocol)
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
o remove trailing spaces for better output.
o print sequence, acknowledge and callid as unsigned, and remove key
from version 1 since it's actually the payload length (not including
the gre header).
jason@ ok.
|
| |
|
| |
|
|
|
|
| |
knows how to skip routing info and process the rest of the packet.
|
| |
|
|
|