flow_gen_ipv6_pkt(): Don't apply IPv4 checksum logic
This commit is contained in:
parent
eec898ab69
commit
caf60b7c96
|
@ -207,8 +207,6 @@ module IPL4_example {
|
||||||
/* generate an IPv6 packet according to flowi + pkti */
|
/* generate an IPv6 packet according to flowi + pkti */
|
||||||
function flow_gen_ipv6_pkt(flow_info flowi, pkt_info pkti) return octetstring {
|
function flow_gen_ipv6_pkt(flow_info flowi, pkt_info pkti) return octetstring {
|
||||||
var octetstring payload := flow_gen_l4_pkt(flowi, pkti);
|
var octetstring payload := flow_gen_l4_pkt(flowi, pkti);
|
||||||
var octetstring data;
|
|
||||||
var OCT2 csum;
|
|
||||||
var charstring src_ip, dst_ip;
|
var charstring src_ip, dst_ip;
|
||||||
|
|
||||||
if (pkti.direction == DIR_ORIG) {
|
if (pkti.direction == DIR_ORIG) {
|
||||||
|
@ -223,11 +221,7 @@ module IPL4_example {
|
||||||
header := valueof(t_ipv6h_normal(flowi.l4_protocol, f_IPv4_addr_enc(src_ip), f_IPv4_addr_enc(dst_ip), lengthof(payload))),
|
header := valueof(t_ipv6h_normal(flowi.l4_protocol, f_IPv4_addr_enc(src_ip), f_IPv4_addr_enc(dst_ip), lengthof(payload))),
|
||||||
payload := payload
|
payload := payload
|
||||||
}
|
}
|
||||||
data := f_IPv6_enc(ip);
|
return f_IPv6_enc(ip);
|
||||||
csum := f_IPv4_checksum(data);
|
|
||||||
data[10] := csum[0];
|
|
||||||
data[11] := csum[1];
|
|
||||||
return data;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* generate a packet according to the input flow + pkt information */
|
/* generate a packet according to the input flow + pkt information */
|
||||||
|
|
Loading…
Reference in New Issue