Thank you for favor.

I solve the problem from your advice.
"you'll also need to rewrite the SRC when sending from B back to A"

And OFPAT_SET_NW_DST update*automatically *the IP checksum.
I didn't notice it. Thanks a lot!

- Hyogi

2012/1/9 Murphy McCauley <jam...@nau.edu>

> OFPAT_SET_NW_DST should update the IP checksum.  Are you sure that a bad
> checksum is the problem?
>
> Remember that if you rewrite the DST when sending from A to B, you'll also
> need to rewrite the SRC when sending from B back to A.  Host A doesn't know
> that you've rewritten the address and will have no idea that a message from
> some arbitrary address is supposed to be from B!
>
> As a sidenote, you seem to be reading from the OpenFlow 1.1 spec, but NOX
> currently only supports OpenFlow 1.0.
>
> -- Murphy
>
> On Jan 9, 2012, at 4:08 AM, Hyogi Jung wrote:
>
> > Hi,
> >
> > I want to change the destination address.
> > So I use these actions. And add output action.
> >
> > OFPAT_SET_DL_DST, /* Ethernet destination address. */
> > OFPAT_SET_NW_DST, /* IP destination address. */
> >
> > Finally destination node could receive the changed packet.
> >
> > But there is a problem.
> > I snoop the packets using wireshark. After 3-handshaking (SYN, SYN+ACK),
> the sender node send "RST" packet.
> > I think it is occured by reason of "I didn't update the IP checksum."
> >
> > Openflow-spec describe below.
> >
> > Action : Set IPv4 destination address
> > Description : Replace the existing IP destination address with and
> update the IP checksum (and TCP/UDP/SCTP checksum if applicable).
> >                    This action is only applied to IPv4 packets.
> >
> > But How can I update the IP checksum?
> > I use C/C++ languge.  I try to find updating IP checksum problem in
> nox-mailing list.
> > But I couldn't find it.
> >
> > Is it a possible using "send_openflow_command()"  fuction or
> "send_openflow_packet()" fuction?
> >
> > send_openflow_command() function = change original packet in switch
> using flow action.
> > however, send_openflow_packet() = send new packet instructed by
> controller.
> >
> > Could you give some advice or reference source?
> >
> > Thank you.
> >
> > - Hyogi
> > _______________________________________________
> > nox-dev mailing list
> > nox-dev@noxrepo.org
> > http://noxrepo.org/mailman/listinfo/nox-dev
>
>


-- 

Hyogi Jung, MS Student

Multimedia & Mobile Communications Lab

School of Computer Science and Engineering

Seoul National University, Korea

Tel: +82-2-880-9147
_______________________________________________
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev

Reply via email to