Subject: [alto] Problem with endpoint property response in draft 11

From: Bill Roome <[email-masked]>
Date: Wed, 06 Jun 2012 13:01:11 -0400

{7.7.3.1.5} -- Endpoint Property Response -- says

> The ALTO Server MAY include the Version Tag (Section 5.3) of the
>    Network Map used to generate the response (if desired and applicable)
>    as the 'map-vtag' member in the response.  If the 'pid' property is
>    returned for any endpoints in the response, the 'map-vtag' member is
>    REQUIRED instead of OPTIONAL.

However the example in {7.7.3.1.6} doesn't follow that rule. It's

>   {
>     "meta" : {},
>     "data": {
>       "ipv4:192.0.2.34"    : { "pid": "PID1" },
>       "ipv4:203.0.113.129" : { "pid": "PID3" }
>     }
>   }

where it should be

>   {
>     "meta" : {},
>     "data": {
>       "map-vtag" : "1266506139",
>       "ipv4:192.0.2.34"    : { "pid": "PID1" },
>       "ipv4:203.0.113.129" : { "pid": "PID3" }
>     }
>   }

But that has an unfortunate complication. Before, all the keys in the "data"
object were endpoints.
But now, a key is an endpoint address UNLESS it's "map-vtag". Granted,
that's not ambiguous, because
"map-vtag" can't possibly be an endpoint address.

But still it's annoying. Compare that with the a filtered network-map
response:

>    {
>      "meta" : {},
>      "data" : {
>        "map-vtag" : "1266506139",
>        "map" : {
>          "PID1" : {
>            "ipv4" : [ "192.0.2.0/24", "198.51.100.0/24" ]
>          },
>          "PID2" : {
>            "ipv4": [ "198.51.100.128/24" ]
>          }
>        }
>      }
>    }
> 
There the PID name keys are all in a "map" object. So for consistency,
the properties in an endpoint prop response should also be under a "map":

>   {
>     "meta" : {},
>     "data": {
>       "map-vtag" : "1266506139",
>       "map" : {
>          "ipv4:192.0.2.34"    : { "pid": "PID1" },
>          "ipv4:203.0.113.129" : { "pid": "PID3" }
>       }
>     }
>   }
> 
Comments?

> - Bill Roome