0
私はopendaylight(Carbon)を使用し、VSwitchを開きます。私は複数のGoToターゲットテーブルにパケットを送信したいアプリケーションをJavaで構築しています。次のコードは、私が指示を構築しています方法を示しています。opendaylight:単一のフロールールで複数のgoto命令
private static InstructionsBuilder createGoToNextTableInstruction(short idstable, short l2switchTable) {
// Create an instruction allowing the interaction.
List<Instruction> instructions = new ArrayList<Instruction>();
Instruction gotoIdsTableInstruction = new InstructionBuilder()
.setInstruction(new GoToTableCaseBuilder()
.setGoToTable(new GoToTableBuilder().setTableId(idstable).build()).build())
.setKey(new InstructionKey(getInstructionKey())).setOrder(0).build();
instructions.add(gotoIdsTableInstruction);
Instruction gotoL2SwitchInstruction = new InstructionBuilder()
.setInstruction(new GoToTableCaseBuilder()
.setGoToTable(new GoToTableBuilder().setTableId(l2switchTable).build()).build())
.setKey(new InstructionKey(getInstructionKey())).setOrder(1).build();
instructions.add(gotoL2SwitchInstruction);
InstructionsBuilder isb = new InstructionsBuilder();
isb.setInstruction(instructions);
return isb;
}
命令は次のようにフロールールを構築するために使用されています
flowBuilder.setMatch(match).setInstructions(isb.build()).setPriority(30)
.setBufferId(OFConstants.ANY).setHardTimeout(0).setIdleTimeout(0)
.setFlags(new FlowModFlags(false, false, false, false, false));
私は、アプリケーションを実行し、例外がスローされません。しかし、スイッチでフロールールをリストすると、フローは決してインストールされませんでした。単一のGoTo命令があるときにスイッチにフローを正常にインストールできますが、複数のGoTo命令があるときは正常にフローできます。
私の質問は以下のとおりです。
- は、オープンフローで許可し、すべてのOpenFlow対応スイッチでサポートされる複数の後藤目標を持っていますか?具体的には、openvswitchは複数のターゲットをサポートしていますか?
私は次のことを試してみました。ここで
sudo ovs-ofctl -O OpenFlow13 add-flow s1 table=0,in_port=2,actions=goto_table:1,goto_table:2
ovs-ofctl: instruction goto_table may be specified only once
は私のバージョンです:
ovs-ofctl --version
ovs-ofctl (Open vSwitch) 2.4.1
Compiled Sep 25 2016 21:59:05
OpenFlow versions 0x1:0x4
これはOVSバージョンの問題ですか?
- これはグループテーブルを使用する場所ですか?
ありがとうございます。
明らかにopenvswitchでは、複数のgotoターゲットを持つことはできません。どのようにこれをグループテーブルで行うことができますか? – LostInTheFrequencyDomain
これは役立つかもしれませんhttps://networkengineering.stackexchange.com/questions/38232/forwarding-to-multiple-output-ports-using-sdn 私は、グループには全くテーブルに出力することはできないと思います。 –