<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: OpenFlow 1.0 network, HP SDN VAN controller and REST API in Software Defined Networking</title>
    <link>https://community.hpe.com/t5/software-defined-networking/openflow-1-0-network-hp-sdn-van-controller-and-rest-api/m-p/6506826#M1476</link>
    <description>&lt;P&gt;Hello jmikola,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;We are glad that your problem is solved.&lt;BR /&gt;Please do let us know if you need further assistance.&lt;BR /&gt;&lt;BR /&gt;Please feel free to reply in case you have more questions around the same topic or open a new thread if new topic.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;BR /&gt;HP SDN Team&lt;/P&gt;</description>
    <pubDate>Wed, 11 Jun 2014 18:15:08 GMT</pubDate>
    <dc:creator>sdnindia</dc:creator>
    <dc:date>2014-06-11T18:15:08Z</dc:date>
    <item>
      <title>OpenFlow 1.0 network, HP SDN VAN controller and REST API</title>
      <link>https://community.hpe.com/t5/software-defined-networking/openflow-1-0-network-hp-sdn-van-controller-and-rest-api/m-p/6501902#M1470</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm working with mininet and by default I'm pretty sure it doesn't support OpenFlow versions higher than 1.0. I've tried to do some "hacking" there (like upgrading the OpenvSwitch with no avail. That's not the problem for this time though.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So I'm restricted in working with OF1.0 and I don't see that as a bad thing right now. It should work too. I've had some problems having my HP SDN VAN Ctrlr REST API queries succeeding, though.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What I'm trying to achieve: changing the ip_dscp header of a dataflow based on source and destination IP's.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;When my code looks like this (Python code, some parts omitted before this):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;payload1 = {
    "flow": {
        "priority": 30000,
        "idle_timeout": 30,
        "hard_timeout": 30,
        "match": [
            {"ipv4_src": "10.0.0.1"},
            {"ipv4_dst": "10.0.0.2"},
            {"eth_type": "ipv4"}
        ],
        "actions": [
            {"set_field":{"ip_dscp": 46 }},
            {"output": 2 }
            ]
        
    }
}

headers = {'content-type': 'application/json', 'X-Auth-Token': token}
r = requests.post('&lt;A target="_blank" href="http://127.0.0.1:8080/sdn/v2.0/of/datapaths/00:00:00:00:00:00:00:04/flows',"&gt;http://127.0.0.1:8080/sdn/v2.0/of/datapaths/00:00:00:00:00:00:00:04/flows',&lt;/A&gt; data=json.dumps(payload1), headers=headers)&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;Which is pretty close to something I got working with only having "output" as the only action... I get the following:&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;PRE&gt;{"error":"java.lang.IllegalArgumentException","message":"{ofm:[V_1_0,ERROR,76,50844],BAD_ACTION/BAD_ARGUMENT,#dataBytes=64,OFM-cause:[V_1_0,FLOW_MOD,88,50844]}"}&lt;/PRE&gt;&lt;P&gt;If I change it to the style I think would work with OF1.3, which would be:&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;PRE&gt;payload1 = {
    "flow": {
        "priority": 30000,
        "idle_timeout": 30,
        "hard_timeout": 30,
        "match": [
            {"ipv4_src": "10.0.0.1"},
            {"ipv4_dst": "10.0.0.2"},
            {"eth_type": "ipv4"}
        ],
        "instructions": [{
            "apply_actions": [
            {"set_field":{"ip_dscp": 46 }},
            {"output": 2 }
            ]
        }]
        
    }
}

headers = {'content-type': 'application/json', 'X-Auth-Token': token}
r = requests.post('&lt;A target="_blank" href="http://127.0.0.1:8080/sdn/v2.0/of/datapaths/00:00:00:00:00:00:00:04/flows',"&gt;http://127.0.0.1:8080/sdn/v2.0/of/datapaths/00:00:00:00:00:00:00:04/flows',&lt;/A&gt; data=json.dumps(payload1), headers=headers)&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;I get the following:&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;PRE&gt;{"error":"com.hp.of.lib.VersionMismatchException","message":"Not supported before version 1.1"}&lt;/PRE&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;So my question really is: how to change ip_dscp field with HP SDN VAN's REST API and OpenFlow 1.0 enabled only?&lt;FONT face="courier new,courier"&gt;&lt;BR /&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;BR /&gt;&lt;/STRONG&gt;Just to be clear about that first error, this does work (doesn't set the ip_dscp but output yes):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;payload1 = {
	"flow": {
		"priority": 30000,
		"idle_timeout": 60,
		"match": [
			{"ipv4_src": "10.0.0.1"},
			{"ipv4_dst": "10.0.0.2"},
			{"eth_type": "ipv4"}
		],
		"actions": [{"output": 2}]
		}
	}

headers = {'content-type': 'application/json', 'X-Auth-Token': token}
r = requests.post('&lt;A target="_blank" href="http://127.0.0.1:8080/sdn/v2.0/of/datapaths/00:00:00:00:00:00:00:04/flows',"&gt;http://127.0.0.1:8080/sdn/v2.0/of/datapaths/00:00:00:00:00:00:00:04/flows',&lt;/A&gt; data=json.dumps(payload1), headers=headers)&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 06 Jun 2014 10:57:34 GMT</pubDate>
      <guid>https://community.hpe.com/t5/software-defined-networking/openflow-1-0-network-hp-sdn-van-controller-and-rest-api/m-p/6501902#M1470</guid>
      <dc:creator>jmikola</dc:creator>
      <dc:date>2014-06-06T10:57:34Z</dc:date>
    </item>
    <item>
      <title>Re: OpenFlow 1.0 network, HP SDN VAN controller and REST API</title>
      <link>https://community.hpe.com/t5/software-defined-networking/openflow-1-0-network-hp-sdn-van-controller-and-rest-api/m-p/6501920#M1471</link>
      <description>&lt;P&gt;Hi Jmikola&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You are very close. The key is the set_field is of type array&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;{"set_field":{"ip_dscp": 46 }},&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;should be&lt;/P&gt;&lt;P&gt;{"set_field":[{"ip_dscp": 46 }]},&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Look at this post for the help of what the REST JSON schema look like&lt;/P&gt;&lt;P&gt;&lt;A target="_blank" href="https://community.hpe.com/t5/SDN-Knowledge-Base/Viewing-the-JSON-schema-for-the-REST-API/ta-p/6258781"&gt;http://h30499.www3.hp.com/t5/SDN-Knowledge-Base/Viewing-the-JSON-schema-for-the-REST-API/ta-p/6258781&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;//Addendum to reply which I go into down below&lt;/P&gt;&lt;P&gt;This was slightly incorrect it is very important to read the difference between singular and plural&lt;/P&gt;&lt;P&gt;"set_field": {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "$ref": "#/flow_match_field",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "description": "Set the given header field"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Note the above is not the plural versions that matches to the array. My mistake&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;HTH&lt;/P&gt;&lt;P&gt;Gerhard Roets&lt;/P&gt;&lt;P&gt;HP SDN Team&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 06 Jun 2014 13:36:39 GMT</pubDate>
      <guid>https://community.hpe.com/t5/software-defined-networking/openflow-1-0-network-hp-sdn-van-controller-and-rest-api/m-p/6501920#M1471</guid>
      <dc:creator>Gerhard Roets</dc:creator>
      <dc:date>2014-06-06T13:36:39Z</dc:date>
    </item>
    <item>
      <title>Re: OpenFlow 1.0 network, HP SDN VAN controller and REST API</title>
      <link>https://community.hpe.com/t5/software-defined-networking/openflow-1-0-network-hp-sdn-van-controller-and-rest-api/m-p/6501936#M1472</link>
      <description>&lt;P&gt;This doesn't quite solve it either yet.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The code:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;payload1 = {
	"flow": {
		"priority": 30000,
		"idle_timeout": 30,
		"hard_timeout": 30,
		"match": [
			{"ipv4_src": "10.0.0.1"},
			{"ipv4_dst": "10.0.0.2"},
			{"eth_type": "ipv4"}
		],
		"actions": [
			{"output": 2},
			{"set_field":[{"ip_dscp": 46}]}	
		]
	}
}

headers = {'content-type': 'application/json', 'X-Auth-Token': token}
r = requests.post('&lt;A target="_blank" href="http://127.0.0.1:8080/sdn/v2.0/of/datapaths/00:00:00:00:00:00:00:04/flows',"&gt;http://127.0.0.1:8080/sdn/v2.0/of/datapaths/00:00:00:00:00:00:00:04/flows',&lt;/A&gt; data=json.dumps(payload1), headers=headers)&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;Gives me a very ugly looking stacktrace error:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;Apache Tomcat/7.0.35 - Error report&amp;lt;/title&amp;gt;&amp;lt;style&amp;gt;&amp;lt;!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--&amp;gt;&amp;lt;/style&amp;gt; &amp;lt;/head&amp;gt;&amp;lt;body&amp;gt;&amp;lt;h1&amp;gt;HTTP Status 500 - com.fasterxml.jackson.databind.node.ArrayNode cannot be cast to com.fasterxml.jackson.databind.node.ObjectNode&amp;lt;/h1&amp;gt;&amp;lt;HR size="1" noshade="noshade"&amp;gt;&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;type&amp;lt;/b&amp;gt; Exception report&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;message&amp;lt;/b&amp;gt; &amp;lt;u&amp;gt;com.fasterxml.jackson.databind.node.ArrayNode cannot be cast to com.fasterxml.jackson.databind.node.ObjectNode&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;description&amp;lt;/b&amp;gt; &amp;lt;u&amp;gt;The server encountered an internal error that prevented it from fulfilling this request.&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;exception&amp;lt;/b&amp;gt; &amp;lt;pre&amp;gt;java.lang.ClassCastException: com.fasterxml.jackson.databind.node.ArrayNode cannot be cast to com.fasterxml.jackson.databind.node.ObjectNode
	com.hp.of.json.ActionCodec.decodeSetField(ActionCodec.java:286)
	com.hp.of.json.ActionCodec.decode(ActionCodec.java:238)
	com.hp.of.json.OfmFlowModCodec.decodeActions(OfmFlowModCodec.java:235)
	com.hp.of.json.OfmFlowModCodec.decode(OfmFlowModCodec.java:186)
	com.hp.of.json.OfmFlowModCodec.decode(OfmFlowModCodec.java:46)
	com.hp.of.json.OfJsonCodec.decode(OfJsonCodec.java:59)
	com.hp.of.json.OfJsonCodec.decode(OfJsonCodec.java:42)
	com.hp.util.json.JSON.fromJson(JSON.java:68)
	com.hp.sdn.rs.FlowProvider.create(FlowProvider.java:73)
	com.hp.sdn.rs.DatapathsResource.createFlow(DatapathsResource.java:355)
	sun.reflect.GeneratedMethodAccessor101.invoke(Unknown Source)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.lang.reflect.Method.invoke(Method.java:606)
	com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
	com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)
	com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
	com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
	com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
	com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
	com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
	com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
	com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1511)
	com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1442)
	com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1391)
	com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1381)
	com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
	com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)
	com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
	com.hp.util.rs.SecurityFilter.doFilter(SecurityFilter.java:94)
	com.hp.util.rs.auth.AbstractTokenAuthFilter.doFilter(AbstractTokenAuthFilter.java:106)
&amp;lt;/pre&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;note&amp;lt;/b&amp;gt; &amp;lt;u&amp;gt;The full stack trace of the root cause is available in the Apache Tomcat/7.0.35 logs.&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;HR size="1" noshade="noshade"&amp;gt;&amp;lt;h3&amp;gt;Apache Tomcat/7.0.35&amp;lt;/h3&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;Also the code:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;payload1 = {
	"flow": {
		"priority": 30000,
		"idle_timeout": 30,
		"hard_timeout": 30,
		"match": [
			{"ipv4_src": "10.0.0.1"},
			{"ipv4_dst": "10.0.0.2"},
			{"eth_type": "ipv4"}
		],
		"instructions": [{		
			"apply_actions": [
				{"output": 2},
				{"set_field":[{"ip_dscp": 46}]}	
			]
		}]
	}
}

headers = {'content-type': 'application/json', 'X-Auth-Token': token}
r = requests.post('&lt;A target="_blank" href="http://127.0.0.1:8080/sdn/v2.0/of/datapaths/00:00:00:00:00:00:00:04/flows',"&gt;http://127.0.0.1:8080/sdn/v2.0/of/datapaths/00:00:00:00:00:00:00:04/flows',&lt;/A&gt; data=json.dumps(payload1), headers=headers)&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;Gives me pretty much the same.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;Apache Tomcat/7.0.35 - Error report&amp;lt;/title&amp;gt;&amp;lt;style&amp;gt;&amp;lt;!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--&amp;gt;&amp;lt;/style&amp;gt; &amp;lt;/head&amp;gt;&amp;lt;body&amp;gt;&amp;lt;h1&amp;gt;HTTP Status 500 - com.fasterxml.jackson.databind.node.ArrayNode cannot be cast to com.fasterxml.jackson.databind.node.ObjectNode&amp;lt;/h1&amp;gt;&amp;lt;HR size="1" noshade="noshade"&amp;gt;&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;type&amp;lt;/b&amp;gt; Exception report&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;message&amp;lt;/b&amp;gt; &amp;lt;u&amp;gt;com.fasterxml.jackson.databind.node.ArrayNode cannot be cast to com.fasterxml.jackson.databind.node.ObjectNode&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;description&amp;lt;/b&amp;gt; &amp;lt;u&amp;gt;The server encountered an internal error that prevented it from fulfilling this request.&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;exception&amp;lt;/b&amp;gt; &amp;lt;pre&amp;gt;java.lang.ClassCastException: com.fasterxml.jackson.databind.node.ArrayNode cannot be cast to com.fasterxml.jackson.databind.node.ObjectNode
	com.hp.of.json.ActionCodec.decodeSetField(ActionCodec.java:286)
	com.hp.of.json.ActionCodec.decode(ActionCodec.java:238)
	com.hp.of.json.InstructionCodec.decodeActions(InstructionCodec.java:211)
	com.hp.of.json.InstructionCodec.decode(InstructionCodec.java:173)
	com.hp.of.json.OfmFlowModCodec.decodeInstructions(OfmFlowModCodec.java:223)
	com.hp.of.json.OfmFlowModCodec.decode(OfmFlowModCodec.java:181)
	com.hp.of.json.OfmFlowModCodec.decode(OfmFlowModCodec.java:46)
	com.hp.of.json.OfJsonCodec.decode(OfJsonCodec.java:59)
	com.hp.of.json.OfJsonCodec.decode(OfJsonCodec.java:42)
	com.hp.util.json.JSON.fromJson(JSON.java:68)
	com.hp.sdn.rs.FlowProvider.create(FlowProvider.java:73)
	com.hp.sdn.rs.DatapathsResource.createFlow(DatapathsResource.java:355)
	sun.reflect.GeneratedMethodAccessor101.invoke(Unknown Source)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.lang.reflect.Method.invoke(Method.java:606)
	com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
	com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)
	com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
	com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
	com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
	com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
	com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
	com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
	com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1511)
	com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1442)
	com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1391)
	com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1381)
	com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
	com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)
	com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
	com.hp.util.rs.SecurityFilter.doFilter(SecurityFilter.java:94)
	com.hp.util.rs.auth.AbstractTokenAuthFilter.doFilter(AbstractTokenAuthFilter.java:106)
&amp;lt;/pre&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;note&amp;lt;/b&amp;gt; &amp;lt;u&amp;gt;The full stack trace of the root cause is available in the Apache Tomcat/7.0.35 logs.&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;HR size="1" noshade="noshade"&amp;gt;&amp;lt;h3&amp;gt;Apache Tomcat/7.0.35&amp;lt;/h3&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 06 Jun 2014 11:32:32 GMT</pubDate>
      <guid>https://community.hpe.com/t5/software-defined-networking/openflow-1-0-network-hp-sdn-van-controller-and-rest-api/m-p/6501936#M1472</guid>
      <dc:creator>jmikola</dc:creator>
      <dc:date>2014-06-06T11:32:32Z</dc:date>
    </item>
    <item>
      <title>Re: OpenFlow 1.0 network, HP SDN VAN controller and REST API</title>
      <link>https://community.hpe.com/t5/software-defined-networking/openflow-1-0-network-hp-sdn-van-controller-and-rest-api/m-p/6502020#M1473</link>
      <description>&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is what worked for me in a normal REST call with OF.1.0 on mininet using the HP VAN SDN Controller&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;{
        "flow": {
                "priority": 30000,
                "idle_timeout": 30,
                "hard_timeout": 30,
                "match": [
                        {"ipv4_src": "10.0.0.1"},
                        {"ipv4_dst": "10.0.0.2"},
                        {"eth_type": "ipv4"}
                ],
                "actions": [
                        {"output": 2},
                        {"set_field": {"ip_dscp":46}}

                ]
        }
}&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;Here is the flow queried&lt;/P&gt;&lt;PRE&gt;gpr@hpvansdn:~$ curl --noproxy 10.128.10.1 --header "X-Auth-Token:$tok" --header "Content-Type:application/json" --fail -ksS --request GET --url &lt;A target="_blank" href="https://10.128.10.1:8443/sdn/v2.0/of/datapaths/00:00:00:00:00:00:00:01/flows/"&gt;https://10.128.10.1:8443/sdn/v2.0/of/datapaths/00:00:00:00:00:00:00:01/flows/&lt;/A&gt; -d  "@ff" | python -mjson.tool
{
    "flows": [
        {
            "actions": [
                {
                    "output": 2
                },
                {
                    "set_field": {
                        "ip_dscp": 46
                    }
                }
            ],
            "byte_count": "0",
            "cookie": "0x0",
            "duration_nsec": "145000000",
            "duration_sec": 6,
            "hard_timeout": 30,
            "idle_timeout": 30,
            "match": [
                {
                    "eth_type": "ipv4"
                },
                {
                    "ipv4_src": "10.0.0.1",
                    "mask": "255.255.255.255"
                },
                {
                    "ipv4_dst": "10.0.0.2",
                    "mask": "255.255.255.255"
                }
            ],
            "packet_count": "0",
            "priority": 30000,
            "table_id": "n/a"
        },
....&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;HTH&lt;/P&gt;&lt;P&gt;Gerhard&lt;/P&gt;&lt;P&gt;HP VAN SDN Team&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 06 Jun 2014 13:03:18 GMT</pubDate>
      <guid>https://community.hpe.com/t5/software-defined-networking/openflow-1-0-network-hp-sdn-van-controller-and-rest-api/m-p/6502020#M1473</guid>
      <dc:creator>Gerhard Roets</dc:creator>
      <dc:date>2014-06-06T13:03:18Z</dc:date>
    </item>
    <item>
      <title>Re: OpenFlow 1.0 network, HP SDN VAN controller and REST API</title>
      <link>https://community.hpe.com/t5/software-defined-networking/openflow-1-0-network-hp-sdn-van-controller-and-rest-api/m-p/6502042#M1474</link>
      <description>&lt;P&gt;Just one more note lets say you want to do 2 set_fields here is an example just in case this is my json&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;{
        "flow": {
                "priority": 30000,
                "idle_timeout": 30,
                "hard_timeout": 30,
                "match": [
                        {"ipv4_src": "10.0.0.1"},
                        {"ipv4_dst": "10.0.0.2"},
                        {"eth_type": "ipv4"}
                ],
                "actions": [
                        {"output": 2},
                        {"set_field": {"ip_dscp":46}},
                        {"set_field":{"eth_src":"00:00:00:00:00:01"}}

                ]
        }
}&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is the output from the flow query aginst my mininet dpid&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;gpr@hpvansdn:~$ curl --noproxy 10.128.10.1 --header "X-Auth-Token:$tok" --header "   Content-Type:application/json" --fail -ksS --request GET --url &lt;A target="_blank" href="https://10.128.10"&gt;https://10.128.10&lt;/A&gt;   .1:8443/sdn/v2.0/of/datapaths/00:00:00:00:00:00:00:01/flows/ | python    -mjson.tool
{
    "flows": [
        {
            "actions": [
                {
                    "output": 2
                },
                {
                    "set_field": {
                        "ip_dscp": 46
                    }
                },
                {
                    "set_field": {
                        "eth_src": "00:00:00:00:00:01"
                    }
                }
            ],
            "byte_count": "0",
            "cookie": "0x0",
            "duration_nsec": "118000000",
            "duration_sec": 4,
            "hard_timeout": 30,
            "idle_timeout": 30,
            "match": [
                {
                    "eth_type": "ipv4"
                },
                {
                    "ipv4_src": "10.0.0.1",
                    "mask": "255.255.255.255"
                },
                {
                    "ipv4_dst": "10.0.0.2",
                    "mask": "255.255.255.255"
                }
            ],
            "packet_count": "0",
            "priority": 30000,
            "table_id": "n/a"
        },&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;HTH&lt;/P&gt;&lt;P&gt;Gerhard&lt;/P&gt;&lt;P&gt;HP SDN Team&lt;/P&gt;</description>
      <pubDate>Fri, 06 Jun 2014 13:29:40 GMT</pubDate>
      <guid>https://community.hpe.com/t5/software-defined-networking/openflow-1-0-network-hp-sdn-van-controller-and-rest-api/m-p/6502042#M1474</guid>
      <dc:creator>Gerhard Roets</dc:creator>
      <dc:date>2014-06-06T13:29:40Z</dc:date>
    </item>
    <item>
      <title>Re: OpenFlow 1.0 network, HP SDN VAN controller and REST API</title>
      <link>https://community.hpe.com/t5/software-defined-networking/openflow-1-0-network-hp-sdn-van-controller-and-rest-api/m-p/6502596#M1475</link>
      <description>&lt;P&gt;I still just keep getting:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;janne@ubuntu-12:~/dev/rest/daedalus$ python index.py 
15d1a574877c4276bd740dfcd4b5470c
{"error":"java.lang.IllegalArgumentException","message":"{ofm:[V_1_0,ERROR,76,780373],BAD_ACTION/BAD_ARGUMENT,#dataBytes=64,OFM-cause:[V_1_0,FLOW_MOD,104,780373]}"}&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;with the code you provided.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;One thing to note that I'm not running the very latest SDN controller I think. I'm running SDN Controller Version: 2.0.0.4253, which is the version I got attending Chuck Black's HP SDN VAN training in Grenoble, France, a couple weeks ago. Could this have something to do with it?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is my whole index.py:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;import requests
import json

payload = {"login":{"user":"sdn","password":"skyline","domain":"sdn" }}
headers = {'content-type': 'application/json'}
r = requests.post('&lt;A target="_blank" href="http://127.0.0.1:8080/sdn/v2.0/auth',"&gt;http://127.0.0.1:8080/sdn/v2.0/auth',&lt;/A&gt; data=json.dumps(payload), headers=headers)

token = r.json()['record']['token']
print token

headers = {'X-Auth-Token': token}
r = requests.get('&lt;A target="_blank" href="http://127.0.0.1:8080/sdn/v2.0/of/stats',"&gt;http://127.0.0.1:8080/sdn/v2.0/of/stats',&lt;/A&gt; headers=headers)

payload1 = {
        "flow": {
                "priority": 30000,
                "idle_timeout": 30,
                "hard_timeout": 30,
                "match": [
                        {"ipv4_src": "10.0.0.1"},
                        {"ipv4_dst": "10.0.0.2"},
                        {"eth_type": "ipv4"}
                ],
                "actions": [
                        {"output": 2},
                        {"set_field": {"ip_dscp":46}},
                        {"set_field":{"eth_src":"00:00:00:00:00:01"}}

                ]
        }
}

headers = {'content-type': 'application/json', 'X-Auth-Token': token}
r = requests.post('&lt;A target="_blank" href="http://127.0.0.1:8080/sdn/v2.0/of/datapaths/00:00:00:00:00:00:00:02/flows',"&gt;http://127.0.0.1:8080/sdn/v2.0/of/datapaths/00:00:00:00:00:00:00:02/flows',&lt;/A&gt; data=json.dumps(payload1), headers=headers)


print r.content&lt;/PRE&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;EDIT:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Just to narrow the problem down, I tried the following and it works:&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;payload1 = {
        "flow": {
                "priority": 30000,
                "idle_timeout": 30,
                "hard_timeout": 30,
                "match": [
                        {"ipv4_src": "10.0.0.1"},
                        {"ipv4_dst": "10.0.0.2"},
                        {"eth_type": "ipv4"}
                ],
                "actions": [
                        {"output": 2},
                        {"set_field":{"eth_src":"00:00:00:00:00:01"}}

                ]
        }
}

headers = {'content-type': 'application/json', 'X-Auth-Token': token}
r = requests.post('&lt;A target="_blank" href="http://127.0.0.1:8080/sdn/v2.0/of/datapaths/00:00:00:00:00:00:00:02/flows',"&gt;http://127.0.0.1:8080/sdn/v2.0/of/datapaths/00:00:00:00:00:00:00:02/flows',&lt;/A&gt; data=json.dumps(payload1), headers=headers)&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;So, set_field works okay, but it seems my setup (mininet, openvswitch, HP SDN VAN Ctrl...) doesn't like the ip_dscp -field. Any idea if it has been renamed at some point? The oddest part is that I can see ip_dscp field in JSON model as you instruced:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;ip_dscp: {
description: "IP DSCP",
type: "integer"
},&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;Like eth_src:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;eth_src: {
description: "Ethernet source address",
$ref: "#/mac"
},&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;Maybe my mininet/ovs doesn't like the value 46 (expedited forwarding)... I tried others too though without avail.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;EDIT2:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;A-ha! I got it working. My setup doesn't support that many ip_dscp-values for some reason, but ip_dscp 12 did the trick. After posting the flow, here's the get on that device:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;{"version":"1.0.0","flows":[{"duration_sec":17,"duration_nsec":542000000,"priority":30000,"idle_timeout":30,"hard_timeout":30,"cookie":"0x0","packet_count":0,"byte_count":0,"match":[{"eth_type":"ipv4"},{"ipv4_src":"10.0.0.1","mask":"255.255.255.255"},{"ipv4_dst":"10.0.0.2","mask":"255.255.255.255"}],"actions":[{"output":2},{"set_field":{"ip_dscp":12}},{"set_field":{"eth_src":"00:00:00:00:00:01"}}]}]}&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 07 Jun 2014 08:14:49 GMT</pubDate>
      <guid>https://community.hpe.com/t5/software-defined-networking/openflow-1-0-network-hp-sdn-van-controller-and-rest-api/m-p/6502596#M1475</guid>
      <dc:creator>jmikola</dc:creator>
      <dc:date>2014-06-07T08:14:49Z</dc:date>
    </item>
    <item>
      <title>Re: OpenFlow 1.0 network, HP SDN VAN controller and REST API</title>
      <link>https://community.hpe.com/t5/software-defined-networking/openflow-1-0-network-hp-sdn-van-controller-and-rest-api/m-p/6506826#M1476</link>
      <description>&lt;P&gt;Hello jmikola,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;We are glad that your problem is solved.&lt;BR /&gt;Please do let us know if you need further assistance.&lt;BR /&gt;&lt;BR /&gt;Please feel free to reply in case you have more questions around the same topic or open a new thread if new topic.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;BR /&gt;HP SDN Team&lt;/P&gt;</description>
      <pubDate>Wed, 11 Jun 2014 18:15:08 GMT</pubDate>
      <guid>https://community.hpe.com/t5/software-defined-networking/openflow-1-0-network-hp-sdn-van-controller-and-rest-api/m-p/6506826#M1476</guid>
      <dc:creator>sdnindia</dc:creator>
      <dc:date>2014-06-11T18:15:08Z</dc:date>
    </item>
  </channel>
</rss>

