On Oct 31, 2013, at 4:13 AM, AMER <[email protected]> wrote:
> hello,
>
> this is my code:
>
> def _handle_PacketIn (event):
> packet = event.parsed
> log.info("%s ready paacket IN", event)
>
> if ( packet.type == packet.ARP_TYPE):
> RespondToARP(packet, event)
> return
> else:
> #1
> msg1 = nx.nx_flow_mod()
> msg1.idle_timeout = 10
> msg1.hard_timeout = 20
> msg1.match.eth_type = packet.IP_TYPE
> msg1.match.of_ip_dst_with_mask = "10.0.0.4/0.0.0.255"
I'd suggest that you start by following my earlier suggestion (on the
"Arbitrary netmask" thread) and making this line:
msg1.match.of_ip_dst_with_mask = ("0.0.0.4", "0.0.0.255")
If you want it to be any.any.any.4 as you say, there really isn't a point in
specifying the 10. Additionally, the way you're trying to specify it there
simply isn't valid and will result in an exception. If you're not getting an
exception from that, I don't think this code has actually been getting run, so
it's hard to evaluate whether it's doing what you want it to.
> msg1.priority = 65001
> msg1.actions.append(of.ofp_action_output(port = 3))
> core.openflow.sendToDPID(1, msg1)
>
> msg1 = nx.nx_flow_mod()
> msg1.idle_timeout = 10
> msg1.hard_timeout = 20
> msg1.match.eth_type = packet.IP_TYPE
> msg1.match.ip_dst = "10.0.0.2"
> msg1.priority = 65001
> msg1.actions.append(of.ofp_action_output(port = 2))
> core.openflow.sendToDPID(1, msg1)
>
> def RespondToARP(packet, event):
> # reply to ARP request
>
> msg1 = nx.nx_flow_mod()
> msg1.idle_timeout = 100
> msg1.hard_timeout = 120
> msg1.match.eth_type = packet.ARP_TYPE
> msg1.match.eth_src = packet.src
> msg1.match.eth_dst = packet.dst
> msg1.priority = 6
> msg1.actions.append(of.ofp_action_output(port = of.OFPP_ALL))
> event.connection.send(msg1)
>
>
> def launch ():
> assert core.NX, "Nicira extensions required"
> assert core.NX.convert_packet_in, "PacketIn conversion required"
> core.openflow.addListenerByName("PacketIn", _handle_PacketIn)
> log.info("Simple NX switch running.")
>
> Thank you and Best rgards,
>
> Eng Amer Alghadhban
> COE
> SANS-GCFW
> CEH, SCNP, CCNA
>
>
> Subject: Re: Nonzero masked bits
> From: [email protected]
> Date: Wed, 30 Oct 2013 16:52:05 -0700
> CC: [email protected]
> To: [email protected]
>
> It seems like it could be a bug in POX, your code, or OVS. It's probably not
> OVS. Can you post your code?
>
> -- Murphy
>
> On Oct 30, 2013, at 4:27 PM, Amer <[email protected]> wrote:
>
> Hello,
>
> Thank you for this comment
> I have removed them, but I this method ignores the effect of mask completely.
> I tried to ping h3(10.0.0.3) to h2(10.0.0.2) --> 100% response
> ping h3(11.0.0.3) to h2(10.0.0.2) --> 100% response
> ping h3(10.1.0.3) to h2(10.0.0.2) --> 100% response
>
> Where the match is as what mentioned in previous emails (10.0.0.4/0.0.0.255)
> Even when I changed the mask to 0.255.0.255 with 11.1.0.4.
> I think the value in match is replaced with any.
> What I want to do is:
> 10.0.0.3/0.0.0.255--> means any.any.any.3
>
> Thank you
> Best regards
> Amer
>
> Sent from my iPhone
>
> On ٣٠/١٠/٢٠١٣, at ٩:٥٨ م, Murphy McCauley <[email protected]> wrote:
>
> Right, this is what I was pointing out on the other thread about the mask not
> actually making sense. Your mask makes only the final byte matter, so the
> leading "10" is useless. The "canonical" form of this would just be
> 0.0.0.4/0.0.0.255.
>
> You could easily just disable the assertion on line 1816/1817 of nicira.py
> and your code should run. The assertion is just checking that what you're
> doing makes sense -- which as far as I can figure, your current code doesn't.
>
> -- Murphy
>
> On Oct 30, 2013, at 8:12 AM, Amer <[email protected]> wrote:
>
> Hello,
>
> I would to thank you, however I got
> Nonzero bits mask error
> Is there a way to avoid this.
> Or is there a mask function for nonzero bits.
> This is my command:
> match.ip_src_with_mask = "10.0.0.4/0.0.0.255"
>
> Best regards,
> Amer
>
> Sent from my iPhone