summaryrefslogtreecommitdiffhomepage
path: root/packet
AgeCommit message (Collapse)Author
2016-09-14bgp/cli: Support Large CommunityWataru Ishida
see https://tools.ietf.org/html/draft-heitz-idr-large-community-04 Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-09-14bgp: support latest Opaque Signaling draftWataru Ishida
see https://tools.ietf.org/html/draft-lapukhov-bgp-opaque-signaling-02 $ gobgp global rib -a opaque add key hello value world $ gobgp global rib -a opaque del key hello Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-08-16cli: support setting flowspec "procotol" in octetISHIDA Wataru
$ gobgp global rib -a ipv4-flowspec add match protocol 100 then discard close #1052 Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-08-02packet: Change graceful restart tuple (afi/safi/flags) parsing to use ↵Tim Evens
capability length instead of remaining parameter length. Fixes #1037
2016-07-30packet/bgp: treat 0x000000 as a withdraw labelISHIDA Wataru
though RFC3107 says the label field should be set to 0x800000 in the withdrawn routes, some platform uses 0x000000 for that purpose. Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-06-30cli: support adding flowspec vpn routesISHIDA Wataru
$ gobgp global rib add -a ipv4-l3vpn-flowspec rd 100:100 match destination 10.0.0.0/24 then discard Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-06-30bgp: fix bug of flowspec vpn parser/serializerISHIDA Wataru
close #997 Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-06-16Fix inversion between v4 and v6 in ValidateAttributeThomas Morin
This fixes a trivial inversion of v4/v6 calls in ValidateAttribute. Bug-Url: #991
2016-06-26support AGGREGATOR and AS4_AGGREGATOR conversionFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-06-27bgp: flat the VPN labelAntoine Eiche
2016-06-14bgp: add FlatUpdate to merge Flat representationsAntoine Eiche
Update a Flat representation by adding elements of the second one. If two elements use same keys, values are separated with ';'. In this case, it returns an error but the update has been realized.
2016-06-14bgp: partial TwoOctetAsSpecificExtended.Flat and OpaqueExtended.Flat ↵Antoine Eiche
implementation Only EC_SUBTYPE_ROUTE_TARGET and EC_SUBTYPE_ENCAPSULATION are implemented.
2016-06-14bgp: add dummy Flat methods to Extended CommunitiesAntoine Eiche
2016-06-14bgp: add dummy Flat method to PathAttributeAntoine Eiche
2016-06-13bgp: add tunnel type MPLS in UDPAntoine Eiche
As specified in RFC7510 / RFC Errata 4350
2016-06-13packet: export pathAttrFlagsFUJITA Tomonori
Used to check if an attribute is known or unknown. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-06-13packet: export PathAttributeInterface GetFlags()FUJITA Tomonori
Needs to access to Flags. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-06-09collector: use AddrPrefixInterface.Flat to generate PrefixAntoine Eiche
The tag NLRI is also added to the update table.
2016-06-09bgp: add Flat method on AddrPrefixInterfaceAntoine Eiche
This method returns a map[string]string which can be used to create structured outputs, specialized by implemented types.
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>