Change ethernet addresses, too
This commit is contained in:
parent
92faaa1852
commit
bc2eb7dad1
1 changed files with 11 additions and 3 deletions
|
@ -302,11 +302,19 @@ Echo or Echo Reply Message
|
||||||
}
|
}
|
||||||
|
|
||||||
action icmp_echo_reply() {
|
action icmp_echo_reply() {
|
||||||
ipv4_addr_t tmp = hdr.ipv4.src_addr;
|
mac_addr_t mac_tmp = hdr.ethernet.dst_addr;
|
||||||
|
ipv4_addr_t ipv4_tmp = hdr.ipv4.src_addr;
|
||||||
|
|
||||||
hdr.icmp.type = ICMP_ECHO_REPLY;
|
/* swap ethernet addresses */
|
||||||
|
hdr.ethernet.dst_addr = hdr.ethernet.src_addr;
|
||||||
|
hdr.ethernet.src_addr = mac_tmp;
|
||||||
|
|
||||||
|
/* swap ipv4 addresses */
|
||||||
hdr.ipv4.src_addr = hdr.ipv4.dst_addr;
|
hdr.ipv4.src_addr = hdr.ipv4.dst_addr;
|
||||||
hdr.ipv4.dst_addr = tmp;
|
hdr.ipv4.dst_addr = ipv4_tmp;
|
||||||
|
|
||||||
|
/* set correct type */
|
||||||
|
hdr.icmp.type = ICMP_ECHO_REPLY;
|
||||||
|
|
||||||
meta.chk_icmp = 1;
|
meta.chk_icmp = 1;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue