pronghorn's People
Forkers
zhangbiyunpronghorn's Issues
Create undo RTableUpdates in FloodlightRoutingTableToHardware
Can push an update to hardware, but then have to back it out, if, for instance another switch that is part of transaction fails. In this case, should keep track of info needed to undo change and actually apply it to hardware.
Fairness tests should issue only adds
Currently, fairness test reads then writes to contended switch variables. This means that can have cases where after an event completes all other events that were waiting on the read lock get scheduled. However, only one acquires the write lock and all others get preempted. This can cause some slipping in fairness results. Instead, for test all should assume write lock before reading.
Bug with setting nw_src and nw_dst for matches
Receive an error code from switch. Other match fields seem to work okay. Likely a problem with floodlight or pronghorn (not with switch because tested inserting matches using ovs-ofctl).
string_to_actions_list does nothing
In FTableUpdate.java, string_to_actions_list does not actually take user's action and turn it into a list of actions to apply. It's currently just a placeholder. See FIXME in the code.
clear on routing table does not produce set of updates to send to switch
Commit 618e3ba changes rtable in example to prevent the problem in examples and experiments. But does not actually clear the rtable.
Add distributed ordering test
Have a single controller test, should add a multi-controller version.
Handle invalid user-specified field_types
In ralph_field_type_to_floodlight_field_type, left a fixme and assert in code for case where user enters and invalid/unrecognized field type as part of set_field action. Do something more appropriate. Either in Java or do check in Ralph.
Remove active tag in routing table
All entries in routing table should be assumed active, not just the ones that are tagged active.
Push json request to floodlight using rest interface
Currently, not actually sending http request to update routing table when logical routing table changes.
flow table entry add-removes
If a programmer adds a flow table entry and then removes it as part of the same transaction, should filter this duplicate in wrapped_switch.rph. Reason to filter is that because switch does not ensure order of flow table changes, could get a case where remove and add are reversed.
Screen ralph match fields users enter
Ensure that they are properly formatted in ralph and throw exception there if they are not. Currently, have an issue where will submit incorrectly formatted match, do not push incorrect match to switches (see FIXME in match_from_internal_match in DeltListStateSupplier.java), but incorrect match persists in software state.
Add set_field action to DeltaListStateSupplier
See fixme in code.
Backout exception in coarse locking test
Daniel reported seeing a backout exception in the coarse locking tests
https://gist.github.com/jackowayed/8645395/raw/4d7e8b360c6eebc402e2a18e5bd80d6082e856a7/output2.txt
for sha id: 9fce3be.
Parse for ipv6 addresses when setting fields
Right now, not doing anything intelligent to parse for ipv6 addresses. For actions, users must enter the ipv6 address as a string of bytes. This is really, really ugly and bad.
Generated test runs forever in single_host.
Have it shutdown cleanly after printing values to stdout.
Distributed controller fairness test errors out
I think this happens because it assumes a single floodlight controller per host, and both controllers run on a single host. Consider how to fix.
Add new instructions to ralph
Currently, just setting a string for actions. But want to allow script to goto table, etc. Do so by creating a new struct, etc. for instructions and adding those to Struct FlowTableEntry in place of current actions field.
Routing table entries require unique identifiers
Previously, had assumed that identifiers needed to be unique per switch. Can easily fix by creating identifiers as the concatenation of the switch id, some separator, and current switch-local unique identifiers.
Create single controller fairness experiment
Previous submission only had distributed controller test.
Shortcut ftable updates
In commit 135fe38, correctly taking into account potential backouts on state by short-circuiting with continues in produce_ftable_updates of DeltaListStateSupplier. Note, can probably do this faster by returning out with an empty list of updates when backout has been detected, rather than using continue. Could potentially save a flow mod and barrier to switches for a multi-update.
State supplier race condition
In DeltaListStateSupplier, when running get_state_to_push, makes unprotected access to internal_ft_deltas_list and its contents. What happens if those objects receive backouts while we're making this access?
Clean shutdown
Figure out a way to shut down floodlight+pronghorn cleanly.
When speculation is off, reset flow_table_deltas list
Currently, only reset flow_table_deltas list to be empty in speculate listener. This means that deltas_list grows and grows when speculation is turned off. Should fix.
Force speculation bug
When we force speculation, we overwrite dirty values for all existing state. This is bad, because our state supplier eventually needs to be able to read internal dirty state. Just moving force_speculate call into DeltaListStateSupplier breaks, because then we never get speculation on read only-s. Should fix.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.