tag | line | file | source code |
nat | 48 | include/linux/net_alias.h | struct net_alias_type *nat; /* alias type object bound */ |
nat | 122 | include/linux/net_alias.h | extern int register_net_alias_type(struct net_alias_type *nat, int type); |
nat | 123 | include/linux/net_alias.h | extern int unregister_net_alias_type(struct net_alias_type *nat); |
nat | 65 | net/core/net_alias.c | static int nat_attach_chg(struct net_alias_type *nat, int delta); |
nat | 66 | net/core/net_alias.c | static int nat_bind(struct net_alias_type *nat,struct net_alias *alias, struct sockaddr *sa); |
nat | 67 | net/core/net_alias.c | static int nat_unbind(struct net_alias_type *nat, struct net_alias *alias); |
nat | 72 | net/core/net_alias.c | static int net_alias_devsetup(struct net_alias *alias, struct net_alias_type *nat, struct sockaddr *sa); |
nat | 92 | net/core/net_alias.c | struct net_alias_type *nat; |
nat | 93 | net/core/net_alias.c | for(nat = nat_base[type & 0x0f]; nat ; nat = nat->next) |
nat | 95 | net/core/net_alias.c | if (nat->type == type) return nat; |
nat | 107 | net/core/net_alias.c | nat_addr32(struct net_alias_type *nat, struct sockaddr *sa) |
nat | 109 | net/core/net_alias.c | if (nat->get_addr32) |
nat | 110 | net/core/net_alias.c | return nat->get_addr32(nat, sa); |
nat | 138 | net/core/net_alias.c | nat_hash_key(struct net_alias_type *nat, struct sockaddr *sa) |
nat | 140 | net/core/net_alias.c | return HASH(nat_addr32(nat,sa), sa->sa_family); |
nat | 149 | net/core/net_alias.c | nat_attach_chg(struct net_alias_type *nat, int delta) |
nat | 153 | net/core/net_alias.c | if (!nat) return -1; |
nat | 156 | net/core/net_alias.c | n_at = nat->n_attach + delta; |
nat | 161 | net/core/net_alias.c | nat->type); |
nat | 164 | net/core/net_alias.c | nat->n_attach = n_at; |
nat | 175 | net/core/net_alias.c | nat_bind(struct net_alias_type *nat,struct net_alias *alias, struct sockaddr *sa) |
nat | 177 | net/core/net_alias.c | if (nat->alias_init_1) nat->alias_init_1(nat, alias, sa); |
nat | 178 | net/core/net_alias.c | return nat_attach_chg(nat, +1); |
nat | 187 | net/core/net_alias.c | nat_unbind(struct net_alias_type *nat, struct net_alias *alias) |
nat | 189 | net/core/net_alias.c | if (nat->alias_done_1) nat->alias_done_1(nat, alias); |
nat | 190 | net/core/net_alias.c | return nat_attach_chg(nat, -1); |
nat | 199 | net/core/net_alias.c | static __inline__ int nat_dev_addr_chk_1(struct net_alias_type *nat, |
nat | 202 | net/core/net_alias.c | if (nat->dev_addr_chk) |
nat | 203 | net/core/net_alias.c | return nat->dev_addr_chk(nat, dev, sa); |
nat | 243 | net/core/net_alias.c | net_alias_devsetup(struct net_alias *alias, struct net_alias_type *nat, |
nat | 337 | net/core/net_alias.c | struct net_alias_type *nat; |
nat | 356 | net/core/net_alias.c | nat = nat_getbytype(family); |
nat | 357 | net/core/net_alias.c | if (!nat) { |
nat | 363 | net/core/net_alias.c | nat = nat_getbytype(family); |
nat | 364 | net/core/net_alias.c | if (!nat) { |
nat | 408 | net/core/net_alias.c | alias->nat = nat; |
nat | 417 | net/core/net_alias.c | net_alias_devsetup(alias, nat, sa); |
nat | 429 | net/core/net_alias.c | nat_bind(nat, alias, sa); |
nat | 436 | net/core/net_alias.c | addr32 = (sa)? nat_addr32(nat, sa) : alias->dev.pa_addr; |
nat | 486 | net/core/net_alias.c | struct net_alias_type *nat; |
nat | 544 | net/core/net_alias.c | nat = alias->nat; |
nat | 553 | net/core/net_alias.c | nat_unbind(nat, alias); |
nat | 604 | net/core/net_alias.c | struct net_alias_type *nat; |
nat | 644 | net/core/net_alias.c | nat = alias->nat; |
nat | 645 | net/core/net_alias.c | if (nat) |
nat | 647 | net/core/net_alias.c | nat_unbind(nat, alias); |
nat | 791 | net/core/net_alias.c | o_nat = alias->nat; |
nat | 890 | net/core/net_alias.c | struct net_alias_type *nat; |
nat | 894 | net/core/net_alias.c | for (nat = nat_base[idx]; nat ; nat = nat->next) |
nat | 897 | net/core/net_alias.c | nat->type, nat->name,nat->n_attach); |
nat | 928 | net/core/net_alias.c | struct net_alias_type *nat; |
nat | 937 | net/core/net_alias.c | nat = alias->nat; |
nat | 944 | net/core/net_alias.c | if (nat->alias_print_1) |
nat | 945 | net/core/net_alias.c | dlen += nat->alias_print_1(nat, alias, buffer+len+dlen, NET_ALIASES_RECSIZ - dlen); |
nat | 1013 | net/core/net_alias.c | nat_addr_chk(struct net_alias_type *nat, struct net_alias_info *alias_info, struct sockaddr *sa, int flags_on, int flags_off) |
nat | 1016 | net/core/net_alias.c | for(alias = alias_info->hash_tab[nat_hash_key(nat,sa)]; |
nat | 1026 | net/core/net_alias.c | nat_dev_addr_chk_1(nat,&alias->dev,sa)) |
nat | 1038 | net/core/net_alias.c | nat_addr_chk32(struct net_alias_type *nat, struct net_alias_info *alias_info, int family, __u32 addr32, int flags_on, int flags_off) |
nat | 1067 | net/core/net_alias.c | struct net_alias_type *nat; |
nat | 1079 | net/core/net_alias.c | nat = nat_getbytype(sa->sa_family); |
nat | 1080 | net/core/net_alias.c | if (!nat) |
nat | 1083 | net/core/net_alias.c | return nat_addr_chk(nat, alias_info, sa, flags_on, flags_off); |
nat | 1118 | net/core/net_alias.c | struct net_alias_type *nat; |
nat | 1142 | net/core/net_alias.c | if ( (nat = nat_getbytype(family)) == NULL ) return main_dev; |
nat | 1150 | net/core/net_alias.c | if (nat_dev_addr_chk_1(nat, main_dev,sa_dst)) |
nat | 1153 | net/core/net_alias.c | dev = nat_addr_chk(nat, alias_info, sa_dst, IFF_UP, 0); |
nat | 1162 | net/core/net_alias.c | if ( sa_src == NULL || nat->dev_select == NULL) return main_dev; |
nat | 1163 | net/core/net_alias.c | dev = nat->dev_select(nat, main_dev, sa_src); |
nat | 1189 | net/core/net_alias.c | struct net_alias_type *nat; |
nat | 1216 | net/core/net_alias.c | if ( (nat = nat_getbytype(family)) == NULL ) return main_dev; |
nat | 1224 | net/core/net_alias.c | dev = nat_addr_chk32(nat, alias_info, family, dst, IFF_UP, 0); |
nat | 1232 | net/core/net_alias.c | if ( src == 0 || nat->dev_select == NULL) return main_dev; |
nat | 1237 | net/core/net_alias.c | dev = nat->dev_select(nat, main_dev, (struct sockaddr *)&sin_src); |
nat | 1306 | net/core/net_alias.c | int register_net_alias_type(struct net_alias_type *nat, int type) |
nat | 1310 | net/core/net_alias.c | if (!nat) |
nat | 1315 | net/core/net_alias.c | nat->type = type; |
nat | 1316 | net/core/net_alias.c | nat->n_attach = 0; |
nat | 1317 | net/core/net_alias.c | hash = nat->type & 0x0f; |
nat | 1320 | net/core/net_alias.c | nat->next = nat_base[hash]; |
nat | 1321 | net/core/net_alias.c | nat_base[hash] = nat; |
nat | 1329 | net/core/net_alias.c | int unregister_net_alias_type(struct net_alias_type *nat) |
nat | 1335 | net/core/net_alias.c | if (!nat) |
nat | 1344 | net/core/net_alias.c | if (nat->n_attach) |
nat | 1347 | net/core/net_alias.c | nat->n_attach); |
nat | 1350 | net/core/net_alias.c | hash = nat->type & 0x0f; |
nat | 1355 | net/core/net_alias.c | if (nat==(*natp)) |
nat | 1357 | net/core/net_alias.c | *natp = nat->next; |
nat | 1363 | net/core/net_alias.c | printk("unregister_net_alias_type(type=%d): not found!\n", nat->type); |