summaryrefslogtreecommitdiffhomepage
path: root/packet
AgeCommit message (Collapse)Author
2016-05-26bgp: check buf length before parsing graceful-restart capabilityISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-26bgp: return NewMessageError instead of fmt.ErrorfISHIDA Wataru
to send a notification to the peer, we must return NewMessageError, not fmt.Errorf Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-19server: return flowspec routes in rfc compliant mannerISHIDA Wataru
The order of the flowspec routes matters because they will be used as ACL rules and what rule will be applied depends on the order. RFC5575 specifies how flowspec routes should be sorted. This commit implements what it says. Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-18packet/bgp: add error handling in flowSpecIpProtoParser()ISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-18packet: add MarshalJSON method for FlowSpecUnknown structISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-18packet/bgp: refactor flowspec AFI(), SAFI() methodsISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-18packet/bgp: check flowspec nlri type orderingISHIDA Wataru
RFC5575 says, Flow specification components must follow strict type ordering. A given component type may or may not be present in the specification, but if present, it MUST precede any component of higher numeric type value. Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-10server: pretty notification error code logFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-05-10packet: update notification error codeFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-04-20fsm: improve debug messageISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-04-20packet: fix encap nlri (add encap ipv6 nlri)ISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-04-20bgp: fix bug of NewEndOfRib()ISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-04-12packet: create bmp packageFUJITA Tomonori
move bmp stuff from bgp to bmp package. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-04-12packet: create rtr packageFUJITA Tomonori
move rtr stuff from bgp to rtr package. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-03-31packet: create mrt packageFUJITA Tomonori
move mrt stuff from bgp to mrt package. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-04-05packet: handle malformed option param length in OpenMessageFUJITA Tomonori
Fixes a possible crash in BGPOpen's DecodeFromBytes(). fixes #818 Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-04-01docs/packet: s/draft-ietf-idr-flowspec-redirect-rt-bis-05/RFC7674ISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-03-31move packet/*.go to packet/bgp/*.go for Go's conventionFUJITA Tomonori
Later, we move non-bgp protocol stuff like mrt under their own direcotries. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-03-31*: support draft-ietf-idr-flowspec-l2vpn-03ISHIDA Wataru
$ gobgp g ri add -a l2vpn-flowspec match destination-mac 01:01:01:01:01:01 ether-type ipv4 vid 10 cos 20 $ gobgp g ri add -a l2vpn-flowspec match source-mac 01:01:01:01:01:01 ether-type arp inner-vid 20 inner-cos 20 Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-03-20*: support Opaque SignalingISHIDA Wataru
see https://tools.ietf.org/html/draft-lapukhov-bgp-opaque-signaling-01 using 16397 for AFI, 241 for SAFI, 41 for Opaque Path Attribute temporarily. $ gobgp global rib add -a opaque key hello value world Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-03-19packet: support flowspec "not-a-fragment" fragment typeFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-03-04packet: fix FlowSpecComponentItem Len()FUJITA Tomonori
If FlowSpecComponentItem object is created by API (e.g. CLI), the length info in its Op isn't initialized. So its Len() returns a bogus value. This patch initializes the length info when creating the object instead of its Serialize(). https://github.com/osrg/gobgp/issues/753 Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-03-03packet: make multiple flow spec fragmentation flags ORed match instead of ANDedFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-03-04packet: fix FlowSpecComponent Len()FUJITA Tomonori
We don't need to serialize to get the length of FlowSpecComponent. Also we need to fix FlowSpecComponent()'s serialize bug that it wrongly assumes that the length can be calculated by it's value. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-03-04packet fix FlowSpecComponentItem's SerializeFUJITA Tomonori
- don't overwrite length if it was initialized because the length can't calculated from the value. For exmaple, assuming using one byte for port number < 255 is probably wrong. - don't touch FlowSpecComponentItem's Op value. Mutating is a bad idea. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-02-29cli: support ipv4-labeled, ipv6-labeled address familyISHIDA Wataru
$ gobgp global rib -a ipv4-labeled add 10.0.0.0/24 100/200 $ gobgp global rib -a ipv4-labeled Network Labels Next Hop AS_PATH Age Attrs *> 10.0.0.0/24 [100, 200] 0.0.0.0 00:00:14 [{Origin: ?}] Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-02-29packet: fix labeled-ipv6 nlri to return correct address-familyISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-02-25packet: fix strange flow spec fragment keywordsFUJITA Tomonori
"not-a-fragment" and "is-a-fragment" are renamed to "dont-fragment" and "is-fragment" respectively. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-02-25packet: multiple flow spec fragmentation flagsFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-02-10packet: add end-of-rib util functionsISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-02-10packet: improve graceful restart cap usabilityISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-02-06packet: bmp localaddress in peerup messageFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-02-06bmp: fix peerheader ip handlingFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-01-25config: add openconfig identity structs in bgp_configs.goISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-01-10policy: support an action to add origin-validation ext-communityISHIDA Wataru
you can implement https://tools.ietf.org/html/draft-kklf-sidr-route-server-rpki-light-00 by following commands $ gobgp policy statement st0 add condition rpki valid $ gobgp policy statement st0 add action ext-community add valid $ gobgp policy statement st1 add condition rpki not-found $ gobgp policy statement st1 add action ext-community add not-found $ gobgp policy statement st2 add condition rpki invalid $ gobgp policy statement st2 add action ext-community add invalid $ gobgp policy p0 add st0 st1 st2 $ gobgp policy p0 Name p0: StatementName st0: Conditions: RPKI result: valid Actions: ExtCommunity: COMMUNITY_ADD[valid] NONE StatementName st1: Conditions: RPKI result: not-found Actions: ExtCommunity: COMMUNITY_ADD[not-found] NONE StatementName st2: Conditions: RPKI result: invalid Actions: ExtCommunity: COMMUNITY_ADD[invalid] NONE Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-01-10packet: add origin validation extended communityISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-01-09server: add REQ_BMP_NEIGHBORS api for internal bmp useISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-12-31packet: fix missing valueEiichiro Watanabe
2015-12-22packet: fix insufficient length checkISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-12-15api: refactor afisafi apiISHIDA Wataru
remove unused fields Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-12-09packet: add test examples for RTRErrorReportEiichiro Watanabe
2015-12-09packet: add constructor for RTRErrorReportEiichiro Watanabe
2015-12-09packet: define new constants in RTREiichiro Watanabe
2015-12-09packet: fix wrong assignment for Text field of RTRErrorReportEiichiro Watanabe
2015-12-09packet: fix incorrect fieldEiichiro Watanabe
* RFC6810 says that the 3rd field of RTRErrorReport is Error Code, not Session ID.
2015-12-09packet: add test examples for rtrEiichiro Watanabe
2015-12-09packet: remove verbose methodEiichiro Watanabe
2015-12-09packet: add constructors for RTR PDUsEiichiro Watanabe
* Except Error Report PDU
2015-12-09packet: remove SessionID field from RTRIPPrefixEiichiro Watanabe
* Session ID field is not defined in IPvxPrefix PDUs in RFC6810
2015-12-07packet: fix Version and Type are reversedEiichiro Watanabe