summaryrefslogtreecommitdiffhomepage
path: root/packet/bgp
AgeCommit message (Collapse)Author
2017-09-29packet/bgp: Add Unit Tests for Revised Error HandlingSatoshi Fujimoto
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-09-29server: Revised Error Handling (RFC7606)Satoshi Fujimoto
This patch enables GoBGP to keep the session established even if the received BGPUpdate message contains some errors, and to handle these errors according to what defined in RFC7606. This feature is enabled when 'treat-as-withdraw' in 'neighbors.error-handling.config' is specified to true in the GoBGP config file. Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-09-29packet/bgp: Return ErrorHandling in decoding/validating BGPUpdateSatoshi Fujimoto
For Revised Error Handling(RFC7606), this patch modifies the BGPUpdate message decoder/validator to return ErrorHandling according to what was detected as an error. In addition, this patch adds some validation defined in RFC7606. Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-09-29server/bgp: Extend MessageError for Revised Error HandlingSatoshi Fujimoto
This patch extends MessageError to contain error handling level and error path attribute. These informations are needed to Revised Error Handling (RFC7606). Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-09-29bgp/validate: Check Wellknown Attributes exist with MultiProtocolSatoshi Fujimoto
RFC4760 says "An UPDATE message that carries the MP_REACH_NLRI MUST also carry the ORIGIN and the AS_PATH attributes". This patch adds a validation to comply with it. Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-07-26add LocalPathIdentifierFUJITA Tomonori
add-path support needs two identifiers, remote (rx) and local (tx). The remote identifiers are assigined by remote peers, the local ones are assigned by gobgpd itself. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-07-10packet: Use bitmask operand format to fragmentSatoshi Fujimoto
RFC 5575 suggests using "bitmask operand format" for fragmentation field, but GoBGP does not have an interface to configure it. This patch introduce the way to configure bitmask operands for "fragment" field. The syntax is similar to TCP flags rules. For example: =not-a-fragment =is-fragment&!last-fragment Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-07-10const: Rename TcpFlagOp to BitmaskFlagOpSatoshi Fujimoto
This flag format is not only used for "tcp-flag" field, but also "fragment" field. To express the above, this patch renames the format. Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-07-10flowspec: Set AND to correct operand for TCP FlagsSatoshi Fujimoto
Currently, if TCP Flags field is specified from CLI command, GoBGP sets 'AND' bit to the invalid operand. RFC 5575 says it represents the previous term is logically ANDed or not, and "It should be unset in the first operator byte of a sequence". This patch fixes this to comply with RFC5575. Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-07-04support addpath recvISHIDA Wataru
2017-07-04packet: support addpath decoding/encodingISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2017-07-04packet: add marshalling option infraISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2017-06-23packet: fix addpath capability parser/serializerFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-06-01Fix RouteDistinguisher parsing and VPNV6 VRF rib parsingLamanna
2017-05-23flowspec: handling of >2 logical elements and fixed testDenis Shevchenko
2017-05-23flowspec: formatting of flowspec ranges in nice orderDenis Shevchenko
2017-05-23flowspec: correct handling of | bit case in opflagsDenis Shevchenko
2017-05-23flowspec: correct place for & bit in opflagsDenis Shevchenko
2017-05-23cli: Add User Interface for Redirect-IPv6 actionSatoshi Fujimoto
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-05-23packet/bgp: Redirect-IPv6 Flow Spec Traffic Filtering ActionSatoshi Fujimoto
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-05-23packet/bgp: IPv6 Address Specific Extended CommunitySatoshi Fujimoto
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-04-12don't To4() nexthop address when AFI is not IPv4ISHIDA Wataru
support for IPv6 NLRI with IPv4 nexthop Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2017-04-04skip asn negotiation for BGP unnumbered peersISHIDA Wataru
since BGP unnumbered peers are typically trusted, skip asn negotiation for easy configuration. from configuration file: ```toml [[neighbors]] [[neighbors.config]] neighbor-interface = "eth0" ``` from cli: ``` $ gobgp neighbor add interface eth0 ``` Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2017-04-04packet/bgp: add extended-nexthop capabilityISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2017-04-04packet/bgp: fix mp-reach-nlri attribute decoder/encoderISHIDA Wataru
Current mp-reach-nlri attribute decoder/encoder assumes NLRI's address family and that of nexthop is the same. However, when extended nexthop capability(RFC5549) is negotiated, this is not the case. This commit removes the assumption. Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2017-03-02flowspec: comply with new draft RFC5575bis normalized operatorsMatthieu Texier
2017-02-17flowspec: comply with RFC 5575 about TCP flags rulesMatthieu Texier
This patch proposes a new way to configure BGP flowspec TCP flags rules It allows to comply with RFC 5575 by defining flags like this =SA =A / '!SA' / '=SA&=!U' = means match, ! means not, & means and, all TCP flags are identified by their first charater S for SYN A for Ack ...
2017-02-14Adding support for port number 0 and above instead of only above 0Emil Palm
2017-02-03cli: Communication on Administrative Shutdown NOTIFICATIONIWASE Yusuke
This patch enable to send an arbitrary message on the Cease NOTIFICATION message with "Administrative Shutdown" and "Administrative Reset" subcodes with "--reason" option. Usage: $ gobgp neighbor <neighbor address> shutdown --reason "some messages" $ gobgp neighbor <neighbor address> reset --reason "some messages" Reference: https://tools.ietf.org/html/draft-ietf-idr-shutdown-04 Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-01-29Fix End of RIB handlingEiichiro Watanabe
- All of EoR except IPv4 unicast have MP_UNREACH only. (RFC4724) - length of the MP_UNREACH attr. should be 3bytes. - length of the value should be 0bytes. - Should send EoR marker in initial exchange of BMP Route Monitoring. (RFC7854)
2017-01-16packet/bgp/bgp_test: UT for PathAttributeMpReachNLRIIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-01-16packet/bgp/bgp_test: UT for IPv6 MpReachNLRI with IPv4 peeringIWASE Yusuke
This patch adds a test case for PathAttributeMpReachNLRI with IPv6 prefix and IPv4 peering (IPv4 nexthop address). Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-01-16packet/bgp: Confirm IPv4/v6 conversion when AFI_IP6IWASE Yusuke
Currently, GoBGP will miss-convert IPv4 nexthop address to IPv6 address when advertising AFI_IP6 routes with IPv4 peering. For example, if the local address of GoBGP is "172.20.0.1", the advertised nexthop will be miss-converted into "AC14:1::". In this case, the nexthop address should be "::ffff:172.20.0.1". This patch fixes this problem. According to this change, this patch also fixes "nexthoplen" calculation to parse and serialize NextHop field, otherwise it will cause "mpreach nexthop length is incorrect" at GoBGP or "Invalid NextHop length" at BGP peers. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-01-16packet/bgp: Remove redundant type declaration "AsPathParamFormat"IWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-01-16packet/bgp: Remove redundant blank argument in rangeIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-01-16packet/bgp: Avoid colliding with module "net"IWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-01-16packet/bgp: Fix typosIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-01-16packet/bgp: Fix unused return parameter "err"IWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2016-11-29Fix Open Message optional parameter length == 1 GoBGP crashes issues.kishiguro
2016-11-17add go vet testWataru Ishida
Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-11-04support neighbor belongs to VRFWataru Ishida
$ gobgp vrf add red rd 100:100 rt both 100:100 $ gobgp neighbor add 10.0.0.1 as 2 vrf red $ gobgp vrf red neighbor Peer AS Up/Down State |#Advertised Received Accepted 10.0.0.1 2 never Active | 0 0 0 Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-10-27bgp: remove duplicate large communitiesWataru Ishida
closes #1143 Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-10-26New Early IANA AllocationPier Carlo Chiodi
2016-10-09*: Notification support for BGP GRWataru Ishida
implement draft-ietf-idr-bgp-gr-notification-07 Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-10-09packet/bgp: BGPCapabilityCode.String() pretty stringingWataru Ishida
Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-10-09packet/bgp: add long-lived graceful restart capabilityWataru Ishida
2016-10-07Add BLACKHOLE community support (RFC7999)Shu Sugimoto
2016-10-04packet/bgp: fix handling of IPv4 mapped IPv6 prefixesWataru Ishida
closes #1117 Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-10-02Update LARGE_COMMUNITY path attribute codepointJob Snijders
IANA has assigned value 30 (LARGE_COMMUNITY Attribute) in the "BGP Path Attributes" sub-registry under the "Border Gateway Protocol (BGP) Parameters" registry. http://www.iana.org/assignments/bgp-parameters/bgp-parameters.xhtml#bgp-parameters-2
2016-10-02packet/bgp: fix bug of CompareFlowSpecNLRI()Wataru Ishida
Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>