import org.opendaylight.protocol.bgp.concepts.BGPAddressFamily;
import org.opendaylight.protocol.bgp.concepts.BGPAggregator;
import org.opendaylight.protocol.bgp.concepts.BGPObject;
-import org.opendaylight.protocol.bgp.concepts.BGPOrigin;
import org.opendaylight.protocol.bgp.concepts.BGPSubsequentAddressFamily;
import org.opendaylight.protocol.bgp.concepts.BGPTableType;
import org.opendaylight.protocol.bgp.concepts.BaseBGPObjectState;
import org.opendaylight.protocol.concepts.Metric;
import org.opendaylight.protocol.util.ByteArray;
import org.opendaylight.protocol.util.DefaultingTypesafeContainer;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev130919.BgpOrigin;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
for (int i = 1; i <= COUNTER; i++) {
final String name = "/up" + i + ".bin";
final InputStream is = BGPParserTest.class.getResourceAsStream(name);
- if (is == null)
+ if (is == null) {
throw new IOException("Failed to get resource " + name);
+ }
final ByteArrayOutputStream bis = new ByteArrayOutputStream();
final byte[] data = new byte[MAX_SIZE];
@Test
public void testGetUpdateMessage1() throws Exception {
- final byte[] body = ByteArray.cutBytes(inputBytes.get(0), BGPMessageFactory.COMMON_HEADER_LENGTH);
- final int messageLength = ByteArray.bytesToInt(ByteArray.subByte(inputBytes.get(0), BGPMessageFactory.MARKER_LENGTH,
- BGPMessageFactory.LENGTH_FIELD_LENGTH));
+ final byte[] body = ByteArray.cutBytes(inputBytes.get(0), BGPMessageFactoryImpl.COMMON_HEADER_LENGTH);
+ final int messageLength = ByteArray.bytesToInt(ByteArray.subByte(inputBytes.get(0), BGPMessageFactoryImpl.MARKER_LENGTH,
+ BGPMessageFactoryImpl.LENGTH_FIELD_LENGTH));
final BGPUpdateEvent ret = BGPUpdateMessageParser.parse(body, messageLength);
assertTrue(ret instanceof BGPUpdateMessage);
// final Set<IPv4Prefix> nlri = Sets.newHashSet(pref1, pref2, pref3);
// assertEquals(nlri, ret.getBgpUpdateMessageBuilder().getNlri());
- final BaseBGPObjectState state = new BaseBGPObjectState(BGPOrigin.IGP, null);
+ final BaseBGPObjectState state = new BaseBGPObjectState(BgpOrigin.Igp, null);
final NetworkRouteState<IPv4Address> routeState = new NetworkRouteState<>(new NetworkObjectState(asPath, comms, Collections.<ExtendedCommunity> emptySet()), nextHop);
// check API message
*/
@Test
public void testGetUpdateMessage2() throws Exception {
- final byte[] body = ByteArray.cutBytes(inputBytes.get(1), BGPMessageFactory.COMMON_HEADER_LENGTH);
- final int messageLength = ByteArray.bytesToInt(ByteArray.subByte(inputBytes.get(1), BGPMessageFactory.MARKER_LENGTH,
- BGPMessageFactory.LENGTH_FIELD_LENGTH));
+ final byte[] body = ByteArray.cutBytes(inputBytes.get(1), BGPMessageFactoryImpl.COMMON_HEADER_LENGTH);
+ final int messageLength = ByteArray.bytesToInt(ByteArray.subByte(inputBytes.get(1), BGPMessageFactoryImpl.MARKER_LENGTH,
+ BGPMessageFactoryImpl.LENGTH_FIELD_LENGTH));
final BGPUpdateEvent ret = BGPUpdateMessageParser.parse(body, messageLength);
assertTrue(ret instanceof BGPUpdateMessage);
// TypeCode.CLUSTER_LIST, true, false, false, false, clusters);
// assertEquals(clusterAttr, attrs.get(4));
- final BaseBGPObjectState state = new BaseBGPObjectState(BGPOrigin.IGP, null);
+ final BaseBGPObjectState state = new BaseBGPObjectState(BgpOrigin.Igp, null);
final NetworkRouteState<IPv6Address> routeState = new NetworkRouteState<>(new NetworkObjectState(asPath, Collections.<Community> emptySet(), Collections.<ExtendedCommunity> emptySet()), nextHop);
// check API message
*/
@Test
public void testGetUpdateMessage3() throws Exception {
- final byte[] body = ByteArray.cutBytes(inputBytes.get(2), BGPMessageFactory.COMMON_HEADER_LENGTH);
- final int messageLength = ByteArray.bytesToInt(ByteArray.subByte(inputBytes.get(2), BGPMessageFactory.MARKER_LENGTH,
- BGPMessageFactory.LENGTH_FIELD_LENGTH));
+ final byte[] body = ByteArray.cutBytes(inputBytes.get(2), BGPMessageFactoryImpl.COMMON_HEADER_LENGTH);
+ final int messageLength = ByteArray.bytesToInt(ByteArray.subByte(inputBytes.get(2), BGPMessageFactoryImpl.MARKER_LENGTH,
+ BGPMessageFactoryImpl.LENGTH_FIELD_LENGTH));
final BGPUpdateEvent ret = BGPUpdateMessageParser.parse(body, messageLength);
assertTrue(ret instanceof BGPUpdateMessage);
final BGPUpdateMessage message = (BGPUpdateMessage) ret;
// final Set<IPv4Prefix> nlri = Sets.newHashSet(pref1);
// assertEquals(nlri, ret.getBgpUpdateMessageBuilder().getNlri());
- final BaseBGPObjectState state = new BaseBGPObjectState(BGPOrigin.INCOMPLETE, aggregator);
+ final BaseBGPObjectState state = new BaseBGPObjectState(BgpOrigin.Incomplete, aggregator);
final NetworkRouteState<IPv4Address> routeState = new NetworkRouteState<>(new NetworkObjectState(asPath, Collections.<Community> emptySet(), Collections.<ExtendedCommunity> emptySet()), nextHop);
// check API message
*/
@Test
public void testGetUpdateMessage4() throws Exception {
- final byte[] body = ByteArray.cutBytes(inputBytes.get(3), BGPMessageFactory.COMMON_HEADER_LENGTH);
- final int messageLength = ByteArray.bytesToInt(ByteArray.subByte(inputBytes.get(3), BGPMessageFactory.MARKER_LENGTH,
- BGPMessageFactory.LENGTH_FIELD_LENGTH));
+ final byte[] body = ByteArray.cutBytes(inputBytes.get(3), BGPMessageFactoryImpl.COMMON_HEADER_LENGTH);
+ final int messageLength = ByteArray.bytesToInt(ByteArray.subByte(inputBytes.get(3), BGPMessageFactoryImpl.MARKER_LENGTH,
+ BGPMessageFactoryImpl.LENGTH_FIELD_LENGTH));
final BGPUpdateEvent ret = BGPUpdateMessageParser.parse(body, messageLength);
assertTrue(ret instanceof BGPUpdateMessage);
// final Set<IPv4Prefix> nlri = Sets.newHashSet(pref1, pref2, pref3);
// assertEquals(nlri, ret.getBgpUpdateMessageBuilder().getNlri());
- final BaseBGPObjectState state = new BaseBGPObjectState(BGPOrigin.EGP, null);
+ final BaseBGPObjectState state = new BaseBGPObjectState(BgpOrigin.Egp, null);
final NetworkRouteState<IPv4Address> routeState = new NetworkRouteState<>(new NetworkObjectState(ASPath.EMPTY, Collections.<Community> emptySet(), comms), nextHop);
// check API message
*/
@Test
public void testGetUpdateMessage5() throws Exception {
- final byte[] body = ByteArray.cutBytes(inputBytes.get(4), BGPMessageFactory.COMMON_HEADER_LENGTH);
- final int messageLength = ByteArray.bytesToInt(ByteArray.subByte(inputBytes.get(4), BGPMessageFactory.MARKER_LENGTH,
- BGPMessageFactory.LENGTH_FIELD_LENGTH));
+ final byte[] body = ByteArray.cutBytes(inputBytes.get(4), BGPMessageFactoryImpl.COMMON_HEADER_LENGTH);
+ final int messageLength = ByteArray.bytesToInt(ByteArray.subByte(inputBytes.get(4), BGPMessageFactoryImpl.MARKER_LENGTH,
+ BGPMessageFactoryImpl.LENGTH_FIELD_LENGTH));
final BGPUpdateEvent ret = BGPUpdateMessageParser.parse(body, messageLength);
assertTrue(ret instanceof BGPUpdateMessage);
*/
@Test
public void testEORIpv4() throws Exception {
- final byte[] body = ByteArray.cutBytes(inputBytes.get(5), BGPMessageFactory.COMMON_HEADER_LENGTH);
- final int messageLength = ByteArray.bytesToInt(ByteArray.subByte(inputBytes.get(5), BGPMessageFactory.MARKER_LENGTH,
- BGPMessageFactory.LENGTH_FIELD_LENGTH));
+ final byte[] body = ByteArray.cutBytes(inputBytes.get(5), BGPMessageFactoryImpl.COMMON_HEADER_LENGTH);
+ final int messageLength = ByteArray.bytesToInt(ByteArray.subByte(inputBytes.get(5), BGPMessageFactoryImpl.MARKER_LENGTH,
+ BGPMessageFactoryImpl.LENGTH_FIELD_LENGTH));
final BGPUpdateEvent ret = BGPUpdateMessageParser.parse(body, messageLength);
assertTrue(ret instanceof BGPUpdateSynchronized);
*/
@Test
public void testEORIpv6() throws Exception {
- final byte[] body = ByteArray.cutBytes(inputBytes.get(6), BGPMessageFactory.COMMON_HEADER_LENGTH);
- final int messageLength = ByteArray.bytesToInt(ByteArray.subByte(inputBytes.get(6), BGPMessageFactory.MARKER_LENGTH,
- BGPMessageFactory.LENGTH_FIELD_LENGTH));
+ final byte[] body = ByteArray.cutBytes(inputBytes.get(6), BGPMessageFactoryImpl.COMMON_HEADER_LENGTH);
+ final int messageLength = ByteArray.bytesToInt(ByteArray.subByte(inputBytes.get(6), BGPMessageFactoryImpl.MARKER_LENGTH,
+ BGPMessageFactoryImpl.LENGTH_FIELD_LENGTH));
final BGPUpdateEvent ret = BGPUpdateMessageParser.parse(body, messageLength);
assertTrue(ret instanceof BGPUpdateSynchronized);
*/
@Test
public void testEORLS() throws Exception {
- final byte[] body = ByteArray.cutBytes(inputBytes.get(7), BGPMessageFactory.COMMON_HEADER_LENGTH);
- final int messageLength = ByteArray.bytesToInt(ByteArray.subByte(inputBytes.get(7), BGPMessageFactory.MARKER_LENGTH,
- BGPMessageFactory.LENGTH_FIELD_LENGTH));
+ final byte[] body = ByteArray.cutBytes(inputBytes.get(7), BGPMessageFactoryImpl.COMMON_HEADER_LENGTH);
+ final int messageLength = ByteArray.bytesToInt(ByteArray.subByte(inputBytes.get(7), BGPMessageFactoryImpl.MARKER_LENGTH,
+ BGPMessageFactoryImpl.LENGTH_FIELD_LENGTH));
final BGPUpdateEvent ret = BGPUpdateMessageParser.parse(body, messageLength);
assertTrue(ret instanceof BGPUpdateSynchronized);
*/
@Test
public void testBGPLink() throws Exception {
- final byte[] body = ByteArray.cutBytes(inputBytes.get(8), BGPMessageFactory.COMMON_HEADER_LENGTH);
- final int messageLength = ByteArray.bytesToInt(ByteArray.subByte(inputBytes.get(8), BGPMessageFactory.MARKER_LENGTH,
- BGPMessageFactory.LENGTH_FIELD_LENGTH));
+ final byte[] body = ByteArray.cutBytes(inputBytes.get(8), BGPMessageFactoryImpl.COMMON_HEADER_LENGTH);
+ final int messageLength = ByteArray.bytesToInt(ByteArray.subByte(inputBytes.get(8), BGPMessageFactoryImpl.MARKER_LENGTH,
+ BGPMessageFactoryImpl.LENGTH_FIELD_LENGTH));
final BGPUpdateEvent ret = BGPUpdateMessageParser.parse(body, messageLength);
assertTrue(ret instanceof BGPUpdateMessage);
// network object state
final NetworkObjectState objState = new NetworkObjectState(ASPath.EMPTY, Collections.<Community> emptySet(), Collections.<ExtendedCommunity> emptySet());
- final BaseBGPObjectState state = new BaseBGPObjectState(BGPOrigin.IGP, null);
+ final BaseBGPObjectState state = new BaseBGPObjectState(BgpOrigin.Igp, null);
// network link state
final DefaultingTypesafeContainer<Metric<?>> container = new DefaultingTypesafeContainer<Metric<?>>();
00 31 <- NLRI length (49)
03 <- ProtocolID - OSPF
00 00 00 00 00 00 00 01 <- identifier
-
+
01 00 <- local node descriptor type (256)
00 24 <- length (36)
02 00 <- node descriptor type (member AS - 512)
02 03 <- node descriptor type (routeId - 515)
00 08 <- length
03 03 03 04 0b 0b 0b 03 <- OSPF Router Id
-
+
00 01 <- NLRI type (1 - nodeNLRI)
00 2d <- NLRI length (45)
03 <- ProtocolID - OSPF
00 00 00 00 00 00 00 01 <- identifier
-
+
01 00 <- local node descriptor type (256)
00 20 <- length (32)
02 00 <- node descriptor type (member AS - 512)
02 03 <- node descriptor type (routeId - 515)
00 04 <- length
03 03 03 04 <- OSPF Router Id
-
+
00 01 <- NLRI type (1 - nodeNLRI)
00 2d <- NLRI length (45)
03 <- ProtocolID - OSPF
02 03 <- node descriptor type (routeId - 515)
00 04 <- length
01 01 01 02 <- OSPF Router Id
-
+
40 <- attribute flags
01 <- attribute type (Origin)
01 <- attribute length
*/
@Test
public void testBGPNode() throws Exception {
- final byte[] body = ByteArray.cutBytes(inputBytes.get(9), BGPMessageFactory.COMMON_HEADER_LENGTH);
- final int messageLength = ByteArray.bytesToInt(ByteArray.subByte(inputBytes.get(9), BGPMessageFactory.MARKER_LENGTH,
- BGPMessageFactory.LENGTH_FIELD_LENGTH));
+ final byte[] body = ByteArray.cutBytes(inputBytes.get(9), BGPMessageFactoryImpl.COMMON_HEADER_LENGTH);
+ final int messageLength = ByteArray.bytesToInt(ByteArray.subByte(inputBytes.get(9), BGPMessageFactoryImpl.MARKER_LENGTH,
+ BGPMessageFactoryImpl.LENGTH_FIELD_LENGTH));
final BGPUpdateEvent ret = BGPUpdateMessageParser.parse(body, messageLength);
assertTrue(ret instanceof BGPUpdateMessage);
// network object state
final NetworkObjectState objState = new NetworkObjectState(ASPath.EMPTY, Collections.<Community> emptySet(), Collections.<ExtendedCommunity> emptySet());
- final BaseBGPObjectState state = new BaseBGPObjectState(BGPOrigin.IGP, null);
+ final BaseBGPObjectState state = new BaseBGPObjectState(BgpOrigin.Igp, null);
final NetworkNodeState nstate = new NetworkNodeState(objState, Collections.<TopologyIdentifier> emptySet(), Collections.<ISISAreaIdentifier> emptySet(), false, false, false, false, Collections.<RouterIdentifier> emptySet(), null);
// network link state
*/
@Test
public void testOpenMessage() throws Exception {
- final BGPMessageFactory msgFactory = new BGPMessageFactory();
- final BGPOpenMessage open = (BGPOpenMessage) msgFactory.parse(ByteArray.cutBytes(inputBytes.get(13),
- BGPMessageFactory.MARKER_LENGTH));
+ final BGPMessageFactoryImpl msgFactory = new BGPMessageFactoryImpl();
+ final BGPOpenMessage open = (BGPOpenMessage) msgFactory.parse(inputBytes.get(13)).get(0);
final Set<BGPTableType> types = Sets.newHashSet();
for (final BGPParameter param : open.getOptParams()) {
if (param instanceof MultiprotocolCapability) {