Encoding unknown addresses in sFlow datagrams

From: Peter Phaal (peter.phaal@inmon.com)
Date: 06/26/03

  • Next message: Peter Phaal: "RE: Clarifying frame_length in sFlow packet headers"

    Currently there is no specified way to encode an unknown address (for
    example, the next_hop address may not be known for a static route).

    One could specify that an IPv4 address of 0.0.0.0 means unknown, although
    this may be a little obscure, especially if returned by an IPv6 router. An
    explicit unknown value is preferable and can easily be defined as follows:

    /* Address types */

    typedef opaque ip_v4[4];
    typedef opaque ip_v6[16];

    enum address_type {
       UNKNOWN = 0,
       IP_V4 = 1,
       IP_V6 = 2
    }

    union address (address_type type) {
       case UNKNOWN:
         void;
       case IP_V4:
         ip_v4;
       case IP_V6:
         ip_v6;
    }

    Comments?

    Peter



    This archive was generated by hypermail 2.1.4 : 06/26/03 PDT