Visual RFC.
ALL RFCs / RFC 1997
Read the RFC ↗
RFC 1997 / BGP COMMUNITIES

Handle malformed attributes without inventing trust

07

RFC 7606 updates community error handling. A recognized community attribute with an invalid value length is not the same as an unfamiliar, well-formed tag.

RFC 1997 · COMMUNITIES format · p.2EXAMPLE
4 / 4
Handle malformed attributes without inventing trustSeparate malformed value length0uses treat-as-withdraw underRFC7606section7.8; not a fullUPDATE parser.Separate zero-length caseR1R2value length: 0 octetsReceiver R2: treat-as-withdrawAffected UPDATE routes removedThis error does not automatically reset the sessionValue-only check; enclosing UPDATE/NLRI and other errors omitted
04
Recognize the teaching model’s limits

The attribute-length rule also rejects zero. This bounded illustration does not parse a full UPDATE or turn a community into proof of route ownership.

Source for this drawing: RFC 1997 · Read RFC source: COMMUNITIES format · p.2 ↗

Protocol participantThreat or exceptionProtocol controlSimplified drawings · precise section references
New to this? Start hereA quick picture + helpful background

A message needs an address.

Think of a packet as a small addressed envelope. Devices pass it onward; transport protocols decide what delivery promises an application gets.

Helpful first, if these ideas are unfamiliar

These pictures are analogies to help you learn. The linked RFC explains the actual rules.

Related RFCs and changes

“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.

What changed
RFC 1997 COMMUNITIESRFC 7606 §7.8

A community value length must be a nonzero multiple of four; a malformed Community attribute uses treat-as-withdraw. This is not a universal rule for every BGP parse failure.

Read the updated RFC section ↗
KEY POINT

RFC 7606 §7.8: the community attribute SHALL be considered malformed if its length is not a non-zero multiple of four. An UPDATE with it SHALL use treat-as-withdraw.

  • RFC 7606 §7.8: the community attribute SHALL be considered malformed if its length is not a non-zero multiple of four. An UPDATE with it SHALL use treat-as-withdraw.
  • Treat-as-withdraw removes affected UPDATE routes instead of automatically resetting the session, assuming their network-layer reachability information (NLRI) can otherwise be parsed. If it cannot, RFC 7606 §3(j) retains session-reset or AFI/SAFI-disable procedures. This bounded scene does not parse a full UPDATE.
  • A well-formed ordinary value with unknown local meaning is not malformed merely for being unfamiliar. Its acceptance and use depend on policy.
  • Four-octet community tags are not signatures, encryption or authorization proofs. RFC 1997 itself does not discuss security; these pictures make no route-origin validation claim.
DETAILS

Fictional routes and private AS numbers. These are bounded teaching examples, not a complete BGP implementation. Display a tag as AS:local only to help read its two 16-bit parts; the wire contains four octets.

Read the RFC section ↗

All chapters in RFC 1997

Drawing view

Scroll the drawing to see every part. Playback controls stay above it.

RFC 9700 / CHAPTERS

Chapters

For full details, tables, algorithms, and exceptions, read the original RFC.

RFC status and corrections ↗