Hi, I'm trying to add & delete custom header ESP header 8 bytes before IP
header, I used pbuf_header(p,8) in ip_output_if_opt before if
(pbuf_header(p, IP_HLEN))
* |room for new header *
________________________\/________________________________________________ *
| ¦ ¦ ¦
¦ padd ¦ ev. | * | Ethernet ¦ IP ¦
ESP ¦ Payload(TCP,UDP ¦ next-proto ¦ ICV |
*
|__________¦_______¦______¦_____________________________¦____________¦_____|
* ¦ ¦
¦ ¦ *
¦<- room tail ->¦
struct esp_hdr {
PACK_STRUCT_FIELD(u32_t spi);
PACK_STRUCT_FIELD(u32_t sequence_number);
}
pbuf_header(p,8);
esphdr = (struct esp_hdr *) q->payload;
esphdr->spi = spi;
esphdr->sequence_number = sequence_number;
is that correct? How can I delete esp header for an incoming packet only and
keep IP header?
in ip_input :
// remove ip and esp header ... 20 for ip + 8 byte for esp
pbuf_header(p,-(IP_HLEN));
esphdr = (struct esp_hdr *)p->payload;
pbuf_header(p,-(8));
// generate IP header
pbuf_header(p, IP_HLEN);
again is that correct?
--
Sent from: http://lwip.100.n7.nabble.com/lwip-users-f3.html
_______________________________________________
lwip-users mailing list
lwip-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/lwip-users