Commit Graph

106 Commits

Author SHA1 Message Date
Alexis La Goutte 90e273cb91 Enhance BGP Update
Step 4 : Convert proto_tree_add_text calls to proto_tree_add_item and use new name of RFC4271 (  Withdrawn Routes Length ...)

svn path=/trunk/; revision=51184
2013-08-07 12:05:23 +00:00
Alexis La Goutte 8da9a76650 From Matt Texier
Enhance BGP Dissector

Step 3 :Variable consistency and renaming, adding RFC and draft as comments (Preperation for next enhance...)

From me :
Fix some typo/whitespace
Make checkhf happy...

Signed-off-by: Alexis La Goutte <alexis.lagoutte@gmail.com>

svn path=/trunk/; revision=51182
2013-08-07 12:04:04 +00:00
Alexis La Goutte f15a20c9f0 Enhance BGP Update (Path Attribute)
Step 2 ! Make Path Attribute field filterable...

svn path=/trunk/; revision=50918
2013-07-26 16:26:29 +00:00
Alexis La Goutte 54fc4025e6 Enhance BGP Update
First step ! Remove ugly double switch(bgpa_type)... (use proto_item_append_text)

svn path=/trunk/; revision=50917
2013-07-26 16:26:21 +00:00
Alexis La Goutte c44977663a From Matt Texier via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8691 Improvement of previous support of RFC5575 BGP flow spec
From me
* Enhance and fix some display tree stuff
* Add Matt to AUTHORS

svn path=/trunk/; revision=50534
2013-07-12 13:55:29 +00:00
Michael Mann 6b3ac2d952 Batch of filterable expert infos.
svn path=/trunk/; revision=50454
2013-07-09 01:18:52 +00:00
Alexis La Goutte 8e4e4a3d76 From report of Alexander Okonnikov and Patch of Matt Texier via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8802 Incorrect decoding of Layer2 Info Extended Community
Within BGP Update message for BGP VPLS (RFC 4761) some parts of Extended Community "Layer2 Info" are incorrectly decoded:

1. Encapsulation - Unknown (0x13). Per RFC 4761 encap type 0x13 is "VPLS" (clause 3.2.4);

2. Control Flags - per RFC 4761 (clause 3.2.4) two least-significant bits (6 and 7) are defined as:
"C" (bit 6, Control Word): value 1 - Control Word is required - and value 0 - Control Word is not required; decoding is correct (at least for value 0);
"S" (bit 7, Sequence delivery): value 1 - Sequence delivery is required - and value 0 - Sequence delivery is not required; decoding is incorrect, because for value 0 (sequence delivery is not required) you provide description that "Sequence delivery  is required".

Also, there is description (at the same string) "F Flag (reserved) set. IETF document draft-ietf-l2vpn-vpls-multihoming (clause 3.3.1) updates RFC 4761 and defines two additional bits within Control Flags byte - D (bit 0, "Down") and F (bit 2, "Flush"). You provide description that "F Flag (reserved) set" when this flag actually is not set (value 0). Furthermore, you don't provide description about status of flag D (in attached dump in the first packet flag D is set and unset in the second packet).

svn path=/trunk/; revision=50085
2013-06-20 20:17:25 +00:00
Martin Kaiser 27598e20a2 fix https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8806
assign the return values of decode_...() functions to a signed int
check for negative return values

svn path=/trunk/; revision=49963
2013-06-16 15:29:14 +00:00
Michael Mann e1b7a26463 Adding support of BGP flow spec RFC 5575.
From Matt Texier, bug 8691 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8691)

svn path=/trunk/; revision=49914
2013-06-13 02:35:23 +00:00
Michael Mann 2d37ec3cb0 Batch of filterable expert infos.
svn path=/trunk/; revision=49853
2013-06-09 03:28:05 +00:00
Jaap Keuter 97136126bc Typo's. That is all.
svn path=/trunk/; revision=48685
2013-04-01 15:29:49 +00:00
Anders Broman b539916835 [-Wmissing-prototypes]
explicit casts.

svn path=/trunk/; revision=48293
2013-03-14 07:37:13 +00:00
Alexis La Goutte 1d74daaec3 Remove unused bgp_route_refresh struct
svn path=/trunk/; revision=48278
2013-03-13 15:02:17 +00:00
Guy Harris 6b629c4d92 Move show_exception() and show_reported_bounds_error() to
epan/show_exception.c, as it's used outside
epan/dissectors/packet-frame.c.  Update their callers to include
<epan/show_exception.h> to get their declaration.

Add a CATCH_NONFATAL_ERRORS macro that catches all exceptions that, if
there's more stuff in the packet to dissect after the dissector call
that threw the exception, doesn't mean you shouldn't go ahead and
dissect that stuff.  Use it in all those cases, including ones where
BoundsError was inappropriately being caught (you want those passed up
to the top level, so that the packet is reported as having been cut
short in the capture process).

Add a CATCH_BOUNDS_ERRORS macro that catches all exceptions that
correspond to running past the end of the data for a tvbuff; use it
rather than explicitly catching those exceptions individually, and
rather than just catching all exceptions (the only place that
DissectorError should be caught, for example, is at the top level, so
dissector bugs show up in the protocol tree).

Don't catch and then immediately rethrow exceptions without doing
anything else; just let the exceptions go up to the final catcher.

Use show_exception() to report non-fatal errors, rather than doing it
yourself.
 
If a dissector is called from Lua, catch all non-fatal errors and use
show_exception() to report them rather than catching only
ReportedBoundsError and adding a proto_malformed item.

Don't catch exceptions when constructing a trailer tvbuff in
packet-ieee8023.c - just construct it after the payload has been
dissected, and let whatever exceptions that throws be handled at the top
level.

Avoid some TRY/CATCH/ENDTRY cases by using checks such as
tvb_bytes_exist() before even looking in the tvbuff.

svn path=/trunk/; revision=47924
2013-02-27 22:43:54 +00:00
Alexis La Goutte 2e8cb1c5cd Enhance BGP ORF (Make field filterable)
svn path=/trunk/; revision=46508
2012-12-11 23:24:02 +00:00
Jeff Morriss 0266cceef3 Make all enum_val_t's const.
svn path=/trunk/; revision=46292
2012-11-29 20:15:37 +00:00
Alexis La Goutte 7c59618e8d From Olivier Benghozi via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7734
Enhance Route Refresh Capability : Add draft-ietf-idr-bgp-enhanced-route-refresh-02

Not yet support new NOTIFICATION error code : ROUTE-REFRESH Message Error (Value To Be Defined)

From me :
* Make some Route Refresh fields filterable 

svn path=/trunk/; revision=45217
2012-09-30 10:38:37 +00:00
Alexis La Goutte cd519e450c From Olivier Benghozi via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7734
BGP bad decoding for Graceful Restart Capability with only helper support

BGP Capability in OPEN message: Graceful restart capability (64).

So when the length of the capability value is smaller that 6 (6 meaning full
support of GR capa, with significants elements and at least one AFI/SAFI), the
code interprets it as erroneous.

However,as described in RFC4724: " When a sender of this capability does not
include any <AFI, SAFI> in the capability, it means that the sender is not
capable of preserving its forwarding state during BGP restart, but supports
procedures for the Receiving Speaker (as defined in Section 4.2 of this
document). In that case, the value of the Restart Time field advertised by the
sender is irrelevant".

So, length of exactly 2 is valid but has to be interpreted with a particular
meaning.

In the dissector code, a length of 2 should be a special case for this capa,
decoding as "Graceful Restart helper mode only" or something like that, and
maybe also displaying an expert message if the Restart flag is not 0 in this
case, since here it's not expected to be possible.

svn path=/trunk/; revision=45216
2012-09-30 10:05:18 +00:00
Michael Mann 65ef9e9d6b replaced decode_numeric_bitfield calls with filterable item or removed it if it didn't mathematically do anything.
svn path=/trunk/; revision=45166
2012-09-27 04:36:40 +00:00
Michael Mann 4f9707469d replaced decode_boolean_bitfield calls with itemized filters
added tfs_no_yes to tfs.[ch]

svn path=/trunk/; revision=45115
2012-09-25 01:00:41 +00:00
Jeff Morriss 2552c750e5 We always HAVE_CONFIG_H so don't bother checking whether we have it or not.
svn path=/trunk/; revision=45017
2012-09-20 02:03:38 +00:00
Bill Meier 638d74d43f Use val_to_str_const() where appropriate;
Also (for a few files):
- create/use some extended value strings;
- remove unneeded #include files;
- remove unneeded variable initialization;
- re-order fcns slightly so prefs_reg_handoff...() at end, etc

svn path=/trunk/; revision=44438
2012-08-10 22:55:02 +00:00
Jakub Zawadzki bf81b42e1e Update Free Software Foundation address.
(COPYING will be updated in next commit)

svn path=/trunk/; revision=43536
2012-06-28 22:56:06 +00:00
Bill Meier 1b17369504 Fix: code under 'if(tree)' (in)directly calls sub-dissector/col_...()/expert...() fcns
svn path=/trunk/; revision=43226
2012-06-12 21:22:46 +00:00
pascal 7bbbb88068 From Thomas Loockx via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7269 :
Add BGP MDT-SAFI dissection (RFC6037)

svn path=/trunk/; revision=42713
2012-05-19 12:32:10 +00:00
Bill Meier 2ed4baea4f all:
Merge .h files into .c files since .h files unused elsewhere;
     Do whitespace, indentation & formatting cleanup.
packet-acn.c:
     Fix 2 minor bugs wherein subtree not displayed in packet-details
     because tree variable used in proto_tree_add_text() always NULL.

svn path=/trunk/; revision=42647
2012-05-16 01:41:03 +00:00
Alexis La Goutte 3fa9ea87ce Add RFC6608 Subcodes for BGP Finite State Machine Error
Update other notify subcodes (draft-ietf-idr-cease-subcode-02 => RFC4484)...

svn path=/trunk/; revision=42510
2012-05-08 17:31:05 +00:00
Alexis La Goutte dbce54c4f3 Fix some Dead Store (Dead assignement/Dead increment) Warning found by Clang
svn path=/trunk/; revision=41049
2012-02-17 13:33:53 +00:00
Alexis La Goutte a34db114cc Enhance BGP Notification message
* Make field filterable (3 proto_tree_add_text less ! but there are still 147 proto_tree_add_text...)
* Remove bgp_notify struct
* Use expert info to display a unknown error type

svn path=/trunk/; revision=40987
2012-02-12 17:41:57 +00:00
Chris Maynard c2208aa172 Fix some duplicate display filter names.
svn path=/trunk/; revision=40586
2012-01-19 19:15:13 +00:00
Jaap Keuter db1ea8f80d From astramax57:
After r38723, some BGP AS_PATH packets were no longer dissected.

svn path=/trunk/; revision=40130
2011-12-09 16:34:02 +00:00
Jaap Keuter f0525ee415 From Michael Sakaluk:
This patch adds support to the BGP dissector for RFC 5512 and RFC 5640.

svn path=/trunk/; revision=40082
2011-12-03 13:35:06 +00:00
Alexis La Goutte 5fb574c69e Fix Dead Store (Dead assignement/Dead increment) Warning found by Clang
svn path=/trunk/; revision=39655
2011-10-28 17:44:01 +00:00
Jeff Morriss bcd13b0d6f From Thomas Loockx via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6324 :
I've updated the bgp dissector code to support the mcast-vpn nlri. These nlri's
are used to implement multicast vpn (mvpn) and are fully described in
draft-ietf-l3vpn-2547bis-mcast-bgp-08.txt (section 4).

svn path=/trunk/; revision=39549
2011-10-25 00:51:58 +00:00
Bill Meier 794757ae8f For proto_tree_add_item(..., proto_xxx, ...)use ENC_NA as the encoding arg.
Also: remove trailing whitespace for a number of files.

svn path=/trunk/; revision=39503
2011-10-21 02:10:19 +00:00
Alexis La Goutte 097e9bb397 Enhance BGP Capability message
* Make field filterable 
* Use expert info to display a wrong length
* Remove duplicate code for type and length

svn path=/trunk/; revision=39446
2011-10-17 18:19:18 +00:00
Bill Meier 67ee5049d4 Convert 'encoding' parameter of certain proto_tree_add_item() calls in non-autogenerated epan/dissectors:
Specifically:  Replace FALSE|0 and TRUE|1 by ENC_BIG_ENDIAN|ENC_LITTLE_ENDIAN as
  the encoding parameter for proto_tree_add_item() calls which directly reference
  an item in hf[] which has a type of:
     FT_BOOLEAN
     FT_IPv4
     FT_EUI64
     FT_GUID
     FT_UINT_STRING

Also: For type FT_ITv6 use ENC_NA. (This was missed in SVN #39260)

svn path=/trunk/; revision=39328
2011-10-10 00:39:31 +00:00
Alexis La Goutte 10056d45c1 Enhance BGP Open message
* Make field filterable 
* Remove bgp_open struct
* Fix a bug of offset in Optionnel Parameter TLV (Bug include by me in Revision #39098)

svn path=/trunk/; revision=39321
2011-10-09 13:06:32 +00:00
Alexis La Goutte fc823d7b6a Enhance BGP Header
* Remove a not needed subtree
* Make field filtereable
* Use expert info to display a wrong length

svn path=/trunk/; revision=39316
2011-10-08 18:12:59 +00:00
Bill Meier 4e57694d4a Convert 'encoding' parameter of certain proto_tree_add_item() calls in non-autogenerated epan/dissectors:
Specifically:  Replace FALSE|0 and TRUE|1 by ENC_BIG_ENDIAN|ENC_LITTLE_ENDIAN as
 the encoding parameter for proto_tree_add_item() calls which directly reference
 an item in hf[] which has a type of:
    FT_UINT8
    FT_UINT16
    FT_UINT24
    FT_UINT32
    FT_UINT64
    FT_INT8
    FT_INT16
    FT_INT24
    FT_INT32
    FT_INT64
    FT_FLOAT
    FT_DOUBLE


svn path=/trunk/; revision=39288
2011-10-06 03:35:44 +00:00
Bill Meier 94f36ca4ff Use ENC_NA as encoding for proto_tree_add_item() calls which directly reference an hf item (in hf[] with types:
FT_NONE
   FT_BYTES
   FT_IPV6
   FT_IPXNET
   FT_OID

Note: Encoding field set to ENC_NA only if the field was previously TRUE|FALSE|ENC_LITTLE_ENDIAN|ENC_BIG_ENDIAN

svn path=/trunk/; revision=39260
2011-10-04 22:44:31 +00:00
Alexis La Goutte 89b307973a Fix checkhf
* Remove hf_bgp_cluster_identifier never use ! (Add in Revision #7546)

svn path=/trunk/; revision=39195
2011-09-30 15:14:33 +00:00
Alexis La Goutte 50c6e8bb0f Enhance extended communities when RD Type 2
svn path=/trunk/; revision=39194
2011-09-30 15:08:52 +00:00
Alexis La Goutte c22e483238 Fix a typo in RD offset
svn path=/trunk/; revision=39120
2011-09-24 13:36:51 +00:00
Alexis La Goutte 5d51177ad8 Convert "space tabs" to spaces
Add modeline information

svn path=/trunk/; revision=39099
2011-09-23 09:03:26 +00:00
Alexis La Goutte 93e7484c63 Fix Dead Store (Dead assignement/Dead increment) Warning found by Clang
svn path=/trunk/; revision=39098
2011-09-23 08:44:53 +00:00
Alexis La Goutte d70a78c152 From https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6128 : Wireshark doesn't decode BGP.MP_REACH_NLRI.NLRI when RD type is 2(defined in RFC4364:4.2)
Fix a wrong offset of RD Type 2 and display AS4 in asdot+ notation (Add a pref to chose the type of display for AS4 ?)

svn path=/trunk/; revision=39097
2011-09-23 08:41:23 +00:00
Alexis La Goutte 154b424ed3 From Olivier Montanuy via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5458
BGP add-path (Additional Paths) support for IPv4 unicast

From me:
Fix some whitespace/tab...

svn path=/trunk/; revision=38724
2011-08-24 21:58:14 +00:00
Alexis La Goutte 11f1f1a019 From astramax57 via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6188
In some BGP captures the AS_PATH attribute was decode wrong, if the asn length determines automatically

From me:
Fix some whitespace...
Fix error: ‘for’ loop initial declarations are only allowed in C99 mode
Replace unsigned by guint

svn path=/trunk/; revision=38723
2011-08-24 21:37:37 +00:00
Alexis La Goutte cd3e81d97c From Ryan Hoffman via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6122
Malformed Packet in decode for BGP-AD (autodiscovery) update (RFC6074)

From me:
Add support of RFC6074 (BGP-AD) in BGP dissector.
Both BGP-AD and VPLS-BGP (RFC4761) use the same AFI/SAFI, The NLRI length must be used as a demultiplexer. (See RFC6074  Section 7 : BGP-AD and VPLS-BGP Interoperability)

svn path=/trunk/; revision=38601
2011-08-18 13:43:24 +00:00