IRIS 관련 몇 가지 질문입니다.

49 views
Skip to first unread message

lsh...@gmail.com

unread,
Aug 26, 2014, 11:20:37 AM8/26/14
to open...@googlegroups.com
안녕하세요. IRIS 컨트롤러를 공부하다가 몇 가지 질문 드립니다.

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 버전을 사용하기 위한 조치가 맞는지요?

2. BasicOFController 관련
    documentation에 있는대로 torpedo.properties에 위 컨트롤러만 run을 true로 하고 나머지는 모두 false로 하였고 mongodb도 적절히 설정하였습니다.
    packet_in_pipeline에 있는 부분들이 실행이 안되는 것 같습니다. 문서와 코드를 이해한 바로는 다음과 같이 작동하여야 할 것 같은데요.
    컨트롤러로 들어온 패킷은 pipeline에 등록된 모듈을 거치게 되고, 그러한 동작을 해주는 것이 BasicOFController.java에 handlePacketIn이란 함수인데요.
    그 함수가 전혀 호출이 되지 않습니다. ClientChannelWatcher.java에 있는 handleReadEvent만 호출될 뿐입니다.

3. IRIS 컨트롤러 기본 동작 관련
    2번 질문과 연관될 수도 있는 것 같은데요. 만일 pipeline에 아무런 모듈도 등록하지 않았다면 컨트롤러는 아무런 동작을 하지 않아야 하는데요. IRIS에서는 기본적으로 라우팅과 같은 일들을 해주고 있는 것 같습니다.
    물론 그러한 부분은 소스로 공개되어 있지 않은 것 같습니다.

제가 뭔가를 잘못 이해하고 있을 수도 있는 것 같습니다. 답변 부탁드리겠습니다.

감사합니다.

-임승헌 드림-


이병준

unread,
Aug 26, 2014, 8:07:05 PM8/26/14
to open...@googlegroups.com
> 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하셨는지 확인하시기 바랍니다.

감사합니다.

ihChung

unread,
Aug 31, 2014, 9:23:40 PM8/31/14
to open...@googlegroups.com
2번 문제와 관련해서, 만약 리눅스 환경이시라면, 설정파일 수정 시 true나 false 뒤에 공백이 들어가 있는지 확인해보시기 바랍니다.
공백 제거가 처리되지 않아 생기는 문제입니다. ("true " or "false " 등)
 

 

이병준

unread,
Sep 1, 2014, 5:18:30 AM9/1/14
to open...@googlegroups.com
그런 문제도 있는 줄은 몰랐네요.
관련된 문제를 해결할 방법이 있는지 찾아보도록 하겠습니다.
감사합니다.
> --
> You received this message because you are subscribed to the Google Groups
> "openiris" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to openiris+u...@googlegroups.com.
> Visit this group at http://groups.google.com/group/openiris.
> For more options, visit https://groups.google.com/d/optout.



--
Regards,
Byungjoon Lee
Reply all
Reply to author
Forward
0 new messages