⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ip6ndadvertiser.hh

📁 COPE the first practical network coding scheme which is developped on click
💻 HH
字号:
#ifndef CLICK_IP6NDADVERTISER_HH#define CLICK_IP6NDADVERTISER_HH#include <click/element.hh>#include <click/etheraddress.hh>#include <click/ip6address.hh>#include <click/vector.hh>CLICK_DECLS/* * =c * IP6NDAdvertiser(IP61 MASK1 ETH1, IP62 MASK2 ETH2, ...) * =s IPv6 *  * =d * Input should be Neighbor Solitation Message, which includes * the ethernet header, ip6 header and message itself. The Neighbor   * Solitation Message query about the link layer address of an IPv6  * target address. If the IP6NDAdvertiser knows the answer, it  * forwards an Neighbor Advertisement Message. * if we know the answer. * Could be used for proxy ARP as well as producing * replies for a host's own address. * * =e * Produce Neighborhood Advertisement for the local machine (3ffe:1ce1:2::5) * as well as proxy ARP for all machines on net 3ffe:1ce1:2::/64) * directing their packets to the local machine: * *   c :: Classifier(12/86dd 54/87, ...); *   ndadv :: IP6NDAdvertiser(3ffe:1ce1:2::5/128 00:00:C0:AE:67:EF, *               3ffe:1ce1:2::/80 00:00:C0:AE:67:EF) *   c[0] -> ndadv; *   ndadv -> ToDevice(eth0); * * =a * IP6NDSolicitor */class IP6NDAdvertiser : public Element { public:    IP6NDAdvertiser();  ~IP6NDAdvertiser();    const char *class_name() const		{ return "IP6NDAdvertiser"; }  const char *processing() const		{ return AGNOSTIC; }  int configure(Vector<String> &, ErrorHandler *);  Packet *simple_action(Packet *);  //response to multicast and unicast Neighbor Solitation message   // which is querying the ethernet address of the targest IP6 address  Packet *make_response(unsigned char dha[6], unsigned char sha[6],                        unsigned char dpa[16], unsigned char spa[16],			unsigned char tpa[16], unsigned char tha[6]);  //response to unicast Neighbor Solitation message only  //which is veryfying the ethernet address of the targest IP6 address  Packet *make_response2(unsigned char dha[6], unsigned char sha[6],                        unsigned char dpa[16], unsigned char spa[16],			unsigned char tpa[16]);  bool lookup(const IP6Address &, EtherAddress &) const; private:  struct Entry {    IP6Address dst;    IP6Address mask;    EtherAddress ena;  };  Vector<Entry> _v;    void add_map(const IP6Address &dst, const IP6Address &mask, const EtherAddress &);};CLICK_ENDDECLS#endif

⌨️ 快捷键说明

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