Skip to content

api: Envoy should NACK typed_per_filter_config entries for filters that don't support override configs #15043

@markdroth

Description

@markdroth

Currently, if an HTTP filter registers a given config type as its top-level config in the HCM filter list, and Envoy receives a RouteConfiguration that has a message of that config type in a typed_per_filter_config map, it will ignore that entry instead of NACKing the config, even though that config will never be used. This seems like it's silently ignoring an error that could cause confusion for users, because they might think that they're overriding something that can't actually be overridden, and they're not getting any error to tell them it's not working.

I think this can probably be done by changing NamedHttpFilterConfigFactory::createRouteSpecificFilterConfig() to throw an exception instead of returning null. That way, any filter that overrides that method to actually parse the relevant config type will allow the config to be parsed, but any filter that doesn't will reject an override config.

CC @htuch

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions