taglinefilesource code
nat48include/linux/net_alias.hstruct net_alias_type *nat;  /* alias type object bound */
nat122include/linux/net_alias.hextern int register_net_alias_type(struct net_alias_type *nat, int type);
nat123include/linux/net_alias.hextern int unregister_net_alias_type(struct net_alias_type *nat);
nat65net/core/net_alias.cstatic int nat_attach_chg(struct net_alias_type *nat, int delta);
nat66net/core/net_alias.cstatic int nat_bind(struct net_alias_type *nat,struct net_alias *alias, struct sockaddr *sa);
nat67net/core/net_alias.cstatic int nat_unbind(struct net_alias_type *nat, struct net_alias *alias);
nat72net/core/net_alias.cstatic int net_alias_devsetup(struct net_alias *alias, struct net_alias_type *nat, struct sockaddr *sa);
nat92net/core/net_alias.cstruct net_alias_type *nat;
nat93net/core/net_alias.cfor(nat = nat_base[type & 0x0f]; nat ; nat = nat->next)
nat95net/core/net_alias.cif (nat->type == type) return nat;
nat107net/core/net_alias.cnat_addr32(struct net_alias_type *nat, struct sockaddr *sa)
nat109net/core/net_alias.cif (nat->get_addr32)
nat110net/core/net_alias.creturn nat->get_addr32(nat, sa);
nat138net/core/net_alias.cnat_hash_key(struct net_alias_type *nat, struct sockaddr *sa)
nat140net/core/net_alias.creturn HASH(nat_addr32(nat,sa), sa->sa_family);
nat149net/core/net_alias.cnat_attach_chg(struct net_alias_type *nat, int delta)
nat153net/core/net_alias.cif (!nat) return -1;
nat156net/core/net_alias.cn_at = nat->n_attach + delta;
nat161net/core/net_alias.cnat->type);
nat164net/core/net_alias.cnat->n_attach = n_at;
nat175net/core/net_alias.cnat_bind(struct net_alias_type *nat,struct net_alias *alias, struct sockaddr *sa)
nat177net/core/net_alias.cif (nat->alias_init_1) nat->alias_init_1(nat, alias, sa);
nat178net/core/net_alias.creturn nat_attach_chg(nat, +1);
nat187net/core/net_alias.cnat_unbind(struct net_alias_type *nat, struct net_alias *alias)
nat189net/core/net_alias.cif (nat->alias_done_1) nat->alias_done_1(nat, alias);
nat190net/core/net_alias.creturn nat_attach_chg(nat, -1);
nat199net/core/net_alias.cstatic __inline__ int nat_dev_addr_chk_1(struct net_alias_type *nat,
nat202net/core/net_alias.cif (nat->dev_addr_chk)
nat203net/core/net_alias.creturn nat->dev_addr_chk(nat, dev, sa);
nat243net/core/net_alias.cnet_alias_devsetup(struct net_alias *alias, struct net_alias_type *nat,
nat337net/core/net_alias.cstruct net_alias_type *nat;
nat356net/core/net_alias.cnat = nat_getbytype(family);
nat357net/core/net_alias.cif (!nat) {
nat363net/core/net_alias.cnat = nat_getbytype(family);
nat364net/core/net_alias.cif (!nat) {
nat408net/core/net_alias.calias->nat = nat;
nat417net/core/net_alias.cnet_alias_devsetup(alias, nat, sa);
nat429net/core/net_alias.cnat_bind(nat, alias, sa);
nat436net/core/net_alias.caddr32 = (sa)? nat_addr32(nat, sa) : alias->dev.pa_addr;
nat486net/core/net_alias.cstruct net_alias_type *nat;
nat544net/core/net_alias.cnat = alias->nat;
nat553net/core/net_alias.cnat_unbind(nat, alias);
nat604net/core/net_alias.cstruct net_alias_type *nat;
nat644net/core/net_alias.cnat = alias->nat;
nat645net/core/net_alias.cif (nat)
nat647net/core/net_alias.cnat_unbind(nat, alias);
nat791net/core/net_alias.co_nat = alias->nat;
nat890net/core/net_alias.cstruct net_alias_type *nat;
nat894net/core/net_alias.cfor (nat = nat_base[idx]; nat ; nat = nat->next)
nat897net/core/net_alias.cnat->type, nat->name,nat->n_attach);
nat928net/core/net_alias.cstruct net_alias_type *nat;
nat937net/core/net_alias.cnat = alias->nat;
nat944net/core/net_alias.cif (nat->alias_print_1)
nat945net/core/net_alias.cdlen += nat->alias_print_1(nat, alias, buffer+len+dlen, NET_ALIASES_RECSIZ - dlen);
nat1013net/core/net_alias.cnat_addr_chk(struct net_alias_type *nat, struct net_alias_info *alias_info, struct sockaddr *sa, int flags_on, int flags_off)
nat1016net/core/net_alias.cfor(alias = alias_info->hash_tab[nat_hash_key(nat,sa)];
nat1026net/core/net_alias.cnat_dev_addr_chk_1(nat,&alias->dev,sa))
nat1038net/core/net_alias.cnat_addr_chk32(struct net_alias_type *nat, struct net_alias_info *alias_info, int family, __u32 addr32, int flags_on, int flags_off)
nat1067net/core/net_alias.cstruct net_alias_type *nat;
nat1079net/core/net_alias.cnat = nat_getbytype(sa->sa_family);
nat1080net/core/net_alias.cif (!nat)
nat1083net/core/net_alias.creturn nat_addr_chk(nat, alias_info, sa, flags_on, flags_off);
nat1118net/core/net_alias.cstruct net_alias_type *nat;
nat1142net/core/net_alias.cif ( (nat = nat_getbytype(family)) == NULL ) return main_dev;
nat1150net/core/net_alias.cif (nat_dev_addr_chk_1(nat, main_dev,sa_dst))
nat1153net/core/net_alias.cdev = nat_addr_chk(nat, alias_info, sa_dst, IFF_UP, 0);
nat1162net/core/net_alias.cif ( sa_src == NULL || nat->dev_select == NULL) return main_dev;
nat1163net/core/net_alias.cdev = nat->dev_select(nat, main_dev, sa_src);
nat1189net/core/net_alias.cstruct net_alias_type *nat;
nat1216net/core/net_alias.cif ( (nat = nat_getbytype(family)) == NULL ) return main_dev;
nat1224net/core/net_alias.cdev = nat_addr_chk32(nat, alias_info, family, dst, IFF_UP, 0);
nat1232net/core/net_alias.cif ( src == 0 || nat->dev_select == NULL) return main_dev;
nat1237net/core/net_alias.cdev = nat->dev_select(nat, main_dev, (struct sockaddr *)&sin_src);
nat1306net/core/net_alias.cint register_net_alias_type(struct net_alias_type *nat, int type)
nat1310net/core/net_alias.cif (!nat)
nat1315net/core/net_alias.cnat->type = type;
nat1316net/core/net_alias.cnat->n_attach = 0;
nat1317net/core/net_alias.chash = nat->type & 0x0f;
nat1320net/core/net_alias.cnat->next = nat_base[hash];
nat1321net/core/net_alias.cnat_base[hash] = nat;
nat1329net/core/net_alias.cint unregister_net_alias_type(struct net_alias_type *nat)
nat1335net/core/net_alias.cif (!nat)
nat1344net/core/net_alias.cif (nat->n_attach)
nat1347net/core/net_alias.cnat->n_attach);
nat1350net/core/net_alias.chash = nat->type & 0x0f;
nat1355net/core/net_alias.cif (nat==(*natp))
nat1357net/core/net_alias.c*natp = nat->next;
nat1363net/core/net_alias.cprintk("unregister_net_alias_type(type=%d): not found!\n", nat->type);