> 1. openflow 1.3 버전 관련
> openflow 1.3 버전을 사용하기 위하여 etri.sdn.controller.protocol.OFProtocol.java 에
> 322번째 줄 " this.helloFailedSwitches.add( peer.getHostString() );" 주석처리하였습니다.
> 주석처리 하기 전에 switch에서 hello 메시지에 1.3버전을 담아 보내더라도 컨트롤러 쪽에서 1.0버전을 담은 메시지를
> 보내기 때문에 주석처리하였는데 openflow 1.3 버전을 사용하기 위한 조치가 맞는지요?
그 부분은 controller에서 1.3 hello를 보내는데 스위치에서 이해하지 못하는 경우를 처리하기 위한 것입니다.
기존에 있는대로 두시면 됩니다. :-)
>
> 2. BasicOFController 관련
> documentation에 있는대로 torpedo.properties에 위 컨트롤러만 run을 true로 하고 나머지는 모두
> false로 하였고 mongodb도 적절히 설정하였습니다.
> packet_in_pipeline에 있는 부분들이 실행이 안되는 것 같습니다. 문서와 코드를 이해한 바로는 다음과 같이 작동하여야
> 할 것 같은데요.
> 컨트롤러로 들어온 패킷은 pipeline에 등록된 모듈을 거치게 되고, 그러한 동작을 해주는 것이
> BasicOFController.java에 handlePacketIn이란 함수인데요.
> 그 함수가 전혀 호출이 되지 않습니다. ClientChannelWatcher.java에 있는 handleReadEvent만 호출될
> 뿐입니다.
혹시 master 버전을 가져오신 다음에 그대로 실행하신 것이 맞나요? master 버전은 저희가 시험을 거친 버전이라,
가져온 그 상태대로 실행하면 BasicOFController가 실행되도록 되어 있습니다. 어떤 스위치를 대상으로 실험하셨나요?
혹시 BasicOFController를 수정하신 다음에 IRIS를 다시 실행하신 것이라면,
BasicOFController.java를 다시 jar로 packaging하신 다음에 controllers/ 디렉터리 아래에
두셔야 합니다. 어떤 이름의 파일로 두셔야 하는지는 그 안을 보시면 아실 수 있습니다.
>
> 3. IRIS 컨트롤러 기본 동작 관련
> 2번 질문과 연관될 수도 있는 것 같은데요. 만일 pipeline에 아무런 모듈도 등록하지 않았다면 컨트롤러는 아무런 동작을 하지
> 않아야 하는데요. IRIS에서는 기본적으로 라우팅과 같은 일들을 해주고 있는 것 같습니다.
> 물론 그러한 부분은 소스로 공개되어 있지 않은 것 같습니다.
아무런 모듈도 등록하지 않았다면 아무런 동작도 하지 않습니다. 질문 내용으로 봐서는 BasicOFController를 수정하고
계신 것 같은데, 수정하셨다면 앞서 말씀드린 대로 jar를 다시 packaging하셨는지 확인하시기 바랍니다.
감사합니다.