use of org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.segment.routing.ext.rev200120.adj.flags.Flags in project bgpcep by opendaylight.
the class CInitiated00LspObjectParser method serializeFlags.
@Override
protected BitArray serializeFlags(final Lsp specObj) {
final BitArray flags = new BitArray(FLAGS_SIZE);
flags.set(DELEGATE, specObj.isDelegate());
flags.set(REMOVE, specObj.isRemove());
flags.set(SYNC, specObj.isSync());
flags.set(ADMINISTRATIVE, specObj.isAdministrative());
if (specObj.getAugmentation(Lsp1.class) != null) {
flags.set(CREATE_FLAG_OFFSET, specObj.getAugmentation(Lsp1.class).isCreate());
}
return flags;
}
use of org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.segment.routing.ext.rev200120.adj.flags.Flags in project bgpcep by opendaylight.
the class CInitiated00SrpObjectParser method parseFlags.
@Override
protected void parseFlags(final SrpBuilder builder, final ByteBuf bytes) {
final BitArray flags = BitArray.valueOf(bytes, FLAGS_SIZE);
builder.addAugmentation(Srp1.class, new Srp1Builder().setRemove(flags.get(REMOVE_FLAG)).build());
}
use of org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.segment.routing.ext.rev200120.adj.flags.Flags in project lispflowmapping by opendaylight.
the class MapRegisterSerializationTest method deserialize__Locators.
@Test
public void deserialize__Locators() throws Exception {
MapRegister mr = MapRegisterSerializer.getInstance().deserialize(hexToByteBuffer("38 00 01 01 " + //
"FF BB 00 00 00 00 00 00 00 01 00 14 f1 b8 ab f0 " + //
"66 bb 2e ef 12 70 74 46 6f 6b 8e ca bf 1e 68 40 " + //
"00 00 00 0a " + //
"03 " + // Locator Count
"20 10 00 00 00 00 01 99 10 fe 01 " + // Locator 1
"01 64 1f 00 " + // priorities + weights
"00 05 " + // Flags
"00 01 c0 a8 88 0a " + // Locator 2
"67 00 30 34 " + // priorities + weights
"00 02 " + // Flags
"00 01 cc aa AA 11 " + // Locator 3
"60 11 34 A4 " + // priorities + weights
"00 03 " + // Flags
"00 01 c0 a8 88 0a "), null);
assertEquals(1, mr.getMappingRecordItem().size());
MappingRecordItem eidToLocator = mr.getMappingRecordItem().get(0);
assertEquals(3, eidToLocator.getMappingRecord().getLocatorRecord().size());
LocatorRecord loc0 = eidToLocator.getMappingRecord().getLocatorRecord().get(0);
LocatorRecord loc1 = eidToLocator.getMappingRecord().getLocatorRecord().get(1);
LocatorRecord loc2 = eidToLocator.getMappingRecord().getLocatorRecord().get(2);
assertEquals((byte) 0x01, loc0.getPriority().byteValue());
assertEquals((byte) 0x67, loc1.getPriority().byteValue());
assertEquals((byte) 0x60, loc2.getPriority().byteValue());
assertEquals((byte) 0x64, loc0.getWeight().byteValue());
assertEquals((byte) 0x00, loc1.getWeight().byteValue());
assertEquals((byte) 0x11, loc2.getWeight().byteValue());
assertEquals((byte) 0x1F, loc0.getMulticastPriority().byteValue());
assertEquals((byte) 0x30, loc1.getMulticastPriority().byteValue());
assertEquals((byte) 0x34, loc2.getMulticastPriority().byteValue());
assertEquals((byte) 0x00, loc0.getMulticastWeight().byteValue());
assertEquals((byte) 0x34, loc1.getMulticastWeight().byteValue());
assertEquals((byte) 0xA4, loc2.getMulticastWeight().byteValue());
assertTrue(loc0.isLocalLocator());
assertFalse(loc1.isLocalLocator());
assertFalse(loc2.isLocalLocator());
assertFalse(loc0.isRlocProbed());
assertTrue(loc1.isRlocProbed());
assertTrue(loc2.isRlocProbed());
assertTrue(loc0.isRouted());
assertFalse(loc1.isRouted());
assertTrue(loc2.isRouted());
assertEquals(LispAddressUtil.asIpv4Rloc("192.168.136.10"), loc0.getRloc());
assertEquals(LispAddressUtil.asIpv4Rloc("204.170.170.17"), loc1.getRloc());
}
use of org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.segment.routing.ext.rev200120.adj.flags.Flags in project lispflowmapping by opendaylight.
the class LocatorRecordSerializer method deserialize.
protected LocatorRecord deserialize(ByteBuffer buffer) {
LocatorRecordBuilder builder = new LocatorRecordBuilder();
builder.setPriority((short) ByteUtil.getUnsignedByte(buffer));
builder.setWeight((short) ByteUtil.getUnsignedByte(buffer));
builder.setMulticastPriority((short) ByteUtil.getUnsignedByte(buffer));
builder.setMulticastWeight((short) ByteUtil.getUnsignedByte(buffer));
byte flags = (byte) buffer.getShort();
builder.setLocalLocator(ByteUtil.extractBit(flags, Flags.LOCAL_LOCATOR));
builder.setRlocProbed(ByteUtil.extractBit(flags, Flags.RLOC_PROBED));
builder.setRouted(ByteUtil.extractBit(flags, Flags.ROUTED));
Rloc rloc = LispAddressSerializer.getInstance().deserializeRloc(buffer);
builder.setRloc(rloc);
builder.setLocatorId(LispAddressStringifier.getString(rloc));
return builder.build();
}
use of org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.segment.routing.ext.rev200120.adj.flags.Flags in project genius by opendaylight.
the class HwVtepTunnelsStateHandler method startMonitoringTask.
@Override
public void startMonitoringTask(MonitoringInfo monitorInfo) {
EndpointType source = monitorInfo.getSource().getEndpointType();
if (source instanceof Interface) {
Interface intf = (Interface) source;
intf.getInterfaceName();
} else {
LOG.warn("Invalid source endpoint. Could not retrieve source interface to configure BFD");
return;
}
MonitorProfile profile;
long profileId = monitorInfo.getProfileId();
Optional<MonitorProfile> optProfile = alivenessMonitor.getMonitorProfile(profileId);
if (optProfile.isPresent()) {
profile = optProfile.get();
} else {
LOG.warn("No monitor profile associated with id {}. " + "Could not send Monitor packet for monitor-id {}", profileId, monitorInfo);
return;
}
// TODO: get the corresponding hwvtep tunnel from the sourceInterface
// once InterfaceMgr
// Implements renderer for hwvtep VXLAN tunnels
String tunnelLocalMacAddress = "<TODO>";
String tunnelLocalIpAddress = "<TODO>";
String tunnelRemoteMacAddress = "<TODO>";
List<BfdParams> bfdParams = new ArrayList<>();
fillBfdParams(bfdParams, profile);
List<BfdLocalConfigs> bfdLocalConfigs = new ArrayList<>();
fillBfdLocalConfigs(bfdLocalConfigs, tunnelLocalMacAddress, tunnelLocalIpAddress);
List<BfdRemoteConfigs> bfdRemoteConfigs = new ArrayList<>();
fillBfdRemoteConfigs(bfdRemoteConfigs, tunnelRemoteMacAddress);
// tunnelKey is initialized to null and passed to setKey which FindBugs flags as a
// "Load of known null value" violation. Not sure sure what the intent is...
// TunnelsKey tunnelKey = null;
Tunnels tunnelWithBfd = new TunnelsBuilder().setKey(/*tunnelKey*/
null).setBfdParams(bfdParams).setBfdLocalConfigs(bfdLocalConfigs).setBfdRemoteConfigs(bfdRemoteConfigs).build();
// TODO: get the following parameters from the interface and use it to
// update hwvtep datastore
// and not sure sure tunnels are creating immediately once interface mgr
// writes termination point
// into hwvtep datastore. if tunnels are not created during that time,
// then start monitoring has to
// be done as part of tunnel add DCN handling.
String topologyId = "";
String nodeId = "";
MDSALUtil.syncUpdate(dataBroker, LogicalDatastoreType.CONFIGURATION, getTunnelIdentifier(topologyId, nodeId, new TunnelsKey(/*localRef*/
null, /*remoteRef*/
null)), tunnelWithBfd);
}
Aggregations