opendaylight/Carbon을 사용 중이며 Genius 래퍼로 작업하려고합니다. 들어오는 패킷에 대한 MAC 주소 일치를 기반으로 스위치에 플로우를 설치하려고합니다. 설치하고자하는 명령은 "GOTO"명령입니다. 다음과 같이 진행합니다 :opendaylight : 스위치에 천재 설치 흐름
FlowEntityBuilder flowEntityBuilder = new FlowEntityBuilder();
flowEntityBuilder.setTableId(tableId)
.setDpnId(dpnId)
.setFlowId(FlowUtils.createFlowId().toString())
.setFlowName("gotoTable1");
MatchInfo matchInfo = new MatchEthernetSource(macAddress);
InstructionInfo instructionInfo = new InstructionGotoTable(tableId);
FlowEntity flowEntity = flowEntityBuilder.addInstructionInfoList(instructionInfo).addMatchInfoList(matchInfo).build();
mdsalApiManager.installFlow(dpnId,flowEntity);
의도는 흐름 실체를 만들고 IMDSalApiManager.installFlow 메소드를 사용하여 설치하는 것입니다.
java.lang.IllegalArgumentException: Node (urn:opendaylight:flow:inventory?revision=2013-08-19)ethernet-source is missing mandatory descendant /(urn:opendaylight:flow:inventory?revision=2013-08-19)address
어떤 도움 디버깅이 평가 될 것입니다 : 여기
는 내가 보는 예외입니다.
ovs 로그의 오류는 무엇입니까? 그렇지 않으면 컨트롤러와 ov 간의 패킷 전송을 캡처하여 오류를 확인할 수 있습니다. –
Node에 대한 null이 있으므로 오류가 있습니다. 흐름을 설치하려면 InstanceId를 사용해야했습니다. –
LostInTheFrequencyDomain