Hi again,
I have made following modification in 'match' field of my add_flow function -
match = datapath.ofproto_parser.OFPMatch(
ipv4_dst=ipv4_to_bin(dst))
But now when I send dst = 11.0.1.1 to the add_flow function I get the following
error(check the bold section):
hub: uncaught exception: Traceback (most recent call last):
File "/home/sakib/ryu/ryu/lib/hub.py", line 52, in _launch
func(*args, **kwargs)
File "/home/sakib/ryu/ryu/base/app_manager.py", line 274, in _event_loop
handler(ev)
File "/home/sakib/Desktop/shortest_path/shortest_path2.py", line 158, in
_packet_in_handler
self.add_flow(datapath, dst, actions)
File "/home/sakib/Desktop/shortest_path/shortest_path2.py", line 78, in
add_flow
ipv4_dst=ipv4_to_bin(dst))
File "/home/sakib/ryu/ryu/ofproto/ofproto_v1_3_parser.py", line 831, in
__init__
(k, v) in kwargs.iteritems())
File "/home/sakib/ryu/ryu/ofproto/ofproto_v1_3_parser.py", line 831, in
<genexpr>
(k, v) in kwargs.iteritems())
File "/home/sakib/ryu/ryu/ofproto/oxm_fields.py", line 233, in _normalize_user
(n, v, m) = mod.oxm_from_user(k, uv)
File "/home/sakib/ryu/ryu/ofproto/oxm_fields.py", line 189, in _from_user
value = t.from_user(value)
File "/home/sakib/ryu/ryu/lib/addrconv.py", line 27, in text_to_bin
return self._addr(text, **self._addr_kwargs).packed
File "/usr/local/lib/python2.7/dist-packages/netaddr/ip/__init__.py", line
315, in __init__
% (addr, self._module.version))
AddrFormatError: base address '\x0b\x00\x01\x01' is not IPv4
How 11.0.1.1 is not an IPv4 address!!!!!
Can anyone please help?
On Friday, 3 April 2015, 15:49, MD.Badruzzaman Shakib <[email protected]>
wrote:
Hello everyone,
In my application I want to match destination address while adding flows. I am
using OFP1.3. The main problem is when I match the destination ip I used
match = datapath.ofproto_parser.OFPMatch(
dl_dst=ipv4_to_bin(dst))
Here this dl_dst creates problem because it is not a valid parameter of
OFPMatch may be. But I do not know what should I do to match the ipv4 address.
Can anyone please tell me what should I write in the match field to match
destination ip in OFP1.3 ? Detailed explanation of my problem is given
below(notice only the bold sections)-
when packet_in occurs- msg = ev.msg pkt =
packet.Packet(msg.data) nw = pkt.get_protocol(ipv4.ipv4)
src = nw.src
dst = nw.dst
I add flow as follow- ........ ........
print "Adding flows"
actions = [datapath.ofproto_parser.OFPActionOutput(out_port)]
self.add_flow(datapath, dst, actions)
print "Flow Added"
My add_flow function is as follow-
def add_flow(self, datapath, dst, actions):
ofproto = datapath.ofproto
match = datapath.ofproto_parser.OFPMatch(
dl_dst=ipv4_to_bin(dst))
mod = datapath.ofproto_parser.OFPFlowMod(
datapath=datapath, match=match, cookie=0,
command=ofproto.OFPFC_ADD, idle_timeout=0,
hard_timeout=0,
priority=ofproto.OFP_DEFAULT_PRIORITY,
flags=ofproto.OFPFF_SEND_FLOW_REM, actions=actions)
datapath.send_msg(mod)
My application prints that "Adding flows" but after that when it goes to the
add_flow function. it gives the following error-
hub: uncaught exception: Traceback (most recent call last):
File "/home/sakib/ryu/ryu/lib/hub.py", line 52, in _launch
func(*args, **kwargs)
File "/home/sakib/ryu/ryu/base/app_manager.py", line 274, in _event_loop
handler(ev)
File "/home/sakib/Desktop/shortest_path/shortest_path2.py", line 155, in
_packet_in_handler
self.add_flow(datapath, dst, actions)
File "/home/sakib/Desktop/shortest_path/shortest_path2.py", line 77, in
add_flow
dl_dst=ipv4_to_bin(dst))
File "/home/sakib/ryu/ryu/ofproto/ofproto_v1_3_parser.py", line 831, in
__init__
(k, v) in kwargs.iteritems())
File "/home/sakib/ryu/ryu/ofproto/ofproto_v1_3_parser.py", line 831, in
<genexpr>
(k, v) in kwargs.iteritems())
File "/home/sakib/ryu/ryu/ofproto/oxm_fields.py", line 233, in _normalize_user
(n, v, m) = mod.oxm_from_user(k, uv)
File "/home/sakib/ryu/ryu/ofproto/oxm_fields.py", line 180, in _from_user
(num, t) = _get_field_info_by_name(name_to_field, name)
File "/home/sakib/ryu/ryu/ofproto/oxm_fields.py", line 170, in
_get_field_info_by_name
raise KeyError('unknown match field ' + name)
KeyError: 'unknown match field dl_dst'
Thanks in advance for your cooperation.
RegardsSakib
------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel
------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel