8000 Add support for "::" notation to GraphQL API · Issue #917 · irrdnet/irrd · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
Add support for "::" notation to GraphQL API #917
Open
@jwbensley

Description

@jwbensley

Is your feature request related to a problem? Please describe.

  • We are mirroring multiple IRR DBs using irrd
  • The same AS-SET exists in multiple DBs (e.g. RIPE and RADB)
  • We know that RIPE is the correct DB for this AS-SET (e.g. RIPE AS-SET has members but the RADB AS-SET is empty)
  • I am unable to submit the following query via the GraphQL interface:
query{
  asSetPrefixes(setNames:["RIPE::AS-FOO"]){
    prefixes
  }
}
  • If I specify a source like RIPE using the sources option, this is used no only to get this AS-SET but also for the recursive expansion of all of the members of the AS-SET. There is no way to specify the source for the root object only.

EDIT: Another example is that AS-FOO exists in two or more IRR-DBs, and let's say the one in ARIN is the real one (created by the network operator) and the one in ALTDB is someone trying to hijack the AS-SET name. Or another example, AS-FOO exists in two IRR-DBs but the operator lost access to one and it doesn't have all the information the second one does. So we need a way to specify which IRR-DB should be used.

Describe the solution you'd like

  • Support for the "::" notation, meaning that I can send a query to IRR such as "RIPE::AS-FOO"
  • RIPE will be used to get AS-FOO only
  • Then the specified sources list (if specified, otherwise all sources) will be used to recursively get the members of AS-FOO
  • To be clear; this about setting a source only for getting the innitial AS-SET object, not the recursive expansion of it's members, that is covered by the existing "sources" list option

Describe alternatives you've considered
None.

Additional context
I would be happy to look into the code base to see if this is something I could create a pull request for. I want to check before hand what you think before I spend a load of time on this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0