diff --git a/proto/bgp/attrs.c b/proto/bgp/attrs.c index f008b350..fa2649c5 100644 --- a/proto/bgp/attrs.c +++ b/proto/bgp/attrs.c @@ -6,6 +6,9 @@ * Can be freely distributed and used under the terms of the GNU GPL. */ +/* FIXME: Latest draft says that LOCAL_PREF is mandatory for iBGP */ +/* FIXME: Mandatory attributes may be missing in messages that don't contain NLRI */ + #define LOCAL_DEBUG #include diff --git a/proto/bgp/config.Y b/proto/bgp/config.Y index 548f5d03..37f90aaf 100644 --- a/proto/bgp/config.Y +++ b/proto/bgp/config.Y @@ -29,7 +29,7 @@ bgp_proto_start: proto_start BGP { BGP_CFG->hold_time = 240; BGP_CFG->connect_retry_time = 120; BGP_CFG->initial_hold_time = 240; - BGP_CFG->default_med = ~0; + BGP_CFG->default_med = ~0; /* RFC 1771 doesn't specify this, draft-09 says ~0 */ BGP_CFG->compare_path_lengths = 1; } ; diff --git a/proto/bgp/packets.c b/proto/bgp/packets.c index 91d05083..bec2e501 100644 --- a/proto/bgp/packets.c +++ b/proto/bgp/packets.c @@ -216,7 +216,7 @@ bgp_rx_open(struct bgp_conn *conn, byte *pkt, int len) if (len < 29 || len != 29 + pkt[28]) { bgp_error(conn, 1, 2, len, 2); return; } if (pkt[19] != BGP_VERSION) - { bgp_error(conn, 2, 1, pkt[19], 2); return; } + { bgp_error(conn, 2, 1, pkt[19], 1); return; } /* RFC 1771 says 16 bits, draft-09 tells to use 8 */ as = get_u16(pkt+20); hold = get_u16(pkt+22); id = get_u32(pkt+24);