Data Structures | |
struct | PPPoEPacket |
struct | PPPoETag |
struct | PPPoEConnection |
struct | PacketCriteria |
Defines | |
#define | ETH_PPPOE_DISCOVERY 0x8863 |
#define | ETH_PPPOE_SESSION 0x8864 |
#define | CODE_PADI 0x09 |
#define | CODE_PADO 0x07 |
#define | CODE_PADR 0x19 |
#define | CODE_PADS 0x65 |
#define | CODE_PADT 0xA7 |
#define | TAG_END_OF_LIST 0x0000 |
#define | TAG_SERVICE_NAME 0x0101 |
#define | TAG_AC_NAME 0x0102 |
#define | TAG_HOST_UNIQ 0x0103 |
#define | TAG_AC_COOKIE 0x0104 |
#define | TAG_VENDOR_SPECIFIC 0x0105 |
#define | TAG_RELAY_SESSION_ID 0x0110 |
#define | TAG_SERVICE_NAME_ERROR 0x0201 |
#define | TAG_AC_SYSTEM_ERROR 0x0202 |
#define | TAG_GENERIC_ERROR 0x0203 |
#define | MAX_ATTEMPTS 2 |
#define | PADO_TIMEOUT 3 |
#define | PPPOE_OVERHEAD 6 |
#define | HDR_SIZE (sizeof (struct ethhdr) + PPPOE_OVERHEAD) |
#define | MAX_PPPOE_PAYLOAD (ETH_DATA_LEN - PPPOE_OVERHEAD) |
#define | TAG_HDR_SIZE 4 |
#define | NOT_UNICAST(e) ((e[0] & 0x01) != 0) |
Typedefs | |
typedef void | parse_func (uint16_t type, uint16_t len, unsigned char *data, void *extra) |
Functions | |
static int | check_room (PPPoEConnection *conn, unsigned char *cursor, unsigned char *start, uint16_t len) |
static int | parse_packet (PPPoEConnection *conn, PPPoEPacket *packet, parse_func *func, void *extra) |
static int | open_interfaces (int n, PPPoEConnection *conns) |
static void | close_intefaces (int n, PPPoEConnection *conns) |
static int | send_packet (int fd, PPPoEPacket *pkt, size_t size) |
static int | receive_packet (int fd, PPPoEPacket *pkt, size_t *size) |
static void | parse_hostuniq (uint16_t type, uint16_t len, unsigned char *data, void *extra) |
static int | packet_for_me (PPPoEConnection *conn, PPPoEPacket *packet) |
static void | parse_pado_tags (uint16_t type, uint16_t len, unsigned char *data, void *extra) |
static int | send_padi (int n, PPPoEConnection *conns) |
static int | wait_for_pado (int n, PPPoEConnection *conns) |
static void | discovery (int n, PPPoEConnection *conns) |
void | hd_scan_pppoe (hd_data_t *hd_data2) |
#define CODE_PADI 0x09 |
#define CODE_PADO 0x07 |
#define CODE_PADR 0x19 |
#define CODE_PADS 0x65 |
#define CODE_PADT 0xA7 |
#define ETH_PPPOE_DISCOVERY 0x8863 |
#define ETH_PPPOE_SESSION 0x8864 |
#define HDR_SIZE (sizeof (struct ethhdr) + PPPOE_OVERHEAD) |
#define MAX_ATTEMPTS 2 |
#define MAX_PPPOE_PAYLOAD (ETH_DATA_LEN - PPPOE_OVERHEAD) |
#define NOT_UNICAST | ( | e | ) | ((e[0] & 0x01) != 0) |
#define PADO_TIMEOUT 3 |
#define PPPOE_OVERHEAD 6 |
#define TAG_AC_COOKIE 0x0104 |
#define TAG_AC_NAME 0x0102 |
#define TAG_AC_SYSTEM_ERROR 0x0202 |
#define TAG_END_OF_LIST 0x0000 |
#define TAG_GENERIC_ERROR 0x0203 |
#define TAG_HDR_SIZE 4 |
#define TAG_HOST_UNIQ 0x0103 |
#define TAG_RELAY_SESSION_ID 0x0110 |
#define TAG_SERVICE_NAME 0x0101 |
#define TAG_SERVICE_NAME_ERROR 0x0201 |
#define TAG_VENDOR_SPECIFIC 0x0105 |
typedef void parse_func(uint16_t type, uint16_t len, unsigned char *data, void *extra) |
static int check_room | ( | PPPoEConnection * | conn, | |
unsigned char * | cursor, | |||
unsigned char * | start, | |||
uint16_t | len | |||
) | [static] |
static void close_intefaces | ( | int | n, | |
PPPoEConnection * | conns | |||
) | [static] |
static void discovery | ( | int | n, | |
PPPoEConnection * | conns | |||
) | [static] |
void hd_scan_pppoe | ( | hd_data_t * | hd_data2 | ) |
static int open_interfaces | ( | int | n, | |
PPPoEConnection * | conns | |||
) | [static] |
static int packet_for_me | ( | PPPoEConnection * | conn, | |
PPPoEPacket * | packet | |||
) | [static] |
static void parse_hostuniq | ( | uint16_t | type, | |
uint16_t | len, | |||
unsigned char * | data, | |||
void * | extra | |||
) | [static] |
static int parse_packet | ( | PPPoEConnection * | conn, | |
PPPoEPacket * | packet, | |||
parse_func * | func, | |||
void * | extra | |||
) | [static] |
static void parse_pado_tags | ( | uint16_t | type, | |
uint16_t | len, | |||
unsigned char * | data, | |||
void * | extra | |||
) | [static] |
static int receive_packet | ( | int | fd, | |
PPPoEPacket * | pkt, | |||
size_t * | size | |||
) | [static] |
static int send_packet | ( | int | fd, | |
PPPoEPacket * | pkt, | |||
size_t | size | |||
) | [static] |
static int send_padi | ( | int | n, | |
PPPoEConnection * | conns | |||
) | [static] |
static int wait_for_pado | ( | int | n, | |
PPPoEConnection * | conns | |||
) | [static] |