hd_id_t base_class
Base class (id and name).
Definition: hd.h:2231
static int receive_packet(int fd, PPPoEPacket *pkt, size_t *size)
Definition: pppoe.c:306
unsigned int length
Definition: pppoe.c:75
unsigned char payload[ETH_DATA_LEN]
Definition: pppoe.c:76
#define TAG_AC_SYSTEM_ERROR
Definition: pppoe.c:59
struct PPPoEConnectionStruct PPPoEConnection
static int parse_packet(PPPoEConnection *conn, PPPoEPacket *packet, parse_func *func, void *extra)
Definition: pppoe.c:133
int error
Definition: pppoe.c:113
hd_t * hd
Current hardware list.
Definition: hd.h:2610
void hd_scan_pppoe(hd_data_t *hd_data2)
Definition: pppoe.c:569
#define MAX_PPPOE_PAYLOAD
Definition: pppoe.c:82
#define CODE_PADI
Definition: pppoe.c:44
#define TAG_AC_NAME
Definition: pppoe.c:53
@ mod_pppoe
Definition: hd_int.h:78
struct PPPoETagStruct PPPoETag
#define TAG_SERVICE_NAME_ERROR
Definition: pppoe.c:58
#define PROGRESS(a, b, c)
Definition: hd_int.h:61
char * ifname
Definition: pppoe.c:100
struct PacketCriteriaStruct PacketCriteria
struct ethhdr ethHdr
Definition: pppoe.c:70
#define TAG_END_OF_LIST
Definition: pppoe.c:51
char * unix_dev_name
Special device file.
Definition: hd.h:2348
int received_pado
Definition: pppoe.c:102
Individual hardware item.
Definition: hd.h:2196
static void parse_pado_tags(uint16_t type, uint16_t len, unsigned char *data, void *extra)
Definition: pppoe.c:348
static void close_intefaces(int n, PPPoEConnection *conns)
Definition: pppoe.c:277
#define TAG_HDR_SIZE
Definition: pppoe.c:92
static void discovery(int n, PPPoEConnection *conns)
Definition: pppoe.c:547
unsigned int code
Definition: pppoe.c:73
struct s_hd_t * next
Link to next hardware item.
Definition: hd.h:2197
#define TAG_GENERIC_ERROR
Definition: pppoe.c:60
#define CODE_PADO
Definition: pppoe.c:45
static int wait_for_pado(int n, PPPoEConnection *conns)
Definition: pppoe.c:443
unsigned module
(Internal) the current probing module we are in
Definition: hd.h:2681
hd_t * hd
Definition: pppoe.c:105
static void parse_hostuniq(uint16_t type, uint16_t len, unsigned char *data, void *extra)
Definition: pppoe.c:320
#define ADD2LOG(a...)
Definition: hd_int.h:62
static int send_padi(int n, PPPoEConnection *conns)
Definition: pppoe.c:380
static int packet_for_me(PPPoEConnection *conn, PPPoEPacket *packet)
Definition: pppoe.c:334
static int send_packet(int fd, PPPoEPacket *pkt, size_t size)
Definition: pppoe.c:294
@ bc_network_interface
Definition: hd.h:165
#define ETH_PPPOE_DISCOVERY
Definition: pppoe.c:40
int hd_probe_feature(hd_data_t *hd_data, enum probe_feature feature)
Definition: hd.c:579
#define TAG_HOST_UNIQ
Definition: pppoe.c:54
static int check_room(PPPoEConnection *conn, unsigned char *cursor, unsigned char *start, uint16_t len)
Definition: pppoe.c:121
int acname_ok
Definition: pppoe.c:111
unsigned char peer_mac[ETH_ALEN]
Definition: pppoe.c:104
unsigned id
Numeric id.
Definition: hd.h:397
hd_id_t sub_class
Sub class (id and name).
Definition: hd.h:2236
unsigned char my_mac[ETH_ALEN]
Definition: pppoe.c:103
#define MAX_ATTEMPTS
Definition: pppoe.c:63
PPPoEConnection * conn
Definition: pppoe.c:110
#define HDR_SIZE
Definition: pppoe.c:81
struct PPPoEPacketStruct PPPoEPacket
#define TAG_SERVICE_NAME
Definition: pppoe.c:52
@ sc_nif_ethernet
Definition: hd.h:239
unsigned int type
Definition: pppoe.c:72
@ pr_pppoe
Definition: hd.h:117
static int open_interfaces(int n, PPPoEConnection *conns)
Definition: pppoe.c:180
static hd_data_t * hd_data
Definition: pppoe.c:29
#define PADO_TIMEOUT
Definition: pppoe.c:66
int fd
Definition: pppoe.c:101
unsigned int session
Definition: pppoe.c:74
unsigned int ver
Definition: pppoe.c:71
int servicename_ok
Definition: pppoe.c:112
Holds all data accumulated during hardware probing.
Definition: hd.h:2604
#define NOT_UNICAST(e)
Definition: pppoe.c:117
void parse_func(uint16_t type, uint16_t len, unsigned char *data, void *extra)
Definition: pppoe.c:95
void * new_mem(size_t size)
Definition: hd.c:1535