#ifndef SetRandIPAddress_hh
#define SetRandIPAddress_hh
#include <click/element.hh>
#include <click/ipaddress.hh>
CLICK_DECLS
/*
* =c
* SetRandIPAddress(ADDR/LEN, [MAX])
* =s ip
* sets destination IP address annotations randomly
* =d
* Set the destination IP address annotation to a random number whose
* upper LEN bits are equal to ADDR.
*
* If MAX is given, at most MAX distinct addresses will be generated.
*
* =a StoreIPAddress, GetIPAddress, SetIPAddress
*/
class SetRandIPAddress : public Element {
IPAddress _ip;
IPAddress _mask;
int _max;
IPAddress *_addrs;
public:
SetRandIPAddress();
~SetRandIPAddress();
const char *class_name() const { return "SetRandIPAddress"; }
const char *port_count() const { return PORTS_1_1; }
const char *processing() const { return AGNOSTIC; }
int configure(Vector<String> &, ErrorHandler *);
Packet *simple_action(Packet *);
IPAddress pick();
};
CLICK_ENDDECLS
#endif
syntax highlighted by Code2HTML, v. 0.9.1