Make sure you are passing a interger value in the request: "protocol": "17" --> Value is String in the request
curl -i -X POST http://127.0.0.1:9696/v2.0/security-group-rules.json -H "User-Agent: python-neutronclient" -H "X-Auth-Token: ab0c81906d7448649b5965e9c9a35f59" -H "Content-type: application/json" -d '{"security_group_rule": {"ethertype": "IPv4", "direction": "ingress", "protocol": "17", "security_group_id": "0633f8eb-ce67-4e98-9e6b-9d83cbd60a86"}}'
Pass as "protocol": 17 value should be integer.
Make sure you are passing a interger value in the request:
"protocol": "17" --> Value is String in the request
curl -i -X POST http:// 127.0.0. 1:9696/ v2.0/security- group-rules. json -H "User-Agent: python- neutronclient" -H "X-Auth-Token: ab0c81906d74486 49b5965e9c9a35f 59" -H "Content-type: application/json" -d '{"security_ group_rule" : {"ethertype": "IPv4", "direction": "ingress", "protocol": "17", "security_ group_id" : "0633f8eb- ce67-4e98- 9e6b-9d83cbd60a 86"}}'
Pass as "protocol": 17 value should be integer.