package es.tid.pce.client; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.Inet4Address; import java.net.UnknownHostException; import java.util.LinkedList; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import es.tid.pce.pcep.constructs.EndPoint; import es.tid.pce.pcep.constructs.GeneralizedBandwidthSSON; import es.tid.pce.pcep.constructs.P2MPEndpoints; import es.tid.pce.pcep.constructs.P2PEndpoints; import es.tid.pce.pcep.constructs.Request; import es.tid.pce.pcep.constructs.SVECConstruct; import es.tid.pce.pcep.constructs.SwitchEncodingType; import es.tid.pce.pcep.messages.PCEPError; import es.tid.pce.pcep.messages.PCEPKeepalive; import es.tid.pce.pcep.messages.PCEPRequest; import es.tid.pce.pcep.messages.PCEPResponse; import es.tid.pce.pcep.objects.BandwidthRequested; import es.tid.pce.pcep.objects.BandwidthRequestedGeneralizedBandwidth; import es.tid.pce.pcep.objects.EndPointsIPv4; import es.tid.pce.pcep.objects.GeneralizedEndPoints; import es.tid.pce.pcep.objects.InterLayer; import es.tid.pce.pcep.objects.Metric; import es.tid.pce.pcep.objects.ObjectParameters; import es.tid.pce.pcep.objects.ObjectiveFunction; import es.tid.pce.pcep.objects.P2MPEndPointsIPv4; import es.tid.pce.pcep.objects.PCEPErrorObject; import es.tid.pce.pcep.objects.RequestParameters; import es.tid.pce.pcep.objects.Reservation; import es.tid.pce.pcep.objects.Svec; import es.tid.pce.pcep.objects.SwitchLayer; import es.tid.pce.pcep.objects.tlvs.BandwidthTLV; import es.tid.pce.pcep.objects.tlvs.EndPointIPv4TLV; public class UserInterface extends Thread { PCCPCEPSession ps; ClientRequestManager crm; private Logger log; private boolean running=false; public UserInterface (PCCPCEPSession ps){ this.ps=ps; log=LoggerFactory.getLogger("PCCClient"); crm=ps.crm; } @Override public void run() { log.info("Starting User Interface"); running=true; while (running) { System.out.println("-------------"); System.out.println("Enter action: "); System.out.println("-------------"); //System.out.println(" 1- OPEN Session"); System.out.println(" 1- Send KEEPALIVE"); System.out.println(" 2- Send Path Request"); System.out.println(" 3- Send default Path Request"); System.out.println(" 3333- Send default Path Request that will trigger NOPATH"); System.out.println(" 31- Send default Path Request with OF = 5"); System.out.println(" 33- Send default Mulitple Path Requests"); System.out.println(" 34- Send default Synchronized Path Requests"); System.out.println(" 35- Send default BIG Synchronized Path Requests"); System.out.println(" 36- Send default Synchronized Path Requests with OF=7"); System.out.println(" 37- Send PTMPT Request"); System.out.println(" 38- Send Idealist Request"); System.out.println(" 4- Send ERROR"); System.out.println(" 5- Send Notification"); System.out.println(" 6- Send CLOSE message"); System.out.println(" 7 - END PROGRAM"); System.out.println(" 8 - Send Path Request using GENERALIZED END POINTS"); System.out.println(" 88 - Send IT resource Notification"); System.out.println(" 0 - Sergio prueba"); System.out.println(" 01 - Sergio prueba 2"); System.out.println(" 02 - Sergio prueba 3"); System.out.println("1002 - SSON TEST"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String command = null; try { command = br.readLine(); } catch (IOException ioe) { System.out.println("IO error trying to read your command"); System.exit(1); } if (command.equals("0")) { System.out.println("Single Request MULTILAYER!"); PCEPRequest p_r = new PCEPRequest(); Request req = createRequest("172.16.201.101", "172.16.201.103"); ObjectiveFunction of=new ObjectiveFunction(); of.setOFcode(1100); req.setObjectiveFunction(of); p_r.addRequest(req); PCEPResponse pr=crm.newRequest(p_r); System.out.println("Respuesta "+pr.toString()); } if (command.equals("02")) { System.out.println("Single Request MULTILAYER!"); PCEPRequest p_r = new PCEPRequest(); Request req = createRequest("172.16.201.101", "172.16.201.103"); ObjectiveFunction of=new ObjectiveFunction(); of.setOFcode(1100); req.setObjectiveFunction(of); float bw = 8; BandwidthRequested bandwidth=new BandwidthRequested(); bandwidth.setBw(bw); req.setBandwidth(bandwidth); p_r.addRequest(req); PCEPResponse pr=crm.newRequest(p_r); System.out.println("Respuesta "+pr.toString()); } if (command.equals("01")) { System.out.println("Single Request MULTILAYER!"); PCEPRequest p_r = new PCEPRequest(); Request req = createRequest("172.20.1.54", "172.20.1.60"); ObjectiveFunction of=new ObjectiveFunction(); of.setOFcode(1101); req.setObjectiveFunction(of); p_r.addRequest(req); PCEPResponse pr=crm.newRequest(p_r); System.out.println("Respuesta "+pr.toString()); } if (command.equals("1002")) { System.out.println("Single Request!"); PCEPRequest p_r = new PCEPRequest(); Request req2 = createRequest("172.20.1.1", "172.20.1.5"); ObjectiveFunction of=new ObjectiveFunction(); Reservation rs1=new Reservation(); of.setOFcode(1002); req2.setObjectiveFunction(of); req2.setReservation(rs1); float bw2 = 100000000; BandwidthRequested bandwidth2=new BandwidthRequested(); bandwidth2.setBw(bw2); req2.setBandwidth(bandwidth2); p_r.addRequest(req2); PCEPResponse pr=crm.newRequest(p_r,45000); System.out.println("Respuesta "+pr.toString()); PCEPRequest p_r2 = new PCEPRequest(); Request req_1 = createRequest("172.20.1.1", "172.20.1.2"); ObjectiveFunction of2=new ObjectiveFunction(); of2.setOFcode(1002); req_1.setObjectiveFunction(of2); Reservation rs2=new Reservation(); req_1.setReservation(rs2); float bw_1 = 50000000; BandwidthRequested bandwidth_1=new BandwidthRequested(); bandwidth_1.setBw(bw_1); req_1.setBandwidth(bandwidth_1); p_r2.addRequest(req_1); PCEPResponse pr_2=crm.newRequest(p_r2,45000); System.out.println("Respuesta "+pr_2.toString()); } if (command.equals("1")) { PCEPKeepalive p_ka= new PCEPKeepalive(); log.debug("Sending Keepalive message"); ps.sendPCEPMessage(p_ka); } if (command.equals("2")) { PCEPRequest p_r = new PCEPRequest(); Request req = new Request(); p_r.addRequest(req); RequestParameters rp= new RequestParameters(); rp.setPbit(true); req.setRequestParameters(rp); rp.setRequestID(PCCPCEPSession.getNewReqIDCounter()); System.out.println("Enter PCReq parameters: "); System.out.println(" - Priority: "); BufferedReader br2 = new BufferedReader(new InputStreamReader(System.in)); try { int prio = Integer.parseInt(br2.readLine()); rp.setPrio(prio); } catch (IOException ioe) { System.out.println("IO error trying to read parameter"); System.exit(1); } System.out.println(" - Reoptimization: "); //br2 = new BufferedReader(new InputStreamReader(System.in)); try { int reo = Integer.parseInt(br2.readLine()); rp.setReopt(reo==1); } catch (IOException ioe) { System.out.println("IO error trying to read parameter"); System.exit(1); } System.out.println(" - Bidirectional LSP: "); //br2 = new BufferedReader(new InputStreamReader(System.in)); try { int bi = Integer.parseInt(br2.readLine()); rp.setBidirect(bi==1); } catch (IOException ioe) { System.out.println("IO error trying to read parameter"); System.exit(1); } System.out.println(" - Strict/Loose (0/1): "); //br2 = new BufferedReader(new InputStreamReader(System.in)); try { int lo = Integer.parseInt(br2.readLine()); rp.setLoose(lo==1); } catch (IOException ioe) { System.out.println("IO error trying to read parameter"); System.exit(1); } // System.out.println(" - Request ID: "); // br2 = new BufferedReader(new InputStreamReader(System.in)); // try { // int lo = Integer.parseInt(br2.readLine()); // rp.setLoose(lo); // // } catch (IOException ioe) { // System.out.println("IO error trying to read parameter"); // System.exit(1); // } // params[4] = Integer.valueOf(param); EndPointsIPv4 ep=new EndPointsIPv4(); req.setEndPoints(ep); System.out.println(" - Source IP address: "); br2 = new BufferedReader(new InputStreamReader(System.in)); try { String ip= br2.readLine(); Inet4Address ipp=(Inet4Address)Inet4Address.getByName(ip); ep.setSourceIP(ipp); } catch (IOException ioe) { System.out.println("IO error trying to read parameter"); System.exit(1); } //params[5] = Integer.valueOf(param); System.out.println(" - Destination IP address: "); //br2 = new BufferedReader(new InputStreamReader(System.in)); try { String ip= br2.readLine(); Inet4Address ipp=(Inet4Address)Inet4Address.getByName(ip); ep.setDestIP(ipp); } catch (IOException ioe) { System.out.println("IO error trying to read parameter"); System.exit(1); } PCEPResponse pr=crm.newRequest(p_r); // if (ps.sendRequest(params)) { // System.out.println("Request sent OK"); // } System.out.println("Respuesta "+pr.toString()); } if (command.equals("33")) { PCEPRequest p_r = new PCEPRequest(); System.out.println(" Multiple Requests!!!!"); Request req = createRequest("172.16.103.101", "172.16.101.102"); Request req2 = createRequest("172.16.101.101", "172.16.101.102"); Request req3 = createRequest("172.16.101.101", "172.16.103.103"); Request req4 = createRequest("172.16.102.101", "172.16.103.104"); Request req5 = createRequest("172.16.103.101", "172.16.101.102"); Request req6 = createRequest("172.16.102.101", "172.16.101.102"); p_r.addRequest(req); p_r.addRequest(req2); p_r.addRequest(req3); p_r.addRequest(req4); p_r.addRequest(req5); p_r.addRequest(req6); PCEPResponse pr=crm.newRequest(p_r); System.out.println("Respuesta "+pr.toString()); } if (command.equals("34")) { PCEPRequest p_r = new PCEPRequest(); System.out.println(" Synchronized Request!"); Request req = createRequest("172.16.101.102", "172.16.102.104"); Request req2 = createRequest("172.16.101.102", "172.16.102.104"); SVECConstruct sveco=new SVECConstruct(); Svec svec=new Svec(); sveco.setSvec(svec); svec.setLDiverseBit(true); svec.addRequestID(req.getRequestParameters().getRequestID()); svec.addRequestID(req2.getRequestParameters().getRequestID()); p_r.addRequest(req); p_r.addRequest(req2); p_r.addSvec(sveco); PCEPResponse pr=crm.newRequest(p_r); System.out.println("Respuesta "+pr.toString()); } if (command.equals("36")) { PCEPRequest p_r = new PCEPRequest(); System.out.println(" Synchronized Request with OF=7!"); Request req = createRequest("172.16.101.102", "172.16.102.104"); Request req2 = createRequest("172.16.101.102", "172.16.102.104"); SVECConstruct sveco=new SVECConstruct(); ObjectiveFunction objectiveFunction=new ObjectiveFunction(); objectiveFunction.setOFcode(7); sveco.setObjectiveFunction(objectiveFunction); Svec svec=new Svec(); sveco.setSvec(svec); svec.setLDiverseBit(true); svec.addRequestID(req.getRequestParameters().getRequestID()); svec.addRequestID(req2.getRequestParameters().getRequestID()); p_r.addRequest(req); p_r.addRequest(req2); p_r.addSvec(sveco); PCEPResponse pr=crm.newRequest(p_r); System.out.println("Respuesta "+pr.toString()); } if (command.equals("35")) { PCEPRequest p_r = new PCEPRequest(); SVECConstruct sveco=new SVECConstruct(); System.out.println(" Synchronized Request very big!"); Request req = createRequest("172.16.101.102", "172.16.102.104"); Request req2 = createRequest("172.16.101.102", "172.16.102.104"); Request req3 = createRequest("172.16.101.102", "172.16.102.104"); Request req4 = createRequest("172.16.102.102", "172.16.102.104"); Request req5 = createRequest("172.16.101.102", "172.16.102.104"); Request req6 = createRequest("172.16.103.102", "172.16.102.102"); Request req7 = createRequest("172.16.101.102", "172.16.102.104"); Request req8 = createRequest("172.16.101.104", "172.16.102.103"); Request req9 = createRequest("172.16.101.102", "172.16.102.104"); Request req10 = createRequest("172.16.101.102", "172.16.102.104"); Svec svec=new Svec(); sveco.setSvec(svec); svec.setLDiverseBit(true); svec.addRequestID(req.getRequestParameters().getRequestID()); svec.addRequestID(req2.getRequestParameters().getRequestID()); svec.addRequestID(req3.getRequestParameters().getRequestID()); svec.addRequestID(req4.getRequestParameters().getRequestID()); svec.addRequestID(req5.getRequestParameters().getRequestID()); svec.addRequestID(req6.getRequestParameters().getRequestID()); svec.addRequestID(req7.getRequestParameters().getRequestID()); svec.addRequestID(req8.getRequestParameters().getRequestID()); svec.addRequestID(req9.getRequestParameters().getRequestID()); svec.addRequestID(req10.getRequestParameters().getRequestID()); p_r.addRequest(req); p_r.addRequest(req2); p_r.addRequest(req3); p_r.addRequest(req4); p_r.addRequest(req5); p_r.addRequest(req6); p_r.addRequest(req7); p_r.addRequest(req8); p_r.addRequest(req9); p_r.addRequest(req10); p_r.addSvec(sveco); PCEPResponse pr=crm.newRequest(p_r); System.out.println("Respuesta "+pr.toString()); } if (command.equals("3")) { System.out.println(" Single Request!"); PCEPRequest p_r = new PCEPRequest(); Request req = createRequest("172.16.101.101", "172.16.103.103"); p_r.addRequest(req); PCEPResponse pr=crm.newRequest(p_r); System.out.println("Respuesta "+pr.toString()); } ////////////////////////////////////// ////////////////////////////////////////////// if (command.equals("3333")) { System.out.println(" Single Request!"); PCEPRequest p_r = new PCEPRequest(); Request req = createRequest("1.1.1.1", "127.16.101.102"); p_r.addRequest(req); PCEPResponse pr=crm.newRequest(p_r); System.out.println("Respuesta "+pr.toString()); } if (command.equals("32")) { System.out.println(" Single Request!"); PCEPRequest p_r = new PCEPRequest(); Request req = createRequest("1.1.1.1", "127.16.101.102"); ObjectiveFunction of=new ObjectiveFunction(); of.setOFcode(5); req.setObjectiveFunction(of); p_r.addRequest(req); PCEPResponse pr=crm.newRequest(p_r); System.out.println("Respuesta "+pr.toString()); } if (command.equals("322")) { System.out.println(" Single Request with OF =5 and OF bit = 1!"); PCEPRequest p_r = new PCEPRequest(); Request req = createRequest("1.1.1.1", "127.16.101.102"); //req.getRequestParameters().s ObjectiveFunction of=new ObjectiveFunction(); of.setOFcode(5); of.setPbit(true); req.setObjectiveFunction(of); p_r.addRequest(req); PCEPResponse pr=crm.newRequest(p_r); System.out.println("Respuesta "+pr.toString()); } if (command.equals("323")) { System.out.println(" Single Request with OF =10 and OF bit = 1!"); PCEPRequest p_r = new PCEPRequest(); Request req = createRequest("172.16.101.101", "172.16.102.104"); //req.getRequestParameters().s ObjectiveFunction of=new ObjectiveFunction(); of.setOFcode(10); of.setPbit(true); req.setObjectiveFunction(of); p_r.addRequest(req); PCEPResponse pr=crm.newRequest(p_r); System.out.println("Respuesta "+pr.toString()); } if (command.equals("324")) { System.out.println(" Single Request with OF =10 and OF bit = 1!"); PCEPRequest p_r = new PCEPRequest(); Request req = createRequest("172.16.102.101", "172.16.103.103"); //req.getRequestParameters().s ObjectiveFunction of=new ObjectiveFunction(); of.setOFcode(10); of.setPbit(true); req.setObjectiveFunction(of); p_r.addRequest(req); PCEPResponse pr=crm.newRequest(p_r); System.out.println("Respuesta "+pr.toString()); } if (command.equals("31")) { System.out.println(" Single Request with Metric!"); PCEPRequest p_r = new PCEPRequest(); Request req = createRequest("172.16.101.102", "172.16.102.102"); Metric metric=new Metric(); metric.setMetricType(3); metric.setMetricValue(0); metric.setBoundBit(false); req.getMetricList().add(metric); p_r.addRequest(req); PCEPResponse pr=crm.newRequest(p_r); System.out.println("Respuesta "+pr.toString()); } if (command.equals("4")) { //System.out.println("Error Reason:"); PCEPError perr=new PCEPError(); //LinkedList<ErrorConstruct> errlist= new LinkedList<ErrorConstruct> LinkedList<PCEPErrorObject> errobjlist=new LinkedList<PCEPErrorObject>(); PCEPErrorObject perrobj =new PCEPErrorObject(); System.out.println("errorType: "); BufferedReader br2 = new BufferedReader(new InputStreamReader(System.in)); try { int errorType = Integer.parseInt(br2.readLine()); perrobj.setErrorType(errorType); } catch (IOException ioe) { System.out.println("IO error trying to read parameter"); System.exit(1); } System.out.println("errorValue: "); try { int errorValue = Integer.parseInt(br2.readLine()); perrobj.setErrorValue(errorValue); } catch (IOException ioe) { System.out.println("IO error trying to read parameter"); System.exit(1); } errobjlist.add(perrobj); perr.setErrorObjList(errobjlist); } if (command.equals("5")) { ps.close(ObjectParameters.REASON_NOEXPLANATION); //end = true; } if (command.equals("6")) { ps.close(ObjectParameters.REASON_NOEXPLANATION); //end = true; } if (command.equals("7")) { try{ ps.close(ObjectParameters.REASON_NOEXPLANATION); } catch (Exception e){ } System.out.println("Have a nice day!"); System.exit(1); //end = true; } if (command.equals("8")) { PCEPRequest p_r = new PCEPRequest(); Request req = new Request(); p_r.addRequest(req); RequestParameters rp= new RequestParameters(); rp.setPbit(true); req.setRequestParameters(rp); rp.setRequestID(PCCPCEPSession.getNewReqIDCounter()); System.out.println("Creating test Request"); int prio = 1;; rp.setPrio(prio); boolean reo = false; rp.setReopt(reo); boolean bi = false; rp.setBidirect(bi); boolean lo = false; rp.setLoose(lo); EndPointIPv4TLV sourceIPv4TLV=new EndPointIPv4TLV(); EndPointIPv4TLV destIPv4TLV=new EndPointIPv4TLV(); System.out.println(" - Source IP address: 1.1.1.1"); Inet4Address sourceIPP; try { sourceIPP = (Inet4Address)Inet4Address.getByName ("1.1.1.1"); sourceIPv4TLV.setIPv4address(sourceIPP); } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println(" - Destination IP address: 172.16.101.102"); Inet4Address destIPP; try { destIPP = (Inet4Address)Inet4Address.getByName ("172.16.101.102"); destIPv4TLV.setIPv4address(destIPP); } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } EndPoint sourceEP=new EndPoint(); EndPoint destEP=new EndPoint(); sourceEP.setEndPointIPv4TLV(sourceIPv4TLV); destEP.setEndPointIPv4TLV(destIPv4TLV); P2PEndpoints p2pep=new P2PEndpoints(); p2pep.setSourceEndpoint(sourceEP); p2pep.setDestinationEndPoints(destEP); GeneralizedEndPoints gep=new GeneralizedEndPoints(); gep.setP2PEndpoints(p2pep); //EndPointsIPv4 ep=new EndPointsIPv4(); req.setEndPoints(gep); PCEPResponse pr=crm.newRequest(p_r); } if (command.equals("381")) { System.out.println(" Single Request with OF =1002 and OF bit = 1, from 172.16.102.101 to 172.16.102.106"); PCEPRequest p_r = new PCEPRequest(); Request req = createRequest("172.16.102.101", "172.16.102.106"); //req.getRequestParameters().s ObjectiveFunction of=new ObjectiveFunction(); of.setOFcode(1002); of.setPbit(true); req.setObjectiveFunction(of); p_r.addRequest(req); BandwidthRequestedGeneralizedBandwidth gw = new BandwidthRequestedGeneralizedBandwidth(); GeneralizedBandwidthSSON gwsson = new GeneralizedBandwidthSSON(); gwsson.setM(2); gw.setGeneralizedBandwidth(gwsson); req.setBandwidth(gw); System.out.println("Peticion "+req.toString()); PCEPResponse pr=crm.newRequest(p_r); System.out.println("Respuesta "+pr.toString()); } if (command.equals("3811")) { System.out.println(" Single Request with OF =1002 and OF bit = 1, from 172.16.102.101 to 172.16.102.106"); String src_ip= "172.16.102.101"; String dst_ip= "172.16.102.106"; PCEPRequest p_r = new PCEPRequest(); Request req = new Request(); RequestParameters rp= new RequestParameters(); rp.setPbit(true); req.setRequestParameters(rp); rp.setRequestID(PCCPCEPSession.getNewReqIDCounter()); System.out.println("Creating test Request"); int prio = 1;; rp.setPrio(prio); boolean reo = false; rp.setReopt(reo); boolean bi = false; rp.setBidirect(bi); boolean lo = false; rp.setLoose(lo); GeneralizedEndPoints ep=new GeneralizedEndPoints(); P2PEndpoints p2pEndpoints = new P2PEndpoints(); EndPoint sourceEndPoint = new EndPoint(); //sourceEndPoint.setEndPointIPv4TLV(ipv4tlv); p2pEndpoints.setSourceEndpoint(sourceEndPoint); //p2pEndpoints.setDestinationEndPoints(destinationEndPoint); ep.setP2PEndpoints(p2pEndpoints); EndPointsIPv4 ep2=new EndPointsIPv4(); req.setEndPoints(ep); //String src_ip= "1.1.1.1"; Inet4Address ipp; try { ipp = (Inet4Address)Inet4Address.getByName(src_ip); ep2.setSourceIP(ipp); } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println(" - Destination IP address: "); //br2 = new BufferedReader(new InputStreamReader(System.in)); //String dst_ip="172.16.101.101"; Inet4Address i_d; try { i_d = (Inet4Address)Inet4Address.getByName(dst_ip); ep2.setDestIP(i_d); } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } //req.getRequestParameters().s ObjectiveFunction of=new ObjectiveFunction(); of.setOFcode(1002); of.setPbit(true); req.setObjectiveFunction(of); p_r.addRequest(req); BandwidthRequestedGeneralizedBandwidth gw = new BandwidthRequestedGeneralizedBandwidth(); GeneralizedBandwidthSSON gwsson = new GeneralizedBandwidthSSON(); gwsson.setM(2); gw.setGeneralizedBandwidth(gwsson); req.setBandwidth(gw); System.out.println("Peticion "+req.toString()); PCEPResponse pr=crm.newRequest(p_r); System.out.println("Respuesta "+pr.toString()); } if (command.equals("382")) { PCEPRequest p_r = new PCEPRequest(); Request req = new Request(); p_r.addRequest(req); RequestParameters rp= new RequestParameters(); rp.setPbit(true); req.setRequestParameters(rp); rp.setRequestID(PCCPCEPSession.getNewReqIDCounter()); System.out.println("Creating test Request for IDEALIST"); int prio = 1;; rp.setPrio(prio); boolean reo = false; rp.setReopt(reo); boolean bi = false; rp.setBidirect(bi); boolean lo = false; rp.setLoose(lo); EndPointIPv4TLV sourceIPv4TLV=new EndPointIPv4TLV(); EndPointIPv4TLV destIPv4TLV=new EndPointIPv4TLV(); System.out.println(" - Source IP address: 1.1.1.1"); Inet4Address sourceIPP; try { sourceIPP = (Inet4Address)Inet4Address.getByName ("1.1.1.1"); sourceIPv4TLV.setIPv4address(sourceIPP); } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println(" - Destination IP address: 172.16.101.102"); Inet4Address destIPP; try { destIPP = (Inet4Address)Inet4Address.getByName ("172.16.101.102"); destIPv4TLV.setIPv4address(destIPP); } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } EndPoint sourceEP=new EndPoint(); EndPoint destEP=new EndPoint(); sourceEP.setEndPointIPv4TLV(sourceIPv4TLV); destEP.setEndPointIPv4TLV(destIPv4TLV); P2PEndpoints p2pep=new P2PEndpoints(); p2pep.setSourceEndpoint(sourceEP); p2pep.setDestinationEndPoints(destEP); GeneralizedEndPoints gep=new GeneralizedEndPoints(); gep.setP2PEndpoints(p2pep); //EndPointsIPv4 ep=new EndPointsIPv4(); req.setEndPoints(gep); PCEPResponse pr=crm.newRequest(p_r); } if (command.equals("88")) { PCEPRequest p_r = new PCEPRequest(); Request req = new Request(); p_r.addRequest(req); RequestParameters rp= new RequestParameters(); rp.setPbit(true); req.setRequestParameters(rp); rp.setRequestID(PCCPCEPSession.getNewReqIDCounter()); System.out.println("Creating test Request"); int prio = 1;; rp.setPrio(prio); boolean reo = false; rp.setReopt(reo); boolean bi = false; rp.setBidirect(bi); boolean lo = false; rp.setLoose(lo); EndPointIPv4TLV sourceIPv4TLV=new EndPointIPv4TLV(); EndPointIPv4TLV destIPv4TLV=new EndPointIPv4TLV(); System.out.println(" - Source IP address: 1.1.1.1"); Inet4Address sourceIPP; try { sourceIPP = (Inet4Address)Inet4Address.getByName ("1.1.1.1"); sourceIPv4TLV.setIPv4address(sourceIPP); } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println(" - Destination IP address: 172.16.101.102"); Inet4Address destIPP; try { destIPP = (Inet4Address)Inet4Address.getByName ("172.16.101.102"); destIPv4TLV.setIPv4address(destIPP); } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } EndPoint sourceEP=new EndPoint(); EndPoint destEP=new EndPoint(); sourceEP.setEndPointIPv4TLV(sourceIPv4TLV); destEP.setEndPointIPv4TLV(destIPv4TLV); P2PEndpoints p2pep=new P2PEndpoints(); p2pep.setSourceEndpoint(sourceEP); p2pep.setDestinationEndPoints(destEP); GeneralizedEndPoints gep=new GeneralizedEndPoints(); gep.setP2PEndpoints(p2pep); //EndPointsIPv4 ep=new EndPointsIPv4(); req.setEndPoints(gep); PCEPResponse pr=crm.newRequest(p_r); } if (command.equals("37")) { PCEPRequest p_r = new PCEPRequest(); Request req = new Request(); p_r.addRequest(req); RequestParameters rp= new RequestParameters(); rp.setPbit(true); req.setRequestParameters(rp); rp.setRequestID(PCCPCEPSession.getNewReqIDCounter()); System.out.println("Creating test Request to UPC"); int prio = 1;; rp.setPrio(prio); boolean reo = false; rp.setReopt(reo); boolean bi = false; rp.setBidirect(bi); boolean lo = false; rp.setLoose(lo); System.out.println(" - Source IP address: 10.10.0.1"); Inet4Address sourceIPP; P2MPEndPointsIPv4 p2mp=new P2MPEndPointsIPv4(); req.setEndPoints(p2mp); try { sourceIPP = (Inet4Address)Inet4Address.getByName ("10.10.0.1"); p2mp.setSourceIP(sourceIPP); } catch (UnknownHostException e) { e.printStackTrace(); } System.out.println(" - Destination IP address 1: 10.10.0.2, 10.10.0.3, 10.10.0.4"); Inet4Address destIPP1,destIPP2,destIPP3; try { destIPP1 = (Inet4Address)Inet4Address.getByName ("10.10.0.2"); p2mp.setLeafType(1); LinkedList<Inet4Address> destIPList= new LinkedList<Inet4Address>(); destIPList.add(destIPP1); destIPP2 = (Inet4Address)Inet4Address.getByName ("10.10.0.3"); destIPList.add(destIPP2); destIPP3 = (Inet4Address)Inet4Address.getByName ("10.10.0.4"); destIPList.add(destIPP3); p2mp.setDestIPList(destIPList); } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println(" ADD svec"); Svec svec = new Svec(); svec.addRequestID(rp.getRequestID()); SVECConstruct sc = new SVECConstruct(); sc.setSvec(svec); ObjectiveFunction of1=new ObjectiveFunction(); of1.setOFcode(41); ObjectiveFunction of2=new ObjectiveFunction(); of2.setOFcode(42); sc.getObjectiveFunctionList().add(of1); sc.getObjectiveFunctionList().add(of2); BandwidthTLV bwTLV = new BandwidthTLV(); float bw=(float) 400.0; bwTLV.setBw(bw); //of2.s setBwTLV(bwTLV); p_r.addSvec(sc); InterLayer il =new InterLayer(); il.setIFlag(true); SwitchLayer sl = new SwitchLayer(); SwitchEncodingType sw1 = new SwitchEncodingType(); sw1.setLSPEncodingType(2); sw1.setSwitchingType(51); sw1.setIflag(true); SwitchEncodingType sw2 = new SwitchEncodingType(); sw2.setLSPEncodingType(8); sw2.setSwitchingType(150); sw2.setIflag(true); sl.getSwitchLayers().add(sw1); sl.getSwitchLayers().add(sw2); req.setInterLayer(il); req.setSwitchLayer(sl); BandwidthRequested bww= new BandwidthRequested(); float bw_pmp=(float) 100.0; bww.setBw(bw_pmp); req.setBandwidth(bww); try { PCEPResponse pr=crm.newRequest(p_r); } catch (Exception e){ e.printStackTrace(); } } } } public Request createRequest(String src_ip, String dst_ip){ Request req = new Request(); RequestParameters rp= new RequestParameters(); rp.setPbit(true); req.setRequestParameters(rp); rp.setRequestID(PCCPCEPSession.getNewReqIDCounter()); System.out.println("Creating test Request"); int prio = 1;; rp.setPrio(prio); boolean reo = false; rp.setReopt(reo); boolean bi = false; rp.setBidirect(bi); boolean lo = false; rp.setLoose(lo); EndPointsIPv4 ep=new EndPointsIPv4(); req.setEndPoints(ep); //String src_ip= "1.1.1.1"; Inet4Address ipp; try { ipp = (Inet4Address)Inet4Address.getByName(src_ip); ep.setSourceIP(ipp); } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println(" - Destination IP address: "); //br2 = new BufferedReader(new InputStreamReader(System.in)); //String dst_ip="172.16.101.101"; Inet4Address i_d; try { i_d = (Inet4Address)Inet4Address.getByName(dst_ip); ep.setDestIP(i_d); } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } return req; } }