Example #1
0
 /// <summary>
 /// Creates a new instance of this class.
 /// </summary>
 public RIPUpdate()
 {
     afiAddressFamilyIdentifier = RIPEntryAddressFamily.IPv4;
     bRouteTag    = new byte[2];
     smSubnetMask = new Subnetmask();
     ipaNextHop   = IPAddress.Any;
     ipaAddress   = IPAddress.Any;
     iMetric      = 0;
 }
Example #2
0
 /// <summary>
 /// Creates a new instance of this class with the given properties.
 /// </summary>
 /// <param name="afiAddressFamilyIdentifier">The address family identifier</param>
 /// <param name="bRouteTag">The route tag for RIPv2, a byte array of length two</param>
 /// <param name="smMask">The subnetmask for RIPv2</param>
 /// <param name="ipaNextHop">The IPAddress of the next hop for RIPv2</param>
 /// <param name="ipaAddress">The IPAddress of the destination</param>
 /// <param name="iMetric">The metric</param>
 public RIPUpdate(RIPEntryAddressFamily afiAddressFamilyIdentifier, byte[] bRouteTag, Subnetmask smMask, IPAddress ipaNextHop, IPAddress ipaAddress, uint iMetric)
 {
     this.afiAddressFamilyIdentifier = afiAddressFamilyIdentifier;
     if (bRouteTag.Length != 2)
     {
         throw new ArgumentException("Invalid route tag. Must be a byte-array of len two");
     }
     this.bRouteTag    = bRouteTag;
     this.smSubnetMask = smMask;
     this.ipaNextHop   = ipaNextHop;
     this.ipaAddress   = ipaAddress;
     this.iMetric      = iMetric;
 }
Example #3
0
 /// <summary>
 /// Creates a new instance of this class by parsing the given data.
 /// </summary>
 /// <param name="bData">The data to parse.</param>
 public RIPUpdate(byte[] bData)
 {
     afiAddressFamilyIdentifier = (RIPEntryAddressFamily)((bData[0] << 8) + bData[1]);
     bRouteTag    = new byte[2];
     bRouteTag[0] = bData[2];
     bRouteTag[1] = bData[3];
     byte[] bAddressBytes = new byte[4];
     bAddressBytes[0]          = bData[4];
     bAddressBytes[1]          = bData[5];
     bAddressBytes[2]          = bData[6];
     bAddressBytes[3]          = bData[7];
     ipaAddress                = new IPAddress(bAddressBytes);
     smSubnetMask              = new Subnetmask();
     smSubnetMask.MaskBytes[0] = bData[8];
     smSubnetMask.MaskBytes[1] = bData[9];
     smSubnetMask.MaskBytes[2] = bData[10];
     smSubnetMask.MaskBytes[3] = bData[11];
     bAddressBytes[0]          = bData[12];
     bAddressBytes[1]          = bData[13];
     bAddressBytes[2]          = bData[14];
     bAddressBytes[3]          = bData[15];
     ipaNextHop                = new IPAddress(bAddressBytes);
     iMetric = (uint)((bData[16] << 24) + (bData[17] << 16) + (bData[18] << 8) + bData[19]);
 }