bool copy_ecn;
/** Whether to copy the DSCP header field to/from the outer header */
dscp_copy_t copy_dscp;
+ /** Whether to automatically forward certain ICMP error messages */
+ bool forward_icmp;
/** TRUE if initiator of the exchange creating the SA */
bool initiator;
/** TRUE if this is an inbound SA */
return chunk_hash_inc(chunk_from_thing(this->mode),
chunk_hash_inc(chunk_from_thing(this->reqid),
chunk_hash_inc(chunk_from_thing(this->policy_count),
+ chunk_hash_inc(chunk_from_thing(this->forward_icmp),
chunk_hash_inc(chunk_from_thing(this->esp.use),
chunk_hash_inc(chunk_from_thing(this->esp.spi),
chunk_hash_inc(chunk_from_thing(this->ah.use),
chunk_hash_inc(chunk_from_thing(this->ah.spi),
chunk_hash_inc(chunk_from_thing(this->ipcomp.transform),
- chunk_hash(chunk_from_thing(this->ipcomp.cpi))))))))));
+ chunk_hash(chunk_from_thing(this->ipcomp.cpi)))))))))));
}
/*
return a->mode == b->mode &&
a->reqid == b->reqid &&
a->policy_count == b->policy_count &&
+ a->forward_icmp == b->forward_icmp &&
a->esp.use == b->esp.use &&
a->esp.spi == b->esp.spi &&
a->ah.use == b->ah.use &&
uint32_t reqid;
/** number of policies of the same kind (in/out/fwd) attached to SA */
uint32_t policy_count;
+ /** whether SA is to forward certain ICMP error messages automatically */
+ bool forward_icmp;
/** details about ESP/AH */
struct {
/** TRUE if this protocol is used */