diff options
| author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-09 11:01:37 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-09 11:01:37 -0500 |
| commit | f049274b012fd3b50113f194bfbbcbc3143d0da3 (patch) | |
| tree | 15ef947c1959da3196d8dbc524b435972f6d37f7 /include/linux | |
| parent | b37df85960a34dd96d0a4695c650f7972ef56c30 (diff) | |
| parent | 1539b98b561754252dd520b98fa03a688a4f81b5 (diff) | |
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (79 commits)
[IPX]: Fix NULL pointer dereference on ipx unload
[ATM]: atmarp.h needs to always include linux/types.h
[NET]: Fix net/socket.c warnings.
[NET]: cleanup sock_from_file()
[NET]: change layout of ehash table
[S390]: Add AF_IUCV socket support
[S390]: Adapt special message interface to new IUCV API
[S390]: Adapt netiucv driver to new IUCV API
[S390]: Adapt vmlogrdr driver to new IUCV API
[S390]: Adapt monreader driver to new IUCV API
[S390]: Rewrite of the IUCV base code, part 2
[S390]: Rewrite of the IUCV base code, part 1
[X.25]: Adds /proc/net/x25/forward to view active forwarded calls.
[X.25]: Adds /proc/sys/net/x25/x25_forward to control forwarding.
[X.25]: Add call forwarding
[XFRM]: xfrm_migrate() needs exporting to modules.
[PFKEYV2]: CONFIG_NET_KEY_MIGRATE option
[PFKEYV2]: Extension for dynamic update of endpoint address(es)
[XFRM]: CONFIG_XFRM_MIGRATE option
[XFRM]: User interface for handling XFRM_MSG_MIGRATE
...
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/atmarp.h | 2 | ||||
| -rw-r--r-- | include/linux/crypto.h | 148 | ||||
| -rw-r--r-- | include/linux/if_packet.h | 10 | ||||
| -rw-r--r-- | include/linux/net.h | 2 | ||||
| -rw-r--r-- | include/linux/netdevice.h | 2 | ||||
| -rw-r--r-- | include/linux/netfilter/Kbuild | 1 | ||||
| -rw-r--r-- | include/linux/netfilter/nf_conntrack_sane.h | 21 | ||||
| -rw-r--r-- | include/linux/netfilter/nf_conntrack_tcp.h | 4 | ||||
| -rw-r--r-- | include/linux/netfilter/xt_TCPMSS.h | 10 | ||||
| -rw-r--r-- | include/linux/netfilter_ipv4/ip_nat.h | 1 | ||||
| -rw-r--r-- | include/linux/netfilter_ipv4/ip_tables.h | 22 | ||||
| -rw-r--r-- | include/linux/netfilter_ipv4/ipt_TCPMSS.h | 7 | ||||
| -rw-r--r-- | include/linux/netfilter_ipv6/ip6_tables.h | 35 | ||||
| -rw-r--r-- | include/linux/netfilter_ipv6/ip6t_mh.h | 15 | ||||
| -rw-r--r-- | include/linux/pfkeyv2.h | 4 | ||||
| -rw-r--r-- | include/linux/socket.h | 4 | ||||
| -rw-r--r-- | include/linux/sysctl.h | 3 | ||||
| -rw-r--r-- | include/linux/tcp.h | 2 | ||||
| -rw-r--r-- | include/linux/wanrouter.h | 8 | ||||
| -rw-r--r-- | include/linux/xfrm.h | 19 |
20 files changed, 133 insertions, 187 deletions
diff --git a/include/linux/atmarp.h b/include/linux/atmarp.h index ee108f9e9cb7..231f4bdec730 100644 --- a/include/linux/atmarp.h +++ b/include/linux/atmarp.h | |||
| @@ -6,9 +6,7 @@ | |||
| 6 | #ifndef _LINUX_ATMARP_H | 6 | #ifndef _LINUX_ATMARP_H |
| 7 | #define _LINUX_ATMARP_H | 7 | #define _LINUX_ATMARP_H |
| 8 | 8 | ||
| 9 | #ifdef __KERNEL__ | ||
| 10 | #include <linux/types.h> | 9 | #include <linux/types.h> |
| 11 | #endif | ||
| 12 | #include <linux/atmapi.h> | 10 | #include <linux/atmapi.h> |
| 13 | #include <linux/atmioc.h> | 11 | #include <linux/atmioc.h> |
| 14 | 12 | ||
diff --git a/include/linux/crypto.h b/include/linux/crypto.h index 4aa9046601da..779aa78ee643 100644 --- a/include/linux/crypto.h +++ b/include/linux/crypto.h | |||
| @@ -51,15 +51,9 @@ | |||
| 51 | /* | 51 | /* |
| 52 | * Transform masks and values (for crt_flags). | 52 | * Transform masks and values (for crt_flags). |
| 53 | */ | 53 | */ |
| 54 | #define CRYPTO_TFM_MODE_MASK 0x000000ff | ||
| 55 | #define CRYPTO_TFM_REQ_MASK 0x000fff00 | 54 | #define CRYPTO_TFM_REQ_MASK 0x000fff00 |
| 56 | #define CRYPTO_TFM_RES_MASK 0xfff00000 | 55 | #define CRYPTO_TFM_RES_MASK 0xfff00000 |
| 57 | 56 | ||
| 58 | #define CRYPTO_TFM_MODE_ECB 0x00000001 | ||
| 59 | #define CRYPTO_TFM_MODE_CBC 0x00000002 | ||
| 60 | #define CRYPTO_TFM_MODE_CFB 0x00000004 | ||
| 61 | #define CRYPTO_TFM_MODE_CTR 0x00000008 | ||
| 62 | |||
| 63 | #define CRYPTO_TFM_REQ_WEAK_KEY 0x00000100 | 57 | #define CRYPTO_TFM_REQ_WEAK_KEY 0x00000100 |
| 64 | #define CRYPTO_TFM_REQ_MAY_SLEEP 0x00000200 | 58 | #define CRYPTO_TFM_REQ_MAY_SLEEP 0x00000200 |
| 65 | #define CRYPTO_TFM_RES_WEAK_KEY 0x00100000 | 59 | #define CRYPTO_TFM_RES_WEAK_KEY 0x00100000 |
| @@ -71,12 +65,8 @@ | |||
| 71 | /* | 65 | /* |
| 72 | * Miscellaneous stuff. | 66 | * Miscellaneous stuff. |
| 73 | */ | 67 | */ |
| 74 | #define CRYPTO_UNSPEC 0 | ||
| 75 | #define CRYPTO_MAX_ALG_NAME 64 | 68 | #define CRYPTO_MAX_ALG_NAME 64 |
| 76 | 69 | ||
| 77 | #define CRYPTO_DIR_ENCRYPT 1 | ||
| 78 | #define CRYPTO_DIR_DECRYPT 0 | ||
| 79 | |||
| 80 | /* | 70 | /* |
| 81 | * The macro CRYPTO_MINALIGN_ATTR (along with the void * type in the actual | 71 | * The macro CRYPTO_MINALIGN_ATTR (along with the void * type in the actual |
| 82 | * declaration) is used to ensure that the crypto_tfm context structure is | 72 | * declaration) is used to ensure that the crypto_tfm context structure is |
| @@ -148,19 +138,6 @@ struct cipher_alg { | |||
| 148 | unsigned int keylen); | 138 | unsigned int keylen); |
| 149 | void (*cia_encrypt)(struct crypto_tfm *tfm, u8 *dst, const u8 *src); | 139 | void (*cia_encrypt)(struct crypto_tfm *tfm, u8 *dst, const u8 *src); |
| 150 | void (*cia_decrypt)(struct crypto_tfm *tfm, u8 *dst, const u8 *src); | 140 | void (*cia_decrypt)(struct crypto_tfm *tfm, u8 *dst, const u8 *src); |
| 151 | |||
| 152 | unsigned int (*cia_encrypt_ecb)(const struct cipher_desc *desc, | ||
| 153 | u8 *dst, const u8 *src, | ||
| 154 | unsigned int nbytes) __deprecated; | ||
| 155 | unsigned int (*cia_decrypt_ecb)(const struct cipher_desc *desc, | ||
| 156 | u8 *dst, const u8 *src, | ||
| 157 | unsigned int nbytes) __deprecated; | ||
| 158 | unsigned int (*cia_encrypt_cbc)(const struct cipher_desc *desc, | ||
| 159 | u8 *dst, const u8 *src, | ||
| 160 | unsigned int nbytes) __deprecated; | ||
| 161 | unsigned int (*cia_decrypt_cbc)(const struct cipher_desc *desc, | ||
| 162 | u8 *dst, const u8 *src, | ||
| 163 | unsigned int nbytes) __deprecated; | ||
| 164 | }; | 141 | }; |
| 165 | 142 | ||
| 166 | struct digest_alg { | 143 | struct digest_alg { |
| @@ -243,11 +220,6 @@ int crypto_unregister_alg(struct crypto_alg *alg); | |||
| 243 | #ifdef CONFIG_CRYPTO | 220 | #ifdef CONFIG_CRYPTO |
| 244 | int crypto_has_alg(const char *name, u32 type, u32 mask); | 221 | int crypto_has_alg(const char *name, u32 type, u32 mask); |
| 245 | #else | 222 | #else |
| 246 | static inline int crypto_alg_available(const char *name, u32 flags) | ||
| 247 | { | ||
| 248 | return 0; | ||
| 249 | } | ||
| 250 | |||
| 251 | static inline int crypto_has_alg(const char *name, u32 type, u32 mask) | 223 | static inline int crypto_has_alg(const char *name, u32 type, u32 mask) |
| 252 | { | 224 | { |
| 253 | return 0; | 225 | return 0; |
| @@ -339,13 +311,18 @@ struct crypto_tfm { | |||
| 339 | void *__crt_ctx[] CRYPTO_MINALIGN_ATTR; | 311 | void *__crt_ctx[] CRYPTO_MINALIGN_ATTR; |
| 340 | }; | 312 | }; |
| 341 | 313 | ||
| 342 | #define crypto_cipher crypto_tfm | ||
| 343 | #define crypto_comp crypto_tfm | ||
| 344 | |||
| 345 | struct crypto_blkcipher { | 314 | struct crypto_blkcipher { |
| 346 | struct crypto_tfm base; | 315 | struct crypto_tfm base; |
| 347 | }; | 316 | }; |
| 348 | 317 | ||
| 318 | struct crypto_cipher { | ||
| 319 | struct crypto_tfm base; | ||
| 320 | }; | ||
| 321 | |||
| 322 | struct crypto_comp { | ||
| 323 | struct crypto_tfm base; | ||
| 324 | }; | ||
| 325 | |||
| 349 | struct crypto_hash { | 326 | struct crypto_hash { |
| 350 | struct crypto_tfm base; | 327 | struct crypto_tfm base; |
| 351 | }; | 328 | }; |
| @@ -395,40 +372,11 @@ static inline u32 crypto_tfm_alg_type(struct crypto_tfm *tfm) | |||
| 395 | return tfm->__crt_alg->cra_flags & CRYPTO_ALG_TYPE_MASK; | 372 | return tfm->__crt_alg->cra_flags & CRYPTO_ALG_TYPE_MASK; |
| 396 | } | 373 | } |
| 397 | 374 | ||
| 398 | static unsigned int crypto_tfm_alg_min_keysize(struct crypto_tfm *tfm) | ||
| 399 | __deprecated; | ||
| 400 | static inline unsigned int crypto_tfm_alg_min_keysize(struct crypto_tfm *tfm) | ||
| 401 | { | ||
| 402 | BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_CIPHER); | ||
| 403 | return tfm->__crt_alg->cra_cipher.cia_min_keysize; | ||
| 404 | } | ||
| 405 | |||
| 406 | static unsigned int crypto_tfm_alg_max_keysize(struct crypto_tfm *tfm) | ||
| 407 | __deprecated; | ||
| 408 | static inline unsigned int crypto_tfm_alg_max_keysize(struct crypto_tfm *tfm) | ||
| 409 | { | ||
| 410 | BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_CIPHER); | ||
| 411 | return tfm->__crt_alg->cra_cipher.cia_max_keysize; | ||
| 412 | } | ||
| 413 | |||
| 414 | static unsigned int crypto_tfm_alg_ivsize(struct crypto_tfm *tfm) __deprecated; | ||
| 415 | static inline unsigned int crypto_tfm_alg_ivsize(struct crypto_tfm *tfm) | ||
| 416 | { | ||
| 417 | BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_CIPHER); | ||
| 418 | return tfm->crt_cipher.cit_ivsize; | ||
| 419 | } | ||
| 420 | |||
| 421 | static inline unsigned int crypto_tfm_alg_blocksize(struct crypto_tfm *tfm) | 375 | static inline unsigned int crypto_tfm_alg_blocksize(struct crypto_tfm *tfm) |
| 422 | { | 376 | { |
| 423 | return tfm->__crt_alg->cra_blocksize; | 377 | return tfm->__crt_alg->cra_blocksize; |
| 424 | } | 378 | } |
| 425 | 379 | ||
| 426 | static inline unsigned int crypto_tfm_alg_digestsize(struct crypto_tfm *tfm) | ||
| 427 | { | ||
| 428 | BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_DIGEST); | ||
| 429 | return tfm->__crt_alg->cra_digest.dia_digestsize; | ||
| 430 | } | ||
| 431 | |||
| 432 | static inline unsigned int crypto_tfm_alg_alignmask(struct crypto_tfm *tfm) | 380 | static inline unsigned int crypto_tfm_alg_alignmask(struct crypto_tfm *tfm) |
| 433 | { | 381 | { |
| 434 | return tfm->__crt_alg->cra_alignmask; | 382 | return tfm->__crt_alg->cra_alignmask; |
| @@ -633,7 +581,7 @@ static inline struct crypto_cipher *crypto_alloc_cipher(const char *alg_name, | |||
| 633 | 581 | ||
| 634 | static inline struct crypto_tfm *crypto_cipher_tfm(struct crypto_cipher *tfm) | 582 | static inline struct crypto_tfm *crypto_cipher_tfm(struct crypto_cipher *tfm) |
| 635 | { | 583 | { |
| 636 | return tfm; | 584 | return &tfm->base; |
| 637 | } | 585 | } |
| 638 | 586 | ||
| 639 | static inline void crypto_free_cipher(struct crypto_cipher *tfm) | 587 | static inline void crypto_free_cipher(struct crypto_cipher *tfm) |
| @@ -809,76 +757,6 @@ static inline int crypto_hash_setkey(struct crypto_hash *hash, | |||
| 809 | return crypto_hash_crt(hash)->setkey(hash, key, keylen); | 757 | return crypto_hash_crt(hash)->setkey(hash, key, keylen); |
| 810 | } | 758 | } |
| 811 | 759 | ||
| 812 | static int crypto_cipher_encrypt(struct crypto_tfm *tfm, | ||
| 813 | struct scatterlist *dst, | ||
| 814 | struct scatterlist *src, | ||
| 815 | unsigned int nbytes) __deprecated; | ||
| 816 | static inline int crypto_cipher_encrypt(struct crypto_tfm *tfm, | ||
| 817 | struct scatterlist *dst, | ||
| 818 | struct scatterlist *src, | ||
| 819 | unsigned int nbytes) | ||
| 820 | { | ||
| 821 | BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_CIPHER); | ||
| 822 | return tfm->crt_cipher.cit_encrypt(tfm, dst, src, nbytes); | ||
| 823 | } | ||
| 824 | |||
| 825 | static int crypto_cipher_encrypt_iv(struct crypto_tfm *tfm, | ||
| 826 | struct scatterlist *dst, | ||
| 827 | struct scatterlist *src, | ||
| 828 | unsigned int nbytes, u8 *iv) __deprecated; | ||
| 829 | static inline int crypto_cipher_encrypt_iv(struct crypto_tfm *tfm, | ||
| 830 | struct scatterlist *dst, | ||
| 831 | struct scatterlist *src, | ||
| 832 | unsigned int nbytes, u8 *iv) | ||
| 833 | { | ||
| 834 | BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_CIPHER); | ||
| 835 | return tfm->crt_cipher.cit_encrypt_iv(tfm, dst, src, nbytes, iv); | ||
| 836 | } | ||
| 837 | |||
| 838 | static int crypto_cipher_decrypt(struct crypto_tfm *tfm, | ||
| 839 | struct scatterlist *dst, | ||
| 840 | struct scatterlist *src, | ||
| 841 | unsigned int nbytes) __deprecated; | ||
| 842 | static inline int crypto_cipher_decrypt(struct crypto_tfm *tfm, | ||
| 843 | struct scatterlist *dst, | ||
| 844 | struct scatterlist *src, | ||
| 845 | unsigned int nbytes) | ||
| 846 | { | ||
| 847 | BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_CIPHER); | ||
| 848 | return tfm->crt_cipher.cit_decrypt(tfm, dst, src, nbytes); | ||
| 849 | } | ||
| 850 | |||
| 851 | static int crypto_cipher_decrypt_iv(struct crypto_tfm *tfm, | ||
| 852 | struct scatterlist *dst, | ||
| 853 | struct scatterlist *src, | ||
| 854 | unsigned int nbytes, u8 *iv) __deprecated; | ||
| 855 | static inline int crypto_cipher_decrypt_iv(struct crypto_tfm *tfm, | ||
| 856 | struct scatterlist *dst, | ||
| 857 | struct scatterlist *src, | ||
| 858 | unsigned int nbytes, u8 *iv) | ||
| 859 | { | ||
| 860 | BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_CIPHER); | ||
| 861 | return tfm->crt_cipher.cit_decrypt_iv(tfm, dst, src, nbytes, iv); | ||
| 862 | } | ||
| 863 | |||
| 864 | static void crypto_cipher_set_iv(struct crypto_tfm *tfm, | ||
| 865 | const u8 *src, unsigned int len) __deprecated; | ||
| 866 | static inline void crypto_cipher_set_iv(struct crypto_tfm *tfm, | ||
| 867 | const u8 *src, unsigned int len) | ||
| 868 | { | ||
| 869 | BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_CIPHER); | ||
| 870 | memcpy(tfm->crt_cipher.cit_iv, src, len); | ||
| 871 | } | ||
| 872 | |||
| 873 | static void crypto_cipher_get_iv(struct crypto_tfm *tfm, | ||
| 874 | u8 *dst, unsigned int len) __deprecated; | ||
| 875 | static inline void crypto_cipher_get_iv(struct crypto_tfm *tfm, | ||
| 876 | u8 *dst, unsigned int len) | ||
| 877 | { | ||
| 878 | BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_CIPHER); | ||
| 879 | memcpy(dst, tfm->crt_cipher.cit_iv, len); | ||
| 880 | } | ||
| 881 | |||
| 882 | static inline struct crypto_comp *__crypto_comp_cast(struct crypto_tfm *tfm) | 760 | static inline struct crypto_comp *__crypto_comp_cast(struct crypto_tfm *tfm) |
| 883 | { | 761 | { |
| 884 | return (struct crypto_comp *)tfm; | 762 | return (struct crypto_comp *)tfm; |
| @@ -903,7 +781,7 @@ static inline struct crypto_comp *crypto_alloc_comp(const char *alg_name, | |||
| 903 | 781 | ||
| 904 | static inline struct crypto_tfm *crypto_comp_tfm(struct crypto_comp *tfm) | 782 | static inline struct crypto_tfm *crypto_comp_tfm(struct crypto_comp *tfm) |
| 905 | { | 783 | { |
| 906 | return tfm; | 784 | return &tfm->base; |
| 907 | } | 785 | } |
| 908 | 786 | ||
| 909 | static inline void crypto_free_comp(struct crypto_comp *tfm) | 787 | static inline void crypto_free_comp(struct crypto_comp *tfm) |
| @@ -934,14 +812,16 @@ static inline int crypto_comp_compress(struct crypto_comp *tfm, | |||
| 934 | const u8 *src, unsigned int slen, | 812 | const u8 *src, unsigned int slen, |
| 935 | u8 *dst, unsigned int *dlen) | 813 | u8 *dst, unsigned int *dlen) |
| 936 | { | 814 | { |
| 937 | return crypto_comp_crt(tfm)->cot_compress(tfm, src, slen, dst, dlen); | 815 | return crypto_comp_crt(tfm)->cot_compress(crypto_comp_tfm(tfm), |
| 816 | src, slen, dst, dlen); | ||
| 938 | } | 817 | } |
| 939 | 818 | ||
| 940 | static inline int crypto_comp_decompress(struct crypto_comp *tfm, | 819 | static inline int crypto_comp_decompress(struct crypto_comp *tfm, |
| 941 | const u8 *src, unsigned int slen, | 820 | const u8 *src, unsigned int slen, |
| 942 | u8 *dst, unsigned int *dlen) | 821 | u8 *dst, unsigned int *dlen) |
| 943 | { | 822 | { |
| 944 | return crypto_comp_crt(tfm)->cot_decompress(tfm, src, slen, dst, dlen); | 823 | return crypto_comp_crt(tfm)->cot_decompress(crypto_comp_tfm(tfm), |
| 824 | src, slen, dst, dlen); | ||
| 945 | } | 825 | } |
| 946 | 826 | ||
| 947 | #endif /* _LINUX_CRYPTO_H */ | 827 | #endif /* _LINUX_CRYPTO_H */ |
diff --git a/include/linux/if_packet.h b/include/linux/if_packet.h index 99393ef3af39..f3de05c30678 100644 --- a/include/linux/if_packet.h +++ b/include/linux/if_packet.h | |||
| @@ -41,6 +41,7 @@ struct sockaddr_ll | |||
| 41 | #define PACKET_RX_RING 5 | 41 | #define PACKET_RX_RING 5 |
| 42 | #define PACKET_STATISTICS 6 | 42 | #define PACKET_STATISTICS 6 |
| 43 | #define PACKET_COPY_THRESH 7 | 43 | #define PACKET_COPY_THRESH 7 |
| 44 | #define PACKET_AUXDATA 8 | ||
| 44 | 45 | ||
| 45 | struct tpacket_stats | 46 | struct tpacket_stats |
| 46 | { | 47 | { |
| @@ -48,6 +49,15 @@ struct tpacket_stats | |||
| 48 | unsigned int tp_drops; | 49 | unsigned int tp_drops; |
| 49 | }; | 50 | }; |
| 50 | 51 | ||
| 52 | struct tpacket_auxdata | ||
| 53 | { | ||
| 54 | __u32 tp_status; | ||
| 55 | __u32 tp_len; | ||
| 56 | __u32 tp_snaplen; | ||
| 57 | __u16 tp_mac; | ||
| 58 | __u16 tp_net; | ||
| 59 | }; | ||
| 60 | |||
| 51 | struct tpacket_hdr | 61 | struct tpacket_hdr |
| 52 | { | 62 | { |
| 53 | unsigned long tp_status; | 63 | unsigned long tp_status; |
diff --git a/include/linux/net.h b/include/linux/net.h index f28d8a2e2c91..4db21e63d8d2 100644 --- a/include/linux/net.h +++ b/include/linux/net.h | |||
| @@ -24,7 +24,7 @@ | |||
| 24 | struct poll_table_struct; | 24 | struct poll_table_struct; |
| 25 | struct inode; | 25 | struct inode; |
| 26 | 26 | ||
| 27 | #define NPROTO 32 /* should be enough for now.. */ | 27 | #define NPROTO 33 /* should be enough for now.. */ |
| 28 | 28 | ||
| 29 | #define SYS_SOCKET 1 /* sys_socket(2) */ | 29 | #define SYS_SOCKET 1 /* sys_socket(2) */ |
| 30 | #define SYS_BIND 2 /* sys_bind(2) */ | 30 | #define SYS_BIND 2 /* sys_bind(2) */ |
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 2e37f5012788..1a528548cd1d 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
| @@ -589,7 +589,7 @@ extern int dev_open(struct net_device *dev); | |||
| 589 | extern int dev_close(struct net_device *dev); | 589 | extern int dev_close(struct net_device *dev); |
| 590 | extern int dev_queue_xmit(struct sk_buff *skb); | 590 | extern int dev_queue_xmit(struct sk_buff *skb); |
| 591 | extern int register_netdevice(struct net_device *dev); | 591 | extern int register_netdevice(struct net_device *dev); |
| 592 | extern int unregister_netdevice(struct net_device *dev); | 592 | extern void unregister_netdevice(struct net_device *dev); |
| 593 | extern void free_netdev(struct net_device *dev); | 593 | extern void free_netdev(struct net_device *dev); |
| 594 | extern void synchronize_net(void); | 594 | extern void synchronize_net(void); |
| 595 | extern int register_netdevice_notifier(struct notifier_block *nb); | 595 | extern int register_netdevice_notifier(struct notifier_block *nb); |
diff --git a/include/linux/netfilter/Kbuild b/include/linux/netfilter/Kbuild index 6328175a1c3a..43397a414cd6 100644 --- a/include/linux/netfilter/Kbuild +++ b/include/linux/netfilter/Kbuild | |||
| @@ -33,6 +33,7 @@ header-y += xt_tcpmss.h | |||
| 33 | header-y += xt_tcpudp.h | 33 | header-y += xt_tcpudp.h |
| 34 | header-y += xt_SECMARK.h | 34 | header-y += xt_SECMARK.h |
| 35 | header-y += xt_CONNSECMARK.h | 35 | header-y += xt_CONNSECMARK.h |
| 36 | header-y += xt_TCPMSS.h | ||
| 36 | 37 | ||
| 37 | unifdef-y += nf_conntrack_common.h | 38 | unifdef-y += nf_conntrack_common.h |
| 38 | unifdef-y += nf_conntrack_ftp.h | 39 | unifdef-y += nf_conntrack_ftp.h |
diff --git a/include/linux/netfilter/nf_conntrack_sane.h b/include/linux/netfilter/nf_conntrack_sane.h new file mode 100644 index 000000000000..4767d6e23e97 --- /dev/null +++ b/include/linux/netfilter/nf_conntrack_sane.h | |||
| @@ -0,0 +1,21 @@ | |||
| 1 | #ifndef _NF_CONNTRACK_SANE_H | ||
| 2 | #define _NF_CONNTRACK_SANE_H | ||
| 3 | /* SANE tracking. */ | ||
| 4 | |||
| 5 | #ifdef __KERNEL__ | ||
| 6 | |||
| 7 | #define SANE_PORT 6566 | ||
| 8 | |||
| 9 | enum sane_state { | ||
| 10 | SANE_STATE_NORMAL, | ||
| 11 | SANE_STATE_START_REQUESTED, | ||
| 12 | }; | ||
| 13 | |||
| 14 | /* This structure exists only once per master */ | ||
| 15 | struct nf_ct_sane_master { | ||
| 16 | enum sane_state state; | ||
| 17 | }; | ||
| 18 | |||
| 19 | #endif /* __KERNEL__ */ | ||
| 20 | |||
| 21 | #endif /* _NF_CONNTRACK_SANE_H */ | ||
diff --git a/include/linux/netfilter/nf_conntrack_tcp.h b/include/linux/netfilter/nf_conntrack_tcp.h index 2f4e98b90cc0..007af4c2770b 100644 --- a/include/linux/netfilter/nf_conntrack_tcp.h +++ b/include/linux/netfilter/nf_conntrack_tcp.h | |||
| @@ -27,6 +27,9 @@ enum tcp_conntrack { | |||
| 27 | /* This sender sent FIN first */ | 27 | /* This sender sent FIN first */ |
| 28 | #define IP_CT_TCP_FLAG_CLOSE_INIT 0x04 | 28 | #define IP_CT_TCP_FLAG_CLOSE_INIT 0x04 |
| 29 | 29 | ||
| 30 | /* Be liberal in window checking */ | ||
| 31 | #define IP_CT_TCP_FLAG_BE_LIBERAL 0x08 | ||
| 32 | |||
| 30 | #ifdef __KERNEL__ | 33 | #ifdef __KERNEL__ |
| 31 | 34 | ||
| 32 | struct ip_ct_tcp_state { | 35 | struct ip_ct_tcp_state { |
| @@ -34,7 +37,6 @@ struct ip_ct_tcp_state { | |||
| 34 | u_int32_t td_maxend; /* max of ack + max(win, 1) */ | 37 | u_int32_t td_maxend; /* max of ack + max(win, 1) */ |
| 35 | u_int32_t td_maxwin; /* max(win) */ | 38 | u_int32_t td_maxwin; /* max(win) */ |
| 36 | u_int8_t td_scale; /* window scale factor */ | 39 | u_int8_t td_scale; /* window scale factor */ |
| 37 | u_int8_t loose; /* used when connection picked up from the middle */ | ||
| 38 | u_int8_t flags; /* per direction options */ | 40 | u_int8_t flags; /* per direction options */ |
| 39 | }; | 41 | }; |
| 40 | 42 | ||
diff --git a/include/linux/netfilter/xt_TCPMSS.h b/include/linux/netfilter/xt_TCPMSS.h new file mode 100644 index 000000000000..53a292cd47f3 --- /dev/null +++ b/include/linux/netfilter/xt_TCPMSS.h | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | #ifndef _XT_TCPMSS_H | ||
| 2 | #define _XT_TCPMSS_H | ||
| 3 | |||
| 4 | struct xt_tcpmss_info { | ||
| 5 | u_int16_t mss; | ||
| 6 | }; | ||
| 7 | |||
| 8 | #define XT_TCPMSS_CLAMP_PMTU 0xffff | ||
| 9 | |||
| 10 | #endif /* _XT_TCPMSS_H */ | ||
diff --git a/include/linux/netfilter_ipv4/ip_nat.h b/include/linux/netfilter_ipv4/ip_nat.h index bdf553620ca1..bbca89aab813 100644 --- a/include/linux/netfilter_ipv4/ip_nat.h +++ b/include/linux/netfilter_ipv4/ip_nat.h | |||
| @@ -16,6 +16,7 @@ enum ip_nat_manip_type | |||
| 16 | 16 | ||
| 17 | #define IP_NAT_RANGE_MAP_IPS 1 | 17 | #define IP_NAT_RANGE_MAP_IPS 1 |
| 18 | #define IP_NAT_RANGE_PROTO_SPECIFIED 2 | 18 | #define IP_NAT_RANGE_PROTO_SPECIFIED 2 |
| 19 | #define IP_NAT_RANGE_PROTO_RANDOM 4 /* add randomness to "port" selection */ | ||
| 19 | 20 | ||
| 20 | /* NAT sequence number modifications */ | 21 | /* NAT sequence number modifications */ |
| 21 | struct ip_nat_seq { | 22 | struct ip_nat_seq { |
diff --git a/include/linux/netfilter_ipv4/ip_tables.h b/include/linux/netfilter_ipv4/ip_tables.h index 98d566c5e32a..9527296595cd 100644 --- a/include/linux/netfilter_ipv4/ip_tables.h +++ b/include/linux/netfilter_ipv4/ip_tables.h | |||
| @@ -272,25 +272,9 @@ ipt_get_target(struct ipt_entry *e) | |||
| 272 | #include <linux/init.h> | 272 | #include <linux/init.h> |
| 273 | extern void ipt_init(void) __init; | 273 | extern void ipt_init(void) __init; |
| 274 | 274 | ||
| 275 | #define ipt_register_target(tgt) \ | 275 | extern int ipt_register_table(struct xt_table *table, |
| 276 | ({ (tgt)->family = AF_INET; \ | ||
| 277 | xt_register_target(tgt); }) | ||
| 278 | #define ipt_unregister_target(tgt) xt_unregister_target(tgt) | ||
| 279 | |||
| 280 | #define ipt_register_match(mtch) \ | ||
| 281 | ({ (mtch)->family = AF_INET; \ | ||
| 282 | xt_register_match(mtch); }) | ||
| 283 | #define ipt_unregister_match(mtch) xt_unregister_match(mtch) | ||
| 284 | |||
| 285 | //#define ipt_register_table(tbl, repl) xt_register_table(AF_INET, tbl, repl) | ||
| 286 | //#define ipt_unregister_table(tbl) xt_unregister_table(AF_INET, tbl) | ||
| 287 | |||
| 288 | extern int ipt_register_table(struct ipt_table *table, | ||
| 289 | const struct ipt_replace *repl); | 276 | const struct ipt_replace *repl); |
| 290 | extern void ipt_unregister_table(struct ipt_table *table); | 277 | extern void ipt_unregister_table(struct xt_table *table); |
| 291 | |||
| 292 | /* net/sched/ipt.c: Gimme access to your targets! Gets target->me. */ | ||
| 293 | extern struct ipt_target *ipt_find_target(const char *name, u8 revision); | ||
| 294 | 278 | ||
| 295 | /* Standard entry. */ | 279 | /* Standard entry. */ |
| 296 | struct ipt_standard | 280 | struct ipt_standard |
| @@ -315,7 +299,7 @@ extern unsigned int ipt_do_table(struct sk_buff **pskb, | |||
| 315 | unsigned int hook, | 299 | unsigned int hook, |
| 316 | const struct net_device *in, | 300 | const struct net_device *in, |
| 317 | const struct net_device *out, | 301 | const struct net_device *out, |
| 318 | struct ipt_table *table); | 302 | struct xt_table *table); |
| 319 | 303 | ||
| 320 | #define IPT_ALIGN(s) XT_ALIGN(s) | 304 | #define IPT_ALIGN(s) XT_ALIGN(s) |
| 321 | 305 | ||
diff --git a/include/linux/netfilter_ipv4/ipt_TCPMSS.h b/include/linux/netfilter_ipv4/ipt_TCPMSS.h index aadb39580cd3..7a850f945824 100644 --- a/include/linux/netfilter_ipv4/ipt_TCPMSS.h +++ b/include/linux/netfilter_ipv4/ipt_TCPMSS.h | |||
| @@ -1,10 +1,9 @@ | |||
| 1 | #ifndef _IPT_TCPMSS_H | 1 | #ifndef _IPT_TCPMSS_H |
| 2 | #define _IPT_TCPMSS_H | 2 | #define _IPT_TCPMSS_H |
| 3 | 3 | ||
| 4 | struct ipt_tcpmss_info { | 4 | #include <linux/netfilter/xt_TCPMSS.h> |
| 5 | u_int16_t mss; | ||
| 6 | }; | ||
| 7 | 5 | ||
| 8 | #define IPT_TCPMSS_CLAMP_PMTU 0xffff | 6 | #define ipt_tcpmss_info xt_tcpmss_info |
| 7 | #define IPT_TCPMSS_CLAMP_PMTU XT_TCPMSS_CLAMP_PMTU | ||
| 9 | 8 | ||
| 10 | #endif /*_IPT_TCPMSS_H*/ | 9 | #endif /*_IPT_TCPMSS_H*/ |
diff --git a/include/linux/netfilter_ipv6/ip6_tables.h b/include/linux/netfilter_ipv6/ip6_tables.h index 4aed340401db..61aa10412fc8 100644 --- a/include/linux/netfilter_ipv6/ip6_tables.h +++ b/include/linux/netfilter_ipv6/ip6_tables.h | |||
| @@ -104,6 +104,25 @@ struct ip6t_entry | |||
| 104 | unsigned char elems[0]; | 104 | unsigned char elems[0]; |
| 105 | }; | 105 | }; |
| 106 | 106 | ||
| 107 | /* Standard entry */ | ||
| 108 | struct ip6t_standard | ||
| 109 | { | ||
| 110 | struct ip6t_entry entry; | ||
| 111 | struct ip6t_standard_target target; | ||
| 112 | }; | ||
| 113 | |||
| 114 | struct ip6t_error_target | ||
| 115 | { | ||
| 116 | struct ip6t_entry_target target; | ||
| 117 | char errorname[IP6T_FUNCTION_MAXNAMELEN]; | ||
| 118 | }; | ||
| 119 | |||
| 120 | struct ip6t_error | ||
| 121 | { | ||
| 122 | struct ip6t_entry entry; | ||
| 123 | struct ip6t_error_target target; | ||
| 124 | }; | ||
| 125 | |||
| 107 | /* | 126 | /* |
| 108 | * New IP firewall options for [gs]etsockopt at the RAW IP level. | 127 | * New IP firewall options for [gs]etsockopt at the RAW IP level. |
| 109 | * Unlike BSD Linux inherits IP options so you don't have to use | 128 | * Unlike BSD Linux inherits IP options so you don't have to use |
| @@ -286,24 +305,14 @@ ip6t_get_target(struct ip6t_entry *e) | |||
| 286 | #include <linux/init.h> | 305 | #include <linux/init.h> |
| 287 | extern void ip6t_init(void) __init; | 306 | extern void ip6t_init(void) __init; |
| 288 | 307 | ||
| 289 | #define ip6t_register_target(tgt) \ | 308 | extern int ip6t_register_table(struct xt_table *table, |
| 290 | ({ (tgt)->family = AF_INET6; \ | ||
| 291 | xt_register_target(tgt); }) | ||
| 292 | #define ip6t_unregister_target(tgt) xt_unregister_target(tgt) | ||
| 293 | |||
| 294 | #define ip6t_register_match(match) \ | ||
| 295 | ({ (match)->family = AF_INET6; \ | ||
| 296 | xt_register_match(match); }) | ||
| 297 | #define ip6t_unregister_match(match) xt_unregister_match(match) | ||
| 298 | |||
| 299 | extern int ip6t_register_table(struct ip6t_table *table, | ||
| 300 | const struct ip6t_replace *repl); | 309 | const struct ip6t_replace *repl); |
| 301 | extern void ip6t_unregister_table(struct ip6t_table *table); | 310 | extern void ip6t_unregister_table(struct xt_table *table); |
| 302 | extern unsigned int ip6t_do_table(struct sk_buff **pskb, | 311 | extern unsigned int ip6t_do_table(struct sk_buff **pskb, |
| 303 | unsigned int hook, | 312 | unsigned int hook, |
| 304 | const struct net_device *in, | 313 | const struct net_device *in, |
| 305 | const struct net_device *out, | 314 | const struct net_device *out, |
| 306 | struct ip6t_table *table); | 315 | struct xt_table *table); |
| 307 | 316 | ||
| 308 | /* Check for an extension */ | 317 | /* Check for an extension */ |
| 309 | extern int ip6t_ext_hdr(u8 nexthdr); | 318 | extern int ip6t_ext_hdr(u8 nexthdr); |
diff --git a/include/linux/netfilter_ipv6/ip6t_mh.h b/include/linux/netfilter_ipv6/ip6t_mh.h new file mode 100644 index 000000000000..b9ca9a5f74d0 --- /dev/null +++ b/include/linux/netfilter_ipv6/ip6t_mh.h | |||
| @@ -0,0 +1,15 @@ | |||
| 1 | #ifndef _IP6T_MH_H | ||
| 2 | #define _IP6T_MH_H | ||
| 3 | |||
| 4 | /* MH matching stuff */ | ||
| 5 | struct ip6t_mh | ||
| 6 | { | ||
| 7 | u_int8_t types[2]; /* MH type range */ | ||
| 8 | u_int8_t invflags; /* Inverse flags */ | ||
| 9 | }; | ||
| 10 | |||
| 11 | /* Values for "invflags" field in struct ip6t_mh. */ | ||
| 12 | #define IP6T_MH_INV_TYPE 0x01 /* Invert the sense of type. */ | ||
| 13 | #define IP6T_MH_INV_MASK 0x01 /* All possible flags. */ | ||
| 14 | |||
| 15 | #endif /*_IP6T_MH_H*/ | ||
diff --git a/include/linux/pfkeyv2.h b/include/linux/pfkeyv2.h index 265bafab6494..d9db5f62ee48 100644 --- a/include/linux/pfkeyv2.h +++ b/include/linux/pfkeyv2.h | |||
| @@ -251,7 +251,8 @@ struct sadb_x_sec_ctx { | |||
| 251 | #define SADB_X_SPDEXPIRE 21 | 251 | #define SADB_X_SPDEXPIRE 21 |
| 252 | #define SADB_X_SPDDELETE2 22 | 252 | #define SADB_X_SPDDELETE2 22 |
| 253 | #define SADB_X_NAT_T_NEW_MAPPING 23 | 253 | #define SADB_X_NAT_T_NEW_MAPPING 23 |
| 254 | #define SADB_MAX 23 | 254 | #define SADB_X_MIGRATE 24 |
| 255 | #define SADB_MAX 24 | ||
| 255 | 256 | ||
| 256 | /* Security Association flags */ | 257 | /* Security Association flags */ |
| 257 | #define SADB_SAFLAGS_PFS 1 | 258 | #define SADB_SAFLAGS_PFS 1 |
| @@ -297,6 +298,7 @@ struct sadb_x_sec_ctx { | |||
| 297 | #define SADB_X_EALG_BLOWFISHCBC 7 | 298 | #define SADB_X_EALG_BLOWFISHCBC 7 |
| 298 | #define SADB_EALG_NULL 11 | 299 | #define SADB_EALG_NULL 11 |
| 299 | #define SADB_X_EALG_AESCBC 12 | 300 | #define SADB_X_EALG_AESCBC 12 |
| 301 | #define SADB_X_EALG_CAMELLIACBC 22 | ||
| 300 | #define SADB_EALG_MAX 253 /* last EALG */ | 302 | #define SADB_EALG_MAX 253 /* last EALG */ |
| 301 | /* private allocations should use 249-255 (RFC2407) */ | 303 | /* private allocations should use 249-255 (RFC2407) */ |
| 302 | #define SADB_X_EALG_SERPENTCBC 252 /* draft-ietf-ipsec-ciph-aes-cbc-00 */ | 304 | #define SADB_X_EALG_SERPENTCBC 252 /* draft-ietf-ipsec-ciph-aes-cbc-00 */ |
diff --git a/include/linux/socket.h b/include/linux/socket.h index 92cd38efad7f..fcd35a210e7f 100644 --- a/include/linux/socket.h +++ b/include/linux/socket.h | |||
| @@ -187,7 +187,8 @@ struct ucred { | |||
| 187 | #define AF_LLC 26 /* Linux LLC */ | 187 | #define AF_LLC 26 /* Linux LLC */ |
| 188 | #define AF_TIPC 30 /* TIPC sockets */ | 188 | #define AF_TIPC 30 /* TIPC sockets */ |
| 189 | #define AF_BLUETOOTH 31 /* Bluetooth sockets */ | 189 | #define AF_BLUETOOTH 31 /* Bluetooth sockets */ |
| 190 | #define AF_MAX 32 /* For now.. */ | 190 | #define AF_IUCV 32 /* IUCV sockets */ |
| 191 | #define AF_MAX 33 /* For now.. */ | ||
| 191 | 192 | ||
| 192 | /* Protocol families, same as address families. */ | 193 | /* Protocol families, same as address families. */ |
| 193 | #define PF_UNSPEC AF_UNSPEC | 194 | #define PF_UNSPEC AF_UNSPEC |
| @@ -220,6 +221,7 @@ struct ucred { | |||
| 220 | #define PF_LLC AF_LLC | 221 | #define PF_LLC AF_LLC |
| 221 | #define PF_TIPC AF_TIPC | 222 | #define PF_TIPC AF_TIPC |
| 222 | #define PF_BLUETOOTH AF_BLUETOOTH | 223 | #define PF_BLUETOOTH AF_BLUETOOTH |
| 224 | #define PF_IUCV AF_IUCV | ||
| 223 | #define PF_MAX AF_MAX | 225 | #define PF_MAX AF_MAX |
| 224 | 226 | ||
| 225 | /* Maximum queue length specifiable by listen. */ | 227 | /* Maximum queue length specifiable by listen. */ |
diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h index 81480e613467..665412c4f4b9 100644 --- a/include/linux/sysctl.h +++ b/include/linux/sysctl.h | |||
| @@ -699,7 +699,8 @@ enum { | |||
| 699 | NET_X25_CALL_REQUEST_TIMEOUT=2, | 699 | NET_X25_CALL_REQUEST_TIMEOUT=2, |
| 700 | NET_X25_RESET_REQUEST_TIMEOUT=3, | 700 | NET_X25_RESET_REQUEST_TIMEOUT=3, |
| 701 | NET_X25_CLEAR_REQUEST_TIMEOUT=4, | 701 | NET_X25_CLEAR_REQUEST_TIMEOUT=4, |
| 702 | NET_X25_ACK_HOLD_BACK_TIMEOUT=5 | 702 | NET_X25_ACK_HOLD_BACK_TIMEOUT=5, |
| 703 | NET_X25_FORWARD=6 | ||
| 703 | }; | 704 | }; |
| 704 | 705 | ||
| 705 | /* /proc/sys/net/token-ring */ | 706 | /* /proc/sys/net/token-ring */ |
diff --git a/include/linux/tcp.h b/include/linux/tcp.h index 3cc70d1a3504..29d3089038ab 100644 --- a/include/linux/tcp.h +++ b/include/linux/tcp.h | |||
| @@ -316,7 +316,7 @@ struct tcp_sock { | |||
| 316 | struct tcp_sack_block duplicate_sack[1]; /* D-SACK block */ | 316 | struct tcp_sack_block duplicate_sack[1]; /* D-SACK block */ |
| 317 | struct tcp_sack_block selective_acks[4]; /* The SACKS themselves*/ | 317 | struct tcp_sack_block selective_acks[4]; /* The SACKS themselves*/ |
| 318 | 318 | ||
| 319 | struct tcp_sack_block recv_sack_cache[4]; | 319 | struct tcp_sack_block_wire recv_sack_cache[4]; |
| 320 | 320 | ||
| 321 | /* from STCP, retrans queue hinting */ | 321 | /* from STCP, retrans queue hinting */ |
| 322 | struct sk_buff* lost_skb_hint; | 322 | struct sk_buff* lost_skb_hint; |
diff --git a/include/linux/wanrouter.h b/include/linux/wanrouter.h index 2cd05013edfc..3add87465b1f 100644 --- a/include/linux/wanrouter.h +++ b/include/linux/wanrouter.h | |||
| @@ -516,9 +516,6 @@ struct wan_device { | |||
| 516 | /* Public functions available for device drivers */ | 516 | /* Public functions available for device drivers */ |
| 517 | extern int register_wan_device(struct wan_device *wandev); | 517 | extern int register_wan_device(struct wan_device *wandev); |
| 518 | extern int unregister_wan_device(char *name); | 518 | extern int unregister_wan_device(char *name); |
| 519 | __be16 wanrouter_type_trans(struct sk_buff *skb, struct net_device *dev); | ||
| 520 | int wanrouter_encapsulate(struct sk_buff *skb, struct net_device *dev, | ||
| 521 | unsigned short type); | ||
| 522 | 519 | ||
| 523 | /* Proc interface functions. These must not be called by the drivers! */ | 520 | /* Proc interface functions. These must not be called by the drivers! */ |
| 524 | extern int wanrouter_proc_init(void); | 521 | extern int wanrouter_proc_init(void); |
| @@ -527,11 +524,6 @@ extern int wanrouter_proc_add(struct wan_device *wandev); | |||
| 527 | extern int wanrouter_proc_delete(struct wan_device *wandev); | 524 | extern int wanrouter_proc_delete(struct wan_device *wandev); |
| 528 | extern int wanrouter_ioctl( struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg); | 525 | extern int wanrouter_ioctl( struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg); |
| 529 | 526 | ||
| 530 | extern void lock_adapter_irq(spinlock_t *lock, unsigned long *smp_flags); | ||
| 531 | extern void unlock_adapter_irq(spinlock_t *lock, unsigned long *smp_flags); | ||
| 532 | |||
| 533 | |||
| 534 | |||
| 535 | /* Public Data */ | 527 | /* Public Data */ |
| 536 | /* list of registered devices */ | 528 | /* list of registered devices */ |
| 537 | extern struct wan_device *wanrouter_router_devlist; | 529 | extern struct wan_device *wanrouter_router_devlist; |
diff --git a/include/linux/xfrm.h b/include/linux/xfrm.h index 9529ea1ae392..15ca89e9961b 100644 --- a/include/linux/xfrm.h +++ b/include/linux/xfrm.h | |||
| @@ -178,6 +178,9 @@ enum { | |||
| 178 | XFRM_MSG_REPORT, | 178 | XFRM_MSG_REPORT, |
| 179 | #define XFRM_MSG_REPORT XFRM_MSG_REPORT | 179 | #define XFRM_MSG_REPORT XFRM_MSG_REPORT |
| 180 | 180 | ||
| 181 | XFRM_MSG_MIGRATE, | ||
| 182 | #define XFRM_MSG_MIGRATE XFRM_MSG_MIGRATE | ||
| 183 | |||
| 181 | __XFRM_MSG_MAX | 184 | __XFRM_MSG_MAX |
| 182 | }; | 185 | }; |
| 183 | #define XFRM_MSG_MAX (__XFRM_MSG_MAX - 1) | 186 | #define XFRM_MSG_MAX (__XFRM_MSG_MAX - 1) |
| @@ -256,6 +259,7 @@ enum xfrm_attr_type_t { | |||
| 256 | XFRMA_COADDR, /* xfrm_address_t */ | 259 | XFRMA_COADDR, /* xfrm_address_t */ |
| 257 | XFRMA_LASTUSED, | 260 | XFRMA_LASTUSED, |
| 258 | XFRMA_POLICY_TYPE, /* struct xfrm_userpolicy_type */ | 261 | XFRMA_POLICY_TYPE, /* struct xfrm_userpolicy_type */ |
| 262 | XFRMA_MIGRATE, | ||
| 259 | __XFRMA_MAX | 263 | __XFRMA_MAX |
| 260 | 264 | ||
| 261 | #define XFRMA_MAX (__XFRMA_MAX - 1) | 265 | #define XFRMA_MAX (__XFRMA_MAX - 1) |
| @@ -351,6 +355,19 @@ struct xfrm_user_report { | |||
| 351 | struct xfrm_selector sel; | 355 | struct xfrm_selector sel; |
| 352 | }; | 356 | }; |
| 353 | 357 | ||
| 358 | struct xfrm_user_migrate { | ||
| 359 | xfrm_address_t old_daddr; | ||
| 360 | xfrm_address_t old_saddr; | ||
| 361 | xfrm_address_t new_daddr; | ||
| 362 | xfrm_address_t new_saddr; | ||
| 363 | __u8 proto; | ||
| 364 | __u8 mode; | ||
| 365 | __u16 reserved; | ||
| 366 | __u32 reqid; | ||
| 367 | __u16 old_family; | ||
| 368 | __u16 new_family; | ||
| 369 | }; | ||
| 370 | |||
| 354 | #ifndef __KERNEL__ | 371 | #ifndef __KERNEL__ |
| 355 | /* backwards compatibility for userspace */ | 372 | /* backwards compatibility for userspace */ |
| 356 | #define XFRMGRP_ACQUIRE 1 | 373 | #define XFRMGRP_ACQUIRE 1 |
| @@ -375,6 +392,8 @@ enum xfrm_nlgroups { | |||
| 375 | #define XFRMNLGRP_AEVENTS XFRMNLGRP_AEVENTS | 392 | #define XFRMNLGRP_AEVENTS XFRMNLGRP_AEVENTS |
| 376 | XFRMNLGRP_REPORT, | 393 | XFRMNLGRP_REPORT, |
| 377 | #define XFRMNLGRP_REPORT XFRMNLGRP_REPORT | 394 | #define XFRMNLGRP_REPORT XFRMNLGRP_REPORT |
| 395 | XFRMNLGRP_MIGRATE, | ||
| 396 | #define XFRMNLGRP_MIGRATE XFRMNLGRP_MIGRATE | ||
| 378 | __XFRMNLGRP_MAX | 397 | __XFRMNLGRP_MAX |
| 379 | }; | 398 | }; |
| 380 | #define XFRMNLGRP_MAX (__XFRMNLGRP_MAX - 1) | 399 | #define XFRMNLGRP_MAX (__XFRMNLGRP_MAX - 1) |
