X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fadsal%2Fsal%2Fapi%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fpacket%2FEthernetTest.java;fp=opendaylight%2Fadsal%2Fsal%2Fapi%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fpacket%2FEthernetTest.java;h=494dd2abf28c0d0e660debeb6a9936c3c752315a;hb=42c32160bfd41de57189bb246fec5ffb48ed8e9e;hp=0000000000000000000000000000000000000000;hpb=edf5bfcee83c750853253ccfd991ba7000f5f65b;p=controller.git diff --git a/opendaylight/adsal/sal/api/src/test/java/org/opendaylight/controller/sal/packet/EthernetTest.java b/opendaylight/adsal/sal/api/src/test/java/org/opendaylight/controller/sal/packet/EthernetTest.java new file mode 100644 index 0000000000..494dd2abf2 --- /dev/null +++ b/opendaylight/adsal/sal/api/src/test/java/org/opendaylight/controller/sal/packet/EthernetTest.java @@ -0,0 +1,121 @@ + +/* + * Copyright (c) 2013-2014 Cisco Systems, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ + +package org.opendaylight.controller.sal.packet; + +import java.util.Arrays; + +import junit.framework.Assert; + +import org.junit.Test; +import org.opendaylight.controller.sal.match.Match; +import org.opendaylight.controller.sal.match.MatchType; +import org.opendaylight.controller.sal.utils.EtherTypes; + +public class EthernetTest { + + @Test + public void testGetDestinationMACAddress() { + Ethernet eth = new Ethernet(); + byte mac[] = { 10, 12, 14, 20, 55, 69 }; + eth.hdrFieldsMap.put("DestinationMACAddress", mac); + byte[] dMAC = eth.getDestinationMACAddress(); + Assert.assertTrue(dMAC[0] == 10); + Assert.assertTrue(dMAC[1] == 12); + Assert.assertTrue(dMAC[2] == 14); + Assert.assertTrue(dMAC[3] == 20); + Assert.assertTrue(dMAC[4] == 55); + Assert.assertTrue(dMAC[5] == 69); + + } + + @Test + public void testSourceMACAddress() { + Ethernet eth = new Ethernet(); + byte mac[] = { 120, 30, 25, 80, 66, 99 }; + eth.hdrFieldsMap.put("SourceMACAddress", mac); + byte[] sMAC = eth.getSourceMACAddress(); + Assert.assertTrue(sMAC[0] == 120); + Assert.assertTrue(sMAC[1] == 30); + Assert.assertTrue(sMAC[2] == 25); + Assert.assertTrue(sMAC[3] == 80); + Assert.assertTrue(sMAC[4] == 66); + Assert.assertTrue(sMAC[5] == 99); + + } + + @Test + public void testGetEthertype() throws Exception { + Ethernet eth = new Ethernet(); + byte ethType[] = { 8, 6 }; + eth.hdrFieldsMap.put("EtherType", ethType); + short etherType = eth.getEtherType(); + Assert.assertTrue(etherType == 2054); + } + + @Test + public void testSetDestinationMACAddress() { + Ethernet eth = new Ethernet(); + byte mac[] = { 10, 12, 14, 20, 55, 69 }; + eth.setDestinationMACAddress(mac); + byte[] dMAC = eth.hdrFieldsMap.get("DestinationMACAddress"); + Assert.assertTrue(dMAC[0] == 10); + Assert.assertTrue(dMAC[1] == 12); + Assert.assertTrue(dMAC[2] == 14); + Assert.assertTrue(dMAC[3] == 20); + Assert.assertTrue(dMAC[4] == 55); + Assert.assertTrue(dMAC[5] == 69); + + } + + @Test + public void testSetSourceMACAddress() { + Ethernet eth = new Ethernet(); + byte mac[] = { 120, 30, 25, 80, 66, 99 }; + eth.setSourceMACAddress(mac); + byte[] sMAC = eth.hdrFieldsMap.get("SourceMACAddress"); + Assert.assertTrue(sMAC[0] == 120); + Assert.assertTrue(sMAC[1] == 30); + Assert.assertTrue(sMAC[2] == 25); + Assert.assertTrue(sMAC[3] == 80); + Assert.assertTrue(sMAC[4] == 66); + Assert.assertTrue(sMAC[5] == 99); + + } + + @Test + public void testSetEthertype() throws Exception { + Ethernet eth = new Ethernet(); + short ethType = 2054; + eth.setEtherType(ethType); + byte[] etherType = eth.hdrFieldsMap.get("EtherType"); + Assert.assertTrue(etherType[0] == 8); + Assert.assertTrue(etherType[1] == 6); + + } + + @Test + public void testGetMatch() throws Exception { + Ethernet eth = new Ethernet(); + byte smac[] = { (byte) 0xf0, (byte) 0xde, (byte) 0xf1, (byte) 0x71, (byte) 0x72, (byte) 0x8d }; + byte dmac[] = { (byte) 0xde, (byte) 0x28, (byte) 0xdb, (byte) 0xb3, (byte) 0x7c, (byte) 0xf8 }; + short ethType = EtherTypes.IPv4.shortValue(); + eth.setDestinationMACAddress(dmac); + eth.setSourceMACAddress(smac); + eth.setEtherType(ethType); + + Match match = eth.getMatch(); + + Assert.assertTrue(Arrays.equals(smac, (byte[]) match.getField(MatchType.DL_SRC).getValue())); + Assert.assertTrue(Arrays.equals(dmac, (byte[]) match.getField(MatchType.DL_DST).getValue())); + Assert.assertEquals(ethType, (short) match.getField(MatchType.DL_TYPE).getValue()); + + } + +}