Committed by
Gerrit Code Review
Added symbolic names with the correct values for
PIM Address families IPv4 and IPv6 Change-Id: I8ae675fa1df052c4ef0b73b27449add534cc5c3c
Showing
4 changed files
with
34 additions
and
25 deletions
| ... | @@ -43,6 +43,9 @@ public class PIM extends BasePacket { | ... | @@ -43,6 +43,9 @@ public class PIM extends BasePacket { |
| 43 | 43 | ||
| 44 | public static final int PIM_HEADER_LEN = 4; | 44 | public static final int PIM_HEADER_LEN = 4; |
| 45 | 45 | ||
| 46 | + public static final byte ADDRESS_FAMILY_IP4 = 0x1; | ||
| 47 | + public static final byte ADDRESS_FAMILY_IP6 = 0x2; | ||
| 48 | + | ||
| 46 | public static final Map<Byte, Deserializer<? extends IPacket>> PROTOCOL_DESERIALIZER_MAP = | 49 | public static final Map<Byte, Deserializer<? extends IPacket>> PROTOCOL_DESERIALIZER_MAP = |
| 47 | new HashMap<>(); | 50 | new HashMap<>(); |
| 48 | 51 | ... | ... |
| ... | @@ -17,9 +17,11 @@ package org.onlab.packet.pim; | ... | @@ -17,9 +17,11 @@ package org.onlab.packet.pim; |
| 17 | 17 | ||
| 18 | import org.onlab.packet.DeserializationException; | 18 | import org.onlab.packet.DeserializationException; |
| 19 | import org.onlab.packet.Ip4Address; | 19 | import org.onlab.packet.Ip4Address; |
| 20 | +import org.onlab.packet.Ip6Address; | ||
| 20 | import org.onlab.packet.IpAddress; | 21 | import org.onlab.packet.IpAddress; |
| 21 | import org.onlab.packet.IpPrefix; | 22 | import org.onlab.packet.IpPrefix; |
| 22 | -import org.onlab.packet.Ip6Address; | 23 | +import org.onlab.packet.PIM; |
| 24 | + | ||
| 23 | 25 | ||
| 24 | import java.nio.ByteBuffer; | 26 | import java.nio.ByteBuffer; |
| 25 | 27 | ||
| ... | @@ -41,7 +43,7 @@ public class PIMAddrGroup { | ... | @@ -41,7 +43,7 @@ public class PIMAddrGroup { |
| 41 | * PIM Encoded Group Address. | 43 | * PIM Encoded Group Address. |
| 42 | */ | 44 | */ |
| 43 | public PIMAddrGroup() { | 45 | public PIMAddrGroup() { |
| 44 | - this.family = 4; | 46 | + this.family = PIM.ADDRESS_FAMILY_IP4; |
| 45 | this.encType = 0; | 47 | this.encType = 0; |
| 46 | this.reserved = 0; | 48 | this.reserved = 0; |
| 47 | this.bBit = false; | 49 | this.bBit = false; |
| ... | @@ -83,7 +85,7 @@ public class PIMAddrGroup { | ... | @@ -83,7 +85,7 @@ public class PIMAddrGroup { |
| 83 | public void setAddr(IpPrefix pfx) { | 85 | public void setAddr(IpPrefix pfx) { |
| 84 | this.addr = pfx.address(); | 86 | this.addr = pfx.address(); |
| 85 | this.masklen = (byte) pfx.prefixLength(); | 87 | this.masklen = (byte) pfx.prefixLength(); |
| 86 | - this.family = (byte) ((this.addr.isIp4()) ? 4 : 6); | 88 | + this.family = (byte) ((this.addr.isIp4()) ? PIM.ADDRESS_FAMILY_IP4 : PIM.ADDRESS_FAMILY_IP6); |
| 87 | } | 89 | } |
| 88 | 90 | ||
| 89 | /** | 91 | /** |
| ... | @@ -181,9 +183,9 @@ public class PIMAddrGroup { | ... | @@ -181,9 +183,9 @@ public class PIMAddrGroup { |
| 181 | checkInput(bb.array(), bb.position(), bb.limit() - bb.position(), ENC_GROUP_IPV4_BYTE_LENGTH); | 183 | checkInput(bb.array(), bb.position(), bb.limit() - bb.position(), ENC_GROUP_IPV4_BYTE_LENGTH); |
| 182 | 184 | ||
| 183 | this.family = bb.get(); | 185 | this.family = bb.get(); |
| 184 | - if (family != 4 && family != 6) { | 186 | + if (family != PIM.ADDRESS_FAMILY_IP4 && family != PIM.ADDRESS_FAMILY_IP6) { |
| 185 | throw new DeserializationException("Illegal IP version number: " + family + "\n"); | 187 | throw new DeserializationException("Illegal IP version number: " + family + "\n"); |
| 186 | - } else if (family == 6) { | 188 | + } else if (family == PIM.ADDRESS_FAMILY_IP6) { |
| 187 | 189 | ||
| 188 | // Check for one less by since we have already read the first byte of the packet. | 190 | // Check for one less by since we have already read the first byte of the packet. |
| 189 | checkInput(bb.array(), bb.position(), bb.limit() - bb.position(), ENC_GROUP_IPV6_BYTE_LENGTH - 1); | 191 | checkInput(bb.array(), bb.position(), bb.limit() - bb.position(), ENC_GROUP_IPV6_BYTE_LENGTH - 1); |
| ... | @@ -201,9 +203,9 @@ public class PIMAddrGroup { | ... | @@ -201,9 +203,9 @@ public class PIMAddrGroup { |
| 201 | this.reserved |= 0x7d; | 203 | this.reserved |= 0x7d; |
| 202 | 204 | ||
| 203 | this.masklen = bb.get(); | 205 | this.masklen = bb.get(); |
| 204 | - if (this.family == 4) { | 206 | + if (this.family == PIM.ADDRESS_FAMILY_IP4) { |
| 205 | this.addr = IpAddress.valueOf(bb.getInt()); | 207 | this.addr = IpAddress.valueOf(bb.getInt()); |
| 206 | - } else if (this.family == 6) { | 208 | + } else if (this.family == PIM.ADDRESS_FAMILY_IP6) { |
| 207 | this.addr = Ip6Address.valueOf(bb.array(), 2); | 209 | this.addr = Ip6Address.valueOf(bb.array(), 2); |
| 208 | } | 210 | } |
| 209 | return this; | 211 | return this; | ... | ... |
| ... | @@ -17,9 +17,10 @@ package org.onlab.packet.pim; | ... | @@ -17,9 +17,10 @@ package org.onlab.packet.pim; |
| 17 | 17 | ||
| 18 | import org.onlab.packet.DeserializationException; | 18 | import org.onlab.packet.DeserializationException; |
| 19 | import org.onlab.packet.Ip4Address; | 19 | import org.onlab.packet.Ip4Address; |
| 20 | +import org.onlab.packet.Ip6Address; | ||
| 20 | import org.onlab.packet.IpAddress; | 21 | import org.onlab.packet.IpAddress; |
| 21 | import org.onlab.packet.IpPrefix; | 22 | import org.onlab.packet.IpPrefix; |
| 22 | -import org.onlab.packet.Ip6Address; | 23 | +import org.onlab.packet.PIM; |
| 23 | 24 | ||
| 24 | import java.nio.ByteBuffer; | 25 | import java.nio.ByteBuffer; |
| 25 | 26 | ||
| ... | @@ -66,7 +67,7 @@ public class PIMAddrSource { | ... | @@ -66,7 +67,7 @@ public class PIMAddrSource { |
| 66 | } | 67 | } |
| 67 | 68 | ||
| 68 | private void init() { | 69 | private void init() { |
| 69 | - this.family = 4; | 70 | + this.family = PIM.ADDRESS_FAMILY_IP4; |
| 70 | this.encType = 0; | 71 | this.encType = 0; |
| 71 | this.reserved = 0; | 72 | this.reserved = 0; |
| 72 | this.sBit = true; | 73 | this.sBit = true; |
| ... | @@ -92,7 +93,7 @@ public class PIMAddrSource { | ... | @@ -92,7 +93,7 @@ public class PIMAddrSource { |
| 92 | public void setAddr(IpPrefix spfx) { | 93 | public void setAddr(IpPrefix spfx) { |
| 93 | this.addr = spfx.address(); | 94 | this.addr = spfx.address(); |
| 94 | this.masklen = (byte) spfx.prefixLength(); | 95 | this.masklen = (byte) spfx.prefixLength(); |
| 95 | - this.family = (byte) ((this.addr.isIp4()) ? 4 : 6); | 96 | + this.family = (byte) ((this.addr.isIp4()) ? PIM.ADDRESS_FAMILY_IP4 : PIM.ADDRESS_FAMILY_IP6); |
| 96 | } | 97 | } |
| 97 | 98 | ||
| 98 | /** | 99 | /** |
| ... | @@ -156,7 +157,7 @@ public class PIMAddrSource { | ... | @@ -156,7 +157,7 @@ public class PIMAddrSource { |
| 156 | */ | 157 | */ |
| 157 | public int getByteSize() { | 158 | public int getByteSize() { |
| 158 | int size = 4; | 159 | int size = 4; |
| 159 | - size += addr.isIp4() ? 4 : 16; | 160 | + size += addr.isIp4() ? PIM.ADDRESS_FAMILY_IP4 : PIM.ADDRESS_FAMILY_IP6; |
| 160 | return size; | 161 | return size; |
| 161 | } | 162 | } |
| 162 | 163 | ||
| ... | @@ -202,9 +203,9 @@ public class PIMAddrSource { | ... | @@ -202,9 +203,9 @@ public class PIMAddrSource { |
| 202 | checkInput(bb.array(), bb.position(), bb.limit() - bb.position(), ENC_SOURCE_IPV4_BYTE_LENGTH); | 203 | checkInput(bb.array(), bb.position(), bb.limit() - bb.position(), ENC_SOURCE_IPV4_BYTE_LENGTH); |
| 203 | 204 | ||
| 204 | this.family = bb.get(); | 205 | this.family = bb.get(); |
| 205 | - if (family != 4 && family != 6) { | 206 | + if (family != PIM.ADDRESS_FAMILY_IP4 && family != PIM.ADDRESS_FAMILY_IP6) { |
| 206 | throw new DeserializationException("Illegal IP version number: " + family + "\n"); | 207 | throw new DeserializationException("Illegal IP version number: " + family + "\n"); |
| 207 | - } else if (family == 6) { | 208 | + } else if (family == PIM.ADDRESS_FAMILY_IP6) { |
| 208 | 209 | ||
| 209 | // Check for one less by since we have already read the first byte of the packet. | 210 | // Check for one less by since we have already read the first byte of the packet. |
| 210 | checkInput(bb.array(), bb.position(), bb.limit() - bb.position(), ENC_SOURCE_IPV6_BYTE_LENGTH - 1); | 211 | checkInput(bb.array(), bb.position(), bb.limit() - bb.position(), ENC_SOURCE_IPV6_BYTE_LENGTH - 1); |
| ... | @@ -226,9 +227,9 @@ public class PIMAddrSource { | ... | @@ -226,9 +227,9 @@ public class PIMAddrSource { |
| 226 | this.reserved &= 0xf8; | 227 | this.reserved &= 0xf8; |
| 227 | 228 | ||
| 228 | this.masklen = bb.get(); | 229 | this.masklen = bb.get(); |
| 229 | - if (this.family == 4) { | 230 | + if (this.family == PIM.ADDRESS_FAMILY_IP4) { |
| 230 | this.addr = IpAddress.valueOf(bb.getInt()); | 231 | this.addr = IpAddress.valueOf(bb.getInt()); |
| 231 | - } else if (this.family == 6) { | 232 | + } else if (this.family == PIM.ADDRESS_FAMILY_IP6) { |
| 232 | this.addr = Ip6Address.valueOf(bb.array(), 2); | 233 | this.addr = Ip6Address.valueOf(bb.array(), 2); |
| 233 | } | 234 | } |
| 234 | return this; | 235 | return this; | ... | ... |
| ... | @@ -15,10 +15,13 @@ | ... | @@ -15,10 +15,13 @@ |
| 15 | */ | 15 | */ |
| 16 | package org.onlab.packet.pim; | 16 | package org.onlab.packet.pim; |
| 17 | 17 | ||
| 18 | + | ||
| 19 | + | ||
| 18 | import org.onlab.packet.DeserializationException; | 20 | import org.onlab.packet.DeserializationException; |
| 19 | import org.onlab.packet.Ip4Address; | 21 | import org.onlab.packet.Ip4Address; |
| 20 | -import org.onlab.packet.IpAddress; | ||
| 21 | import org.onlab.packet.Ip6Address; | 22 | import org.onlab.packet.Ip6Address; |
| 23 | +import org.onlab.packet.IpAddress; | ||
| 24 | +import org.onlab.packet.PIM; | ||
| 22 | 25 | ||
| 23 | import java.nio.ByteBuffer; | 26 | import java.nio.ByteBuffer; |
| 24 | 27 | ||
| ... | @@ -36,7 +39,7 @@ public class PIMAddrUnicast { | ... | @@ -36,7 +39,7 @@ public class PIMAddrUnicast { |
| 36 | * PIM Encoded Source Address. | 39 | * PIM Encoded Source Address. |
| 37 | */ | 40 | */ |
| 38 | public PIMAddrUnicast() { | 41 | public PIMAddrUnicast() { |
| 39 | - this.family = 4; | 42 | + this.family = PIM.ADDRESS_FAMILY_IP4; |
| 40 | this.encType = 0; | 43 | this.encType = 0; |
| 41 | } | 44 | } |
| 42 | 45 | ||
| ... | @@ -48,9 +51,9 @@ public class PIMAddrUnicast { | ... | @@ -48,9 +51,9 @@ public class PIMAddrUnicast { |
| 48 | public PIMAddrUnicast(String addr) { | 51 | public PIMAddrUnicast(String addr) { |
| 49 | this.addr = IpAddress.valueOf(addr); | 52 | this.addr = IpAddress.valueOf(addr); |
| 50 | if (this.addr.isIp4()) { | 53 | if (this.addr.isIp4()) { |
| 51 | - this.family = 4; | 54 | + this.family = PIM.ADDRESS_FAMILY_IP4; |
| 52 | } else { | 55 | } else { |
| 53 | - this.family = 6; | 56 | + this.family = PIM.ADDRESS_FAMILY_IP6; |
| 54 | } | 57 | } |
| 55 | this.encType = 0; | 58 | this.encType = 0; |
| 56 | } | 59 | } |
| ... | @@ -63,9 +66,9 @@ public class PIMAddrUnicast { | ... | @@ -63,9 +66,9 @@ public class PIMAddrUnicast { |
| 63 | public void setAddr(IpAddress addr) { | 66 | public void setAddr(IpAddress addr) { |
| 64 | this.addr = addr; | 67 | this.addr = addr; |
| 65 | if (this.addr.isIp4()) { | 68 | if (this.addr.isIp4()) { |
| 66 | - this.family = 4; | 69 | + this.family = PIM.ADDRESS_FAMILY_IP4; |
| 67 | } else { | 70 | } else { |
| 68 | - this.family = 6; | 71 | + this.family = PIM.ADDRESS_FAMILY_IP6; |
| 69 | } | 72 | } |
| 70 | } | 73 | } |
| 71 | 74 | ||
| ... | @@ -121,17 +124,17 @@ public class PIMAddrUnicast { | ... | @@ -121,17 +124,17 @@ public class PIMAddrUnicast { |
| 121 | this.family = bb.get(); | 124 | this.family = bb.get(); |
| 122 | 125 | ||
| 123 | // If we have IPv6 we need to ensure we have adequate buffer space. | 126 | // If we have IPv6 we need to ensure we have adequate buffer space. |
| 124 | - if (this.family != 4 && this.family != 6) { | 127 | + if (this.family != PIM.ADDRESS_FAMILY_IP4 && this.family != PIM.ADDRESS_FAMILY_IP6) { |
| 125 | throw new DeserializationException("Invalid address family: " + this.family); | 128 | throw new DeserializationException("Invalid address family: " + this.family); |
| 126 | - } else if (this.family == 6) { | 129 | + } else if (this.family == PIM.ADDRESS_FAMILY_IP6) { |
| 127 | // Subtract -1 from ENC_UNICAST_IPv6 BYTE_LENGTH because we read one byte for family previously. | 130 | // Subtract -1 from ENC_UNICAST_IPv6 BYTE_LENGTH because we read one byte for family previously. |
| 128 | checkInput(bb.array(), bb.position(), bb.limit() - bb.position(), ENC_UNICAST_IPV6_BYTE_LENGTH - 1); | 131 | checkInput(bb.array(), bb.position(), bb.limit() - bb.position(), ENC_UNICAST_IPV6_BYTE_LENGTH - 1); |
| 129 | } | 132 | } |
| 130 | 133 | ||
| 131 | this.encType = bb.get(); | 134 | this.encType = bb.get(); |
| 132 | - if (this.family == 4) { | 135 | + if (this.family == PIM.ADDRESS_FAMILY_IP4) { |
| 133 | this.addr = IpAddress.valueOf(bb.getInt()); | 136 | this.addr = IpAddress.valueOf(bb.getInt()); |
| 134 | - } else if (this.family == 6) { | 137 | + } else if (this.family == PIM.ADDRESS_FAMILY_IP6) { |
| 135 | this.addr = Ip6Address.valueOf(bb.array(), 2); | 138 | this.addr = Ip6Address.valueOf(bb.array(), 2); |
| 136 | } | 139 | } |
| 137 | return this; | 140 | return this; | ... | ... |
-
Please register or login to post a comment