use of org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bmp.message.rev200120.PeerDownNotificationBuilder in project bgpcep by opendaylight.
the class PeerDownHandler method parseMessageBody.
@Override
public Notification parseMessageBody(final ByteBuf bytes) throws BmpDeserializationException {
final PeerDownNotificationBuilder peerDown = new PeerDownNotificationBuilder().setPeerHeader(parsePerPeerHeader(bytes));
final Reason reason = Reason.forValue(bytes.readUnsignedByte());
if (reason != null) {
switch(reason) {
case REASON_ONE:
peerDown.setLocalSystemClosed(Boolean.TRUE);
peerDown.setData(parseBgpNotificationMessage(bytes));
break;
case REASON_TWO:
peerDown.setLocalSystemClosed(Boolean.TRUE);
peerDown.setData(new FsmEventCodeBuilder().setFsmEventCode(ByteBufUtils.readUint16(bytes)).build());
break;
case REASON_THREE:
case REASON_FOUR:
peerDown.setLocalSystemClosed(Boolean.FALSE);
peerDown.setData(parseBgpNotificationMessage(bytes));
break;
case REASON_FIVE:
peerDown.setLocalSystemClosed(Boolean.FALSE);
break;
default:
break;
}
}
return peerDown.build();
}
use of org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bmp.message.rev200120.PeerDownNotificationBuilder in project bgpcep by opendaylight.
the class TestUtil method createPeerDownNotification.
public static PeerDownNotification createPeerDownNotification(final Ipv4Address bgpId) {
final NotificationBuilder notifBuilder = new NotificationBuilder().setNotification(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bmp.message.rev171207.peer.down.data.notification.NotificationBuilder().setErrorCode((short) 1).setErrorSubcode((short) 1).build());
final PeerDownNotificationBuilder peerDownNotifBuilder = new PeerDownNotificationBuilder().setData(notifBuilder.build()).setLocalSystemClosed(true).setPeerHeader(TestUtil.createPeerHeader(bgpId));
return peerDownNotifBuilder.build();
}
Aggregations