+++ /dev/null
-package org.opendaylight.controller.protocol_plugin.openflow.vendorextension.v6extension;
-
-import static org.junit.Assert.fail;
-
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-import org.junit.Assert;
-import org.junit.Test;
-import org.opendaylight.controller.protocol_plugin.openflow.vendorextension.v6extension.V6Match;
-import org.openflow.protocol.OFMatch;
-
-public class V6ExtensionTest {
-
- /*
- @Test
- public void testFromString() throws UnknownHostException {
-
- // This tests creating V6Match using fromString and OFMatch by comparing
- // the results to each other
- V6Match match = new V6Match();
- V6Match match2 = new V6Match();
-
- OFMatch ofm = new OFMatch();
- V6Match match4 = new V6Match(ofm);
-
- match.fromString("");
- Assert.assertTrue(match.equals(match2));
- match.fromString("any");
- Assert.assertTrue(match.equals(match2));
- Assert.assertTrue(match.equals(match4));
- try {
- match.fromString("invalidArgument");
-
- fail("Did not throw IllegalArgumentException");
- } catch (IllegalArgumentException e) {
- // passed test for throwing exception.
- }
- try {
- match.fromString("invalidParameter=abcdefg");
- fail("Did not throw IllegalArgumentException");
- } catch (IllegalArgumentException e) {
- // passed test for throwing exception.
- }
-
- match.fromString("input_port=1");
- match.fromString("dl_dst=20:A0:11:10:00:99");
- match.fromString("dl_src=00:10:08:22:12:75");
-
- match.fromString("ip_src=10.1.1.1");
- match.fromString("ip_dst=1.2.3.4");
- match.fromString("eth_type=0x800");
- match.fromString("dl_vlan=10");
- match.fromString("dl_vpcp=1");
- match.fromString("nw_proto=6");
- match.fromString("nw_tos=100");
- match.fromString("tp_dst=8080");
- match.fromString("tp_src=60");
-
- Assert.assertTrue(match.getInputPort() == 1);
- // Assert.assertTrue(match.getIPv6MatchLen()==6);
-
- ofm.setInputPort((short) 1);
- // V6Match is meant for IPv6, but if using OFMatch, it will be set to
- // IPv4 values, as OF1.0 doesn't support IPv6.
- InetAddress addr = InetAddress.getByName("10.1.1.1");
- int ipsrc = ByteBuffer.wrap(addr.getAddress()).getInt();
- ofm.setNetworkSource(ipsrc);
-
- addr = InetAddress.getByName("1.2.3.4");
- int ipdst = ByteBuffer.wrap(addr.getAddress()).getInt();
- ofm.setNetworkDestination(ipdst);
-
- byte[] macSrc = { 0x00, 0x10, 0x08, 0x22, 0x12, 0x75 };
- ofm.setDataLayerSource(macSrc);
- byte[] macDst = { 0x20, (byte) 0xA0, 0x11, 0x10, 0x00, (byte) 0x99 };
- ofm.setDataLayerDestination(macDst);
- ofm.setDataLayerType((short) 0x800);
- ofm.setDataLayerVirtualLan((short) 10);
- ofm.setDataLayerVirtualLanPriorityCodePoint((byte) 1);
- ofm.setNetworkProtocol((byte) 6);
- ofm.setNetworkTypeOfService((byte) 100);
- ofm.setTransportSource((short) 60);
- ofm.setTransportDestination((short) 8080);
-
- V6Match match3 = new V6Match(ofm);
-
- Assert.assertTrue(match.getInputPort() == match3.getInputPort());
- Assert.assertTrue(Arrays.equals(match.getDataLayerSource(),
- match3.getDataLayerSource()));
- Assert.assertTrue(Arrays.equals(match.getDataLayerDestination(),
- match3.getDataLayerDestination()));
- Assert.assertTrue(match.getNetworkSrc().equals(match3.getNetworkSrc()));
- Assert.assertTrue(match.getNetworkDest()
- .equals(match3.getNetworkDest()));
- Assert.assertTrue(match.getDataLayerVirtualLan() == match3
- .getDataLayerVirtualLan());
- Assert.assertTrue(match.getDataLayerVirtualLanPriorityCodePoint() == match3
- .getDataLayerVirtualLanPriorityCodePoint());
- Assert.assertTrue(match.getNetworkProtocol() == match3
- .getNetworkProtocol());
- Assert.assertTrue(match.getNetworkTypeOfService() == match3
- .getNetworkTypeOfService());
- Assert.assertTrue(match.getTransportSource() == match3
- .getTransportSource());
- Assert.assertTrue(match.getTransportDestination() == match3
- .getTransportDestination());
- Assert.assertTrue(match.getWildcards() == match3.getWildcards());
-
- }
-
- @Test
- public void testReadWriteBuffer() {
- V6Match match = new V6Match();
- match.fromString("input_port=1");
- match.fromString("dl_dst=20:A0:11:10:00:99");
- match.fromString("dl_src=00:10:08:22:12:75");
- // writeTo(ByteBuffer) will only write IPv6
- match.fromString("ip_src=2001:ddd:3e1:1234:0000:1111:2222:3333/64");
- match.fromString("ip_dst=2001:123:222:abc:111:aaa:1111:2222/64");
- match.fromString("dl_vlan=10");
- match.fromString("nw_proto=6");
- match.fromString("nw_tos=100");
- match.fromString("tp_dst=8080");
- match.fromString("tp_src=60");
- match.fromString("dl_type=0x800");
-
- ByteBuffer data = ByteBuffer.allocateDirect(10000);
- match.writeTo(data);
- data.flip();
- V6Match match2 = new V6Match();
- match2.readFrom(data);
- Assert.assertTrue(match.getInputPort() == match2.getInputPort());
- Assert.assertTrue(Arrays.equals(match.getDataLayerSource(),
- match2.getDataLayerSource()));
- Assert.assertTrue(Arrays.equals(match.getDataLayerDestination(),
- match2.getDataLayerDestination()));
-
- Assert.assertTrue(match.getNetworkSrc().equals(match2.getNetworkSrc()));
- Assert.assertTrue(match.getNetworkDest()
- .equals(match2.getNetworkDest()));
-
- Assert.assertTrue(match.getDataLayerVirtualLan() == match2
- .getDataLayerVirtualLan());
- // vlan pcp isn't part of write/read buffer
- Assert.assertTrue(match.getNetworkProtocol() == match2
- .getNetworkProtocol());
- Assert.assertTrue(match.getNetworkTypeOfService() == match2
- .getNetworkTypeOfService());
- Assert.assertTrue(match.getTransportSource() == match2
- .getTransportSource());
- Assert.assertTrue(match.getTransportDestination() == match2
- .getTransportDestination());
-
- }
-
- @Test
- public void testClone() {
- V6Match match = new V6Match();
- match.fromString("input_port=1");
- match.fromString("dl_dst=20:A0:11:10:00:99");
- match.fromString("dl_src=00:10:08:22:12:75");
- match.fromString("ip_src=2001:ddd:3e1:1234:0000:1111:2222:3333/64");
- match.fromString("ip_dst=2001:123:222:abc:111:aaa:1111:2222/64");
- match.fromString("dl_vlan=10");
- match.fromString("dl_vpcp=1");
- match.fromString("nw_proto=6");
- match.fromString("nw_tos=100");
- match.fromString("tp_dst=8080");
- match.fromString("tp_src=60");
- match.fromString("dl_type=0x800");
-
- V6Match match2 = match.clone();
- Assert.assertTrue(match.getInputPort() == match2.getInputPort());
- Assert.assertTrue(Arrays.equals(match.getDataLayerSource(),
- match2.getDataLayerSource()));
- Assert.assertTrue(Arrays.equals(match.getDataLayerDestination(),
- match2.getDataLayerDestination()));
- Assert.assertTrue(match.getNetworkSrc().equals(match2.getNetworkSrc()));
- Assert.assertTrue(match.getNetworkDest()
- .equals(match2.getNetworkDest()));
- Assert.assertTrue(match.getDataLayerVirtualLan() == match2
- .getDataLayerVirtualLan());
- Assert.assertTrue(match.getDataLayerVirtualLanPriorityCodePoint() == match2
- .getDataLayerVirtualLanPriorityCodePoint());
- Assert.assertTrue(match.getNetworkProtocol() == match2
- .getNetworkProtocol());
- Assert.assertTrue(match.getNetworkTypeOfService() == match2
- .getNetworkTypeOfService());
- Assert.assertTrue(match.getTransportSource() == match2
- .getTransportSource());
- Assert.assertTrue(match.getTransportDestination() == match2
- .getTransportDestination());
- Assert.assertTrue(match.getWildcards() == match2.getWildcards());
- }
-
- @Test
- public void testPadding() {
- // testing that matchlen+pad keeps the 8byte alignment
- V6Match match = new V6Match();
-
- match.fromString("input_port=1");
- Assert.assertTrue((match.getPadSize() + match.getIPv6MatchLen()) % 8 == 0);
- match.fromString("dl_dst=20:A0:11:10:00:99");
- match.fromString("dl_src=00:10:08:22:12:75");
- Assert.assertTrue((match.getPadSize() + match.getIPv6MatchLen()) % 8 == 0);
- match.fromString("ip_src=2001:ddd:3e1:1234:0000:1111:2222:3333");
- Assert.assertTrue((match.getPadSize() + match.getIPv6MatchLen()) % 8 == 0);
- match.fromString("ip_dst=2001:123:222:abc:111:aaa:1111:2222");
- Assert.assertTrue((match.getPadSize() + match.getIPv6MatchLen()) % 8 == 0);
- match.fromString("dl_vlan=10");
- match.fromString("dl_vpcp=1");
- match.fromString("nw_proto=6");
- Assert.assertTrue((match.getPadSize() + match.getIPv6MatchLen()) % 8 == 0);
- match.fromString("nw_tos=100");
- match.fromString("tp_dst=8080");
- Assert.assertTrue((match.getPadSize() + match.getIPv6MatchLen()) % 8 == 0);
- match.fromString("tp_src=60");
- Assert.assertTrue((match.getPadSize() + match.getIPv6MatchLen()) % 8 == 0);
- }
- */
-
-}