{"action":"created","issue":{"url":"https://api.github.com/repos/frenetic-lang/frenetic/issues/478","repository_url":"https://api.github.com/repos/frenetic-lang/frenetic","labels_url":"https://api.github.com/repos/frenetic-lang/frenetic/issues/478/labels{/name}","comments_url":"https://api.github.com/repos/frenetic-lang/frenetic/issues/478/comments","events_url":"https://api.github.com/repos/frenetic-lang/frenetic/issues/478/events","html_url":"https://github.com/frenetic-lang/frenetic/pull/478","id":142374932,"number":478,"title":"Issue 463 field dependencies","user":{"login":"craig-riecke","id":542931,"avatar_url":"https://avatars.githubusercontent.com/u/542931?v=3","gravatar_id":"","url":"https://api.github.com/users/craig-riecke","html_url":"https://github.com/craig-riecke","followers_url":"https://api.github.com/users/craig-riecke/followers","following_url":"https://api.github.com/users/craig-riecke/following{/other_user}","gists_url":"https://api.github.com/users/craig-riecke/gists{/gist_id}","starred_url":"https://api.github.com/users/craig-riecke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/craig-riecke/subscriptions","organizations_url":"https://api.github.com/users/craig-riecke/orgs","repos_url":"https://api.github.com/users/craig-riecke/repos","events_url":"https://api.github.com/users/craig-riecke/events{/privacy}","received_events_url":"https://api.github.com/users/craig-riecke/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2016-03-21T14:59:43Z","updated_at":"2016-03-28T19:17:58Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/frenetic-lang/frenetic/pulls/478","html_url":"https://github.com/frenetic-lang/frenetic/pull/478","diff_url":"https://github.com/frenetic-lang/frenetic/pull/478.diff","patch_url":"https://github.com/frenetic-lang/frenetic/pull/478.patch"},"body":"Some fields in OpenFlow are dependent on others being present in the match.  For example, EthType must be 0x800 (IP) or 0x806 (ARP) when matching the IPv4 source address.   NetKAT compilation currently either throws out all rules where dependencies are not satisfied (adherance=Strict) or leaves them in, only to be installed as Drop All rules by the switch (adherance=Sloppy, the default).\r\n\r\nThis commit removes the adharance flag altogether and simply fills in any dependencies that are missing.  Sometime this means there is more than one Openflow table rule output per FDD node.  Examples are provided in examples/issue_463{a,b,c}.kat."},"comment":{"url":"https://api.github.com/repos/frenetic-lang/frenetic/issues/comments/202538728","html_url":"https://github.com/frenetic-lang/frenetic/pull/478#issuecomment-202538728","issue_url":"https://api.github.com/repos/frenetic-lang/frenetic/issues/478","id":202538728,"user":{"login":"craig-riecke","id":542931,"avatar_url":"https://avatars.githubusercontent.com/u/542931?v=3","gravatar_id":"","url":"https://api.github.com/users/craig-riecke","html_url":"https://github.com/craig-riecke","followers_url":"https://api.github.com/users/craig-riecke/followers","following_url":"https://api.github.com/users/craig-riecke/following{/other_user}","gists_url":"https://api.github.com/users/craig-riecke/gists{/gist_id}","starred_url":"https://api.github.com/users/craig-riecke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/craig-riecke/subscriptions","organizations_url":"https://api.github.com/users/craig-riecke/orgs","repos_url":"https://api.github.com/users/craig-riecke/repos","events_url":"https://api.github.com/users/craig-riecke/events{/privacy}","received_events_url":"https://api.github.com/users/craig-riecke/received_events","type":"User","site_admin":false},"created_at":"2016-03-28T19:17:58Z","updated_at":"2016-03-28T19:17:58Z","body":"Pinning core to 112.35 doesn't seem to work.  Other library dependencies override it.  \r\n\r\nPutting this on hold until Issue #479 is resolved.  "}}