/* WCCP v2 packet header */
-/// \interface WCCPv2 Protocol
+/// \interface WCCPv2_Protocol
struct wccp2_here_i_am_header_t
{
uint32_t type;
uint32_t security_option;
};
-/// \interface WCCPv2 Protocol
+/// \interface WCCPv2_Protocol
struct wccp2_security_md5_t
{
uint16_t security_type;
/* Service info struct */
-/// \interface WCCPv2 Protocol
+/// \interface WCCPv2_Protocol
struct wccp2_service_info_t
{
uint16_t service_type;
uint16_t port7;
};
-/// \interface WCCPv2 Protocol
+/// \interface WCCPv2_Protocol
struct wccp2_cache_identity_info_t
{
struct in_addr addr;
/* Web Cache identity info */
-/// \interface WCCPv2 Protocol
+/// \interface WCCPv2_Protocol
struct wccp2_identity_info_t
{
uint16_t cache_identity_type;
static struct wccp2_identity_info_t wccp2_identity_info;
-/// \interface WCCPv2 Protocol
+/// \interface WCCPv2_Protocol
struct wccp2_cache_mask_identity_info_t
{
struct in_addr addr;
/* Web Cache identity info */
-/// \interface WCCPv2 Protocol
+/// \interface WCCPv2_Protocol
struct wccp2_mask_identity_info_t
{
uint16_t cache_identity_type;
/* View header */
-/// \interface WCCPv2 Protocol
+/// \interface WCCPv2_Protocol
struct wccp2_cache_view_header_t
{
uint16_t cache_view_type;
/* View info */
-/// \interface WCCPv2 Protocol
+/// \interface WCCPv2_Protocol
struct wccp2_cache_view_info_t
{
uint32_t num_routers;
/* Router ID element */
-/// \interface WCCPv2 Protocol
+/// \interface WCCPv2_Protocol
struct wccp2_router_id_element_t
{
struct in_addr router_address;
/* Capability info header */
-/// \interface WCCpv2 Protocol
+/// \interface WCCpv2_Protocol
struct wccp2_capability_info_header_t
{
uint16_t capability_info_type;
/* Capability element header */
-/// \interface WCCPv2 Protocol
+/// \interface WCCPv2_Protocol
struct wccp2_capability_element_header_t
{
uint16_t capability_type;
/* Capability element */
-/// \interface WCCPv2 Protocol
+/// \interface WCCPv2_Protocol
struct wccp2_capability_element_t
{
uint16_t capability_type;
/* Mask Element */
-/// \interface WCCPv2 Protocol
+/// \interface WCCPv2_Protocol
struct wccp2_mask_element_t
{
uint32_t source_ip_mask;
/* Value Element */
-/// \interface WCCPv2 Protocol
+/// \interface WCCPv2_Protocol
struct wccp2_value_element_t
{
uint32_t source_ip_value;
/* RECEIVED PACKET STRUCTURE */
-/// \interface WCCPv2 Protocol
+/// \interface WCCPv2_Protocol
struct wccp2_i_see_you_t
{
uint32_t type;
/* Router ID element */
-/// \interface WCCPv2 Protocol
+/// \interface WCCPv2_Protocol
struct wccp2_router_assign_element_t
{
struct in_addr router_address;
/* Generic header struct */
-/// \interface WCCPv2 Protocol
+/// \interface WCCPv2_Protocol
struct wccp2_item_header_t
{
uint16_t type;
/* Router identity struct */
-/// \interface WCCPv2 Protocol
+/// \interface WCCPv2_Protocol
struct router_identity_info_t
{
/* The received packet for a mask assignment is unusual */
-/// \interface WCCPv2 Protocol
+/// \interface WCCPv2_Protocol
struct cache_mask_info_t
{
struct in_addr addr;
/* assigment key */
-/// \interface WCCPv2 Protocol
+/// \interface WCCPv2_Protocol
struct assignment_key_t
{
struct in_addr master_ip;
/* Router view of WCCP */
-/// \interface WCCPv2 Protocol
+/// \interface WCCPv2_Protocol
struct router_view_t
{
/* Lists used to keep track of caches, routers and services */
-/// \interface WCCPv2 Protocol
+/// \interface WCCPv2_Protocol
struct wccp2_cache_list_t
{
struct wccp2_cache_list_t *next;
};
-/// \interface WCCPv2 Protocol
+/// \interface WCCPv2_Protocol
struct wccp2_router_list_t
{
static int wccp2_numrouters;
-/// \interface WCCPv2 Protocol
+/// \interface WCCPv2_Protocol
struct wccp2_service_list_t
{
}
static void
-
wccp2_update_service(struct wccp2_service_list_t *srv, int service,
int service_id, int service_priority, int service_proto, int service_flags,
int ports[])