Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ECNSpider should generate observations, not flow data #31

Closed
britram opened this issue Jun 16, 2016 · 3 comments · Fixed by #52
Closed

ECNSpider should generate observations, not flow data #31

britram opened this issue Jun 16, 2016 · 3 comments · Fixed by #52

Comments

@britram
Copy link
Contributor

britram commented Jun 16, 2016

ECNSpider currently generates one row of output per flow; instead, it should generate one row of output per path, with an additional key "condition". Conditions should include:

  • ECN not negotiated but ECT/CE mark observed
  • ECN negotiated, ECN mark observed, and potential real CE mark observer
  • ECN negotiated and ECN mark observed (SEW->SAE + ECT[0,1])
  • ECN negotiated but no ECN mark observed (SEW->SAE)
  • ECN not negotiated (SEW -> SA)
  • ECN connection failed (SEW -> X, while S -> SA)
  • Target Down (SEW -> X, S -> X)

Actually, let's do it this way: an observation can have multiple conditions. The following potential conditions are exclusive.

  • Target Down (no connections work) vs ECN-dependent connectivity (ECN fails) vs ECN-independent connectivity (connection state same) vs possibly-transient connectivity (non-ECN fails)
  • ECN negotiated vs ECN not negotiated
  • ECT0 mark seen post-negotiation vs ECT0 mark seen pre-negotiation vs ECT0 mark not seen
  • ECT1 mark seen post-negotiation vs ECT0 mark seen pre-negotiation vs ECT1 mark not seen
  • CE mark seen post-negotiation vs CE mark seen pre-negotiation vs CE mark not seen
@britram
Copy link
Contributor Author

britram commented Jun 21, 2016

In more detail, the fields of the JSON document should be as follows:

{
  time:
  sip:
  dip:
  condition: [ (some encoding of the list in the previous comment) ]
  hostname: (www.xxx.yyy, if relevant)
  rank: (from the alexa list, if relevant)
  flow_results: [
    {
      ecnstate: True,
      sp:, dp:, ect0,: ect1:, ce:, other flags...
    },
    {
      ecnstate: False,
      sp:, dp:, ect0,: ect1:, ce:, other flags...
    },
  ]
}

@britram
Copy link
Contributor Author

britram commented Jun 21, 2016

This should happen after the standalone-observer, multiprocessing-observer, and mpo-all-results branches merge back to master.

@britram britram removed their assignment Jun 21, 2016
@gubser
Copy link
Collaborator

gubser commented Jun 27, 2016

also look at mami-project/pto-core#16

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants