ipencappaint.hh

来自「COPE the first practical network coding 」· HH 代码 · 共 69 行

HH
69
字号
#ifndef IPENCAPPAINT_HH#define IPENCAPPAINT_HH/* * =c * IPEncapPaint(X, PROTOCOL, SADDR) * =s IP, encapsulation * encapsulates packets in static IP header * =d * Encapsulates each incoming packet in an IP packet with protocol * PROTOCOL, source address SADDR. Prepends * one byte for annotation X at beginning of packet. * * The final packet destination address is set to the * destination annotation of the packet. * This is most useful for IP-in-IP encapsulation. * * The packet's TTL and TOS header fields are set to 250 and 0 respectively. * Its destination annotation is set to DADDR. * * The IPDecapPaint element can be used by the receiver to get rid * of the encapsulation header, and set the Color annotation * * =e * Wraps packets in an IP header specifying Paint annotation 2, IP protocol 4 * (IP-in-IP), with source 18.26.4.24: * *   IPEncapPaint(2, 4, 18.26.4.24) * * =a IPEncap, IPEncap2, UDPIPEncap, IPDecapPaint */#include <click/element.hh>#include <click/glue.hh>#include <clicknet/ip.h>class IPEncapPaint : public Element {    int _color; // color annotation  int _ip_p; // IP protocol number field.  struct in_addr _ip_src;#ifdef __KERNEL__  bool _aligned;#endif  short _id; public:    IPEncapPaint();  ~IPEncapPaint();    const char *class_name() const		{ return "IPEncapPaint"; }  const char *processing() const		{ return AGNOSTIC; }  int configure(Vector<String> &, ErrorHandler *);  int initialize(ErrorHandler *);  void add_handlers();  Packet *simple_action(Packet *);  };#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?