Commit | Line | Data |
---|---|---|
4a71df50 | 1 | /* |
4a71df50 FB |
2 | * Copyright IBM Corp. 2007 |
3 | * Author(s): Utz Bacher <utz.bacher@de.ibm.com>, | |
4 | * Frank Pavlic <fpavlic@de.ibm.com>, | |
5 | * Thomas Spatzier <tspat@de.ibm.com>, | |
6 | * Frank Blaschka <frank.blaschka@de.ibm.com> | |
7 | */ | |
8 | ||
9 | #ifndef __QETH_L3_H__ | |
10 | #define __QETH_L3_H__ | |
11 | ||
12 | #include "qeth_core.h" | |
13 | ||
76b11f8e UB |
14 | #define QETH_SNIFF_AVAIL 0x0008 |
15 | ||
4a71df50 FB |
16 | struct qeth_ipaddr { |
17 | struct list_head entry; | |
18 | enum qeth_ip_types type; | |
19 | enum qeth_ipa_setdelip_flags set_flags; | |
20 | enum qeth_ipa_setdelip_flags del_flags; | |
21 | int is_multicast; | |
22 | int users; | |
23 | enum qeth_prot_versions proto; | |
24 | unsigned char mac[OSA_ADDR_LEN]; | |
25 | union { | |
26 | struct { | |
27 | unsigned int addr; | |
28 | unsigned int mask; | |
29 | } a4; | |
30 | struct { | |
31 | struct in6_addr addr; | |
32 | unsigned int pfxlen; | |
33 | } a6; | |
34 | } u; | |
35 | }; | |
36 | ||
37 | struct qeth_ipato_entry { | |
38 | struct list_head entry; | |
39 | enum qeth_prot_versions proto; | |
40 | char addr[16]; | |
41 | int mask_bits; | |
42 | }; | |
43 | ||
44 | ||
4a71df50 FB |
45 | void qeth_l3_ipaddr_to_string(enum qeth_prot_versions, const __u8 *, char *); |
46 | int qeth_l3_string_to_ipaddr(const char *, enum qeth_prot_versions, __u8 *); | |
47 | int qeth_l3_create_device_attributes(struct device *); | |
48 | void qeth_l3_remove_device_attributes(struct device *); | |
49 | int qeth_l3_setrouting_v4(struct qeth_card *); | |
50 | int qeth_l3_setrouting_v6(struct qeth_card *); | |
51 | int qeth_l3_add_ipato_entry(struct qeth_card *, struct qeth_ipato_entry *); | |
52 | void qeth_l3_del_ipato_entry(struct qeth_card *, enum qeth_prot_versions, | |
53 | u8 *, int); | |
54 | int qeth_l3_add_vipa(struct qeth_card *, enum qeth_prot_versions, const u8 *); | |
55 | void qeth_l3_del_vipa(struct qeth_card *, enum qeth_prot_versions, const u8 *); | |
56 | int qeth_l3_add_rxip(struct qeth_card *, enum qeth_prot_versions, const u8 *); | |
57 | void qeth_l3_del_rxip(struct qeth_card *card, enum qeth_prot_versions, | |
58 | const u8 *); | |
6298263a | 59 | int qeth_l3_is_addr_covered_by_ipato(struct qeth_card *, struct qeth_ipaddr *); |
b3332930 FB |
60 | struct qeth_ipaddr *qeth_l3_get_addr_buffer(enum qeth_prot_versions); |
61 | int qeth_l3_add_ip(struct qeth_card *, struct qeth_ipaddr *); | |
62 | int qeth_l3_delete_ip(struct qeth_card *, struct qeth_ipaddr *); | |
63 | void qeth_l3_set_ip_addr_list(struct qeth_card *); | |
4a71df50 FB |
64 | |
65 | #endif /* __QETH_L3_H__ */ |