def mpls_operation(stub, oper): # MPLS Message mplsMsg = sl_mpls_pb2.SLMplsLabelBlockMsg() block = [] for label in range(10): #Reserve the MPLS Space mplsBlock = sl_mpls_pb2.SLMplsLabelBlockKey() mplsBlock.StartLabel = 30000 + 1000 * label mplsBlock.LabelBlockSize = 100 block.append(mplsBlock) mplsMsg.MplsBlocks.extend(block) #Make an RPC Call Timeout = 10 mplsMsg.Oper = oper response = stub.SLMplsLabelBlockOp(mplsMsg, Timeout) # # Check the received result from the Server # if (sl_common_types_pb2.SLErrorStatus.SL_SUCCESS == response.StatusSummary.Status): print "MPLS %s Success!" % ( sl_common_types_pb2.SLObjectOp.keys()[oper]) else: print "Error code for mpls %s is 0x%x" % ( sl_common_types_pb2.SLObjectOp.keys()[oper], response.StatusSummary.Status)
def label_block_serializer(batch): """MPLS label block serializer""" serializer = sl_mpls_pb2.SLMplsLabelBlockMsg() if 'blocks' in batch: blk_list = [] for block in batch['blocks']: b = sl_mpls_pb2.SLMplsLabelBlockKey() if 'block_size' in block: b.LabelBlockSize = block['block_size'] if 'start_label' in block: b.StartLabel = block['start_label'] blk_list.append(b) serializer.MplsBlocks.extend(blk_list) return serializer
def label_block_serializer(batch_info): """MPLS label block serializer""" serializer = sl_mpls_pb2.SLMplsLabelBlockMsg() if 'blocks' in batch_info: blk_list = [] for block in batch_info['blocks']: b = sl_mpls_pb2.SLMplsLabelBlockKey() if 'block_size' in block: b.LabelBlockSize = block['block_size'] if 'start_label' in block: b.StartLabel = block['start_label'] if 'block_type' in block: b.BlockType = block['block_type'] if 'client_name' in block: b.ClientName = block['client_name'] blk_list.append(b) serializer.MplsBlocks.extend(blk_list) return serializer