2 * RFC2367 PF_KEYv2 Key management API message parser
3 * Copyright (C) 1999, 2000, 2001 Richard Guy Briggs.
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License as published by the
7 * Free Software Foundation; either version 2 of the License, or (at your
8 * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
12 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15 * RCSID $Id: pfkey_v2_ext_bits.c,v 1.2 2004/03/22 21:53:18 as Exp $
19 * Template from klips/net/ipsec/ipsec/ipsec_parse.c.
22 char pfkey_v2_ext_bits_c_version
[] = "$Id: pfkey_v2_ext_bits.c,v 1.2 2004/03/22 21:53:18 as Exp $";
25 * Some ugly stuff to allow consistent debugging code for use in the
26 * kernel and in user space
31 # include <linux/kernel.h> /* for printk */
33 # include "freeswan/ipsec_kversion.h" /* for malloc switch */
35 # include <linux/slab.h> /* kmalloc() */
36 # else /* MALLOC_SLAB */
37 # include <linux/malloc.h> /* kmalloc() */
38 # endif /* MALLOC_SLAB */
39 # include <linux/errno.h> /* error codes */
40 # include <linux/types.h> /* size_t */
41 # include <linux/interrupt.h> /* mark_bh */
43 # include <linux/netdevice.h> /* struct device, and other headers */
44 # include <linux/etherdevice.h> /* eth_type_trans */
45 # include <linux/ip.h> /* struct iphdr */
46 # if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
47 # include <linux/ipv6.h>
48 # endif /* defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) */
50 #else /* __KERNEL__ */
52 # include <sys/types.h>
53 # include <linux/types.h>
54 # include <linux/errno.h>
61 unsigned int extensions_bitmaps
[2/*in/out*/][2/*perm/req*/][SADB_MAX
+ 1/*ext*/] = {
63 /* INBOUND EXTENSIONS */
73 | 1<<SADB_EXT_ADDRESS_SRC
74 | 1<<SADB_EXT_ADDRESS_DST
75 | 1<<SADB_EXT_ADDRESS_PROXY
76 | 1<<SADB_EXT_SPIRANGE
81 | 1<<SADB_EXT_LIFETIME_CURRENT
82 | 1<<SADB_EXT_LIFETIME_HARD
83 | 1<<SADB_EXT_LIFETIME_SOFT
84 | 1<<SADB_EXT_ADDRESS_SRC
85 | 1<<SADB_EXT_ADDRESS_DST
86 | 1<<SADB_EXT_ADDRESS_PROXY
87 | 1<<SADB_EXT_KEY_AUTH
88 | 1<<SADB_EXT_KEY_ENCRYPT
89 | 1<<SADB_EXT_IDENTITY_SRC
90 | 1<<SADB_EXT_IDENTITY_DST
91 | 1<<SADB_EXT_SENSITIVITY
92 | 1<<SADB_X_EXT_NAT_T_SPORT
93 | 1<<SADB_X_EXT_NAT_T_DPORT
98 | 1<<SADB_EXT_LIFETIME_HARD
99 | 1<<SADB_EXT_LIFETIME_SOFT
100 | 1<<SADB_EXT_ADDRESS_SRC
101 | 1<<SADB_EXT_ADDRESS_DST
102 | 1<<SADB_EXT_ADDRESS_PROXY
103 | 1<<SADB_EXT_KEY_AUTH
104 | 1<<SADB_EXT_KEY_ENCRYPT
105 | 1<<SADB_EXT_IDENTITY_SRC
106 | 1<<SADB_EXT_IDENTITY_DST
107 | 1<<SADB_EXT_SENSITIVITY
108 | 1<<SADB_X_EXT_NAT_T_TYPE
109 | 1<<SADB_X_EXT_NAT_T_SPORT
110 | 1<<SADB_X_EXT_NAT_T_DPORT
111 | 1<<SADB_X_EXT_NAT_T_OA
116 | 1<<SADB_EXT_ADDRESS_SRC
117 | 1<<SADB_EXT_ADDRESS_DST
122 | 1<<SADB_EXT_ADDRESS_SRC
123 | 1<<SADB_EXT_ADDRESS_DST
127 | 1<<SADB_EXT_ADDRESS_SRC
128 | 1<<SADB_EXT_ADDRESS_DST
129 | 1<<SADB_EXT_ADDRESS_PROXY
130 | 1<<SADB_EXT_IDENTITY_SRC
131 | 1<<SADB_EXT_IDENTITY_DST
132 | 1<<SADB_EXT_SENSITIVITY
133 | 1<<SADB_EXT_PROPOSAL
150 | 1<<SADB_EXT_LIFETIME_CURRENT
151 | 1<<SADB_EXT_LIFETIME_HARD
152 | 1<<SADB_EXT_LIFETIME_SOFT
153 | 1<<SADB_EXT_ADDRESS_SRC
154 | 1<<SADB_EXT_ADDRESS_DST
155 | 1<<SADB_EXT_ADDRESS_PROXY
156 | 1<<SADB_EXT_KEY_AUTH
157 | 1<<SADB_EXT_KEY_ENCRYPT
158 | 1<<SADB_EXT_IDENTITY_SRC
159 | 1<<SADB_EXT_IDENTITY_DST
160 | 1<<SADB_EXT_SENSITIVITY
161 | 1<<SADB_EXT_PROPOSAL
162 | 1<<SADB_EXT_SUPPORTED_AUTH
163 | 1<<SADB_EXT_SUPPORTED_ENCRYPT
164 | 1<<SADB_EXT_SPIRANGE
165 | 1<<SADB_X_EXT_KMPRIVATE
166 | 1<<SADB_X_EXT_SATYPE2
168 | 1<<SADB_X_EXT_ADDRESS_DST2
173 | 1<<SADB_EXT_LIFETIME_CURRENT
174 | 1<<SADB_EXT_LIFETIME_HARD
175 | 1<<SADB_EXT_LIFETIME_SOFT
176 | 1<<SADB_EXT_ADDRESS_SRC
177 | 1<<SADB_EXT_ADDRESS_DST
178 | 1<<SADB_EXT_ADDRESS_PROXY
179 | 1<<SADB_EXT_KEY_AUTH
180 | 1<<SADB_EXT_KEY_ENCRYPT
181 | 1<<SADB_EXT_IDENTITY_SRC
182 | 1<<SADB_EXT_IDENTITY_DST
183 | 1<<SADB_EXT_SENSITIVITY
184 | 1<<SADB_EXT_PROPOSAL
185 | 1<<SADB_EXT_SUPPORTED_AUTH
186 | 1<<SADB_EXT_SUPPORTED_ENCRYPT
187 | 1<<SADB_EXT_SPIRANGE
188 | 1<<SADB_X_EXT_KMPRIVATE
189 | 1<<SADB_X_EXT_SATYPE2
191 | 1<<SADB_X_EXT_ADDRESS_DST2
196 | 1<<SADB_EXT_ADDRESS_DST
197 | 1<<SADB_X_EXT_SATYPE2
199 | 1<<SADB_X_EXT_ADDRESS_DST2
204 | 1<<SADB_EXT_ADDRESS_SRC
205 | 1<<SADB_EXT_ADDRESS_DST
206 | 1<<SADB_X_EXT_ADDRESS_SRC_FLOW
207 | 1<<SADB_X_EXT_ADDRESS_DST_FLOW
208 | 1<<SADB_X_EXT_ADDRESS_SRC_MASK
209 | 1<<SADB_X_EXT_ADDRESS_DST_MASK
210 | 1<<SADB_EXT_IDENTITY_SRC
211 | 1<<SADB_EXT_IDENTITY_DST
212 | 1<<SADB_X_EXT_PROTOCOL
217 | 1<<SADB_X_EXT_ADDRESS_SRC_FLOW
218 | 1<<SADB_X_EXT_ADDRESS_DST_FLOW
219 | 1<<SADB_X_EXT_ADDRESS_SRC_MASK
220 | 1<<SADB_X_EXT_ADDRESS_DST_MASK
221 | 1<<SADB_EXT_IDENTITY_SRC
222 | 1<<SADB_EXT_IDENTITY_DST
223 | 1<<SADB_X_EXT_PROTOCOL
227 | 1<<SADB_X_EXT_DEBUG
229 /* SADB_X_NAT_T_NEW_MAPPING */
232 | 1<<SADB_EXT_ADDRESS_SRC
233 | 1<<SADB_EXT_ADDRESS_DST
234 | 1<<SADB_X_EXT_NAT_T_SPORT
235 | 1<<SADB_X_EXT_NAT_T_DPORT
245 | 1<<SADB_EXT_ADDRESS_SRC
246 | 1<<SADB_EXT_ADDRESS_DST
247 | 1<<SADB_EXT_SPIRANGE
252 | 1<<SADB_EXT_ADDRESS_SRC
253 | 1<<SADB_EXT_ADDRESS_DST
254 /*| 1<<SADB_EXT_KEY_AUTH*/
255 /*| 1<<SADB_EXT_KEY_ENCRYPT*/
260 | 1<<SADB_EXT_ADDRESS_SRC
261 | 1<<SADB_EXT_ADDRESS_DST
262 /*| 1<<SADB_EXT_KEY_AUTH*/
263 /*| 1<<SADB_EXT_KEY_ENCRYPT*/
268 | 1<<SADB_EXT_ADDRESS_SRC
269 | 1<<SADB_EXT_ADDRESS_DST
274 | 1<<SADB_EXT_ADDRESS_SRC
275 | 1<<SADB_EXT_ADDRESS_DST
279 | 1<<SADB_EXT_ADDRESS_SRC
280 | 1<<SADB_EXT_ADDRESS_DST
281 | 1<<SADB_EXT_PROPOSAL
298 | 1<<SADB_EXT_LIFETIME_CURRENT
299 | 1<<SADB_EXT_LIFETIME_HARD
300 | 1<<SADB_EXT_LIFETIME_SOFT
301 | 1<<SADB_EXT_ADDRESS_SRC
302 | 1<<SADB_EXT_ADDRESS_DST
303 | 1<<SADB_EXT_ADDRESS_PROXY
304 | 1<<SADB_EXT_KEY_AUTH
305 | 1<<SADB_EXT_KEY_ENCRYPT
306 | 1<<SADB_EXT_IDENTITY_SRC
307 | 1<<SADB_EXT_IDENTITY_DST
308 | 1<<SADB_EXT_SENSITIVITY
309 | 1<<SADB_EXT_PROPOSAL
310 | 1<<SADB_EXT_SUPPORTED_AUTH
311 | 1<<SADB_EXT_SUPPORTED_ENCRYPT
312 | 1<<SADB_EXT_SPIRANGE
313 | 1<<SADB_X_EXT_KMPRIVATE
314 | 1<<SADB_X_EXT_SATYPE2
316 | 1<<SADB_X_EXT_ADDRESS_DST2
321 | 1<<SADB_EXT_LIFETIME_CURRENT
322 | 1<<SADB_EXT_LIFETIME_HARD
323 | 1<<SADB_EXT_LIFETIME_SOFT
324 | 1<<SADB_EXT_ADDRESS_SRC
325 | 1<<SADB_EXT_ADDRESS_DST
326 | 1<<SADB_EXT_ADDRESS_PROXY
327 | 1<<SADB_EXT_KEY_AUTH
328 | 1<<SADB_EXT_KEY_ENCRYPT
329 | 1<<SADB_EXT_IDENTITY_SRC
330 | 1<<SADB_EXT_IDENTITY_DST
331 | 1<<SADB_EXT_SENSITIVITY
332 | 1<<SADB_EXT_PROPOSAL
333 | 1<<SADB_EXT_SUPPORTED_AUTH
334 | 1<<SADB_EXT_SUPPORTED_ENCRYPT
335 | 1<<SADB_EXT_SPIRANGE
336 | 1<<SADB_X_EXT_KMPRIVATE
337 | 1<<SADB_X_EXT_SATYPE2
339 | 1<<SADB_X_EXT_ADDRESS_DST2
344 | 1<<SADB_EXT_ADDRESS_DST
345 /*| 1<<SADB_X_EXT_SATYPE2*/
346 /*| 1<<SADB_X_EXT_SA2*/
347 /*| 1<<SADB_X_EXT_ADDRESS_DST2*/
352 | 1<<SADB_EXT_ADDRESS_DST
353 | 1<<SADB_X_EXT_ADDRESS_SRC_FLOW
354 | 1<<SADB_X_EXT_ADDRESS_DST_FLOW
355 | 1<<SADB_X_EXT_ADDRESS_SRC_MASK
356 | 1<<SADB_X_EXT_ADDRESS_DST_MASK
361 #if 0 /* SADB_X_CLREROUTE doesn't need all these... */
362 | 1<<SADB_X_EXT_ADDRESS_SRC_FLOW
363 | 1<<SADB_X_EXT_ADDRESS_DST_FLOW
364 | 1<<SADB_X_EXT_ADDRESS_SRC_MASK
365 | 1<<SADB_X_EXT_ADDRESS_DST_MASK
370 | 1<<SADB_X_EXT_DEBUG
372 /* SADB_X_NAT_T_NEW_MAPPING */
375 | 1<<SADB_EXT_ADDRESS_SRC
376 | 1<<SADB_EXT_ADDRESS_DST
377 | 1<<SADB_X_EXT_NAT_T_SPORT
378 | 1<<SADB_X_EXT_NAT_T_DPORT
383 /* OUTBOUND EXTENSIONS */
394 | 1<<SADB_EXT_ADDRESS_SRC
395 | 1<<SADB_EXT_ADDRESS_DST
400 | 1<<SADB_EXT_LIFETIME_CURRENT
401 | 1<<SADB_EXT_LIFETIME_HARD
402 | 1<<SADB_EXT_LIFETIME_SOFT
403 | 1<<SADB_EXT_ADDRESS_SRC
404 | 1<<SADB_EXT_ADDRESS_DST
405 | 1<<SADB_EXT_ADDRESS_PROXY
406 | 1<<SADB_EXT_IDENTITY_SRC
407 | 1<<SADB_EXT_IDENTITY_DST
408 | 1<<SADB_EXT_SENSITIVITY
413 | 1<<SADB_EXT_LIFETIME_HARD
414 | 1<<SADB_EXT_LIFETIME_SOFT
415 | 1<<SADB_EXT_ADDRESS_SRC
416 | 1<<SADB_EXT_ADDRESS_DST
417 | 1<<SADB_EXT_IDENTITY_SRC
418 | 1<<SADB_EXT_IDENTITY_DST
419 | 1<<SADB_EXT_SENSITIVITY
420 | 1<<SADB_X_EXT_NAT_T_TYPE
421 | 1<<SADB_X_EXT_NAT_T_SPORT
422 | 1<<SADB_X_EXT_NAT_T_DPORT
423 | 1<<SADB_X_EXT_NAT_T_OA
428 | 1<<SADB_EXT_ADDRESS_SRC
429 | 1<<SADB_EXT_ADDRESS_DST
434 | 1<<SADB_EXT_LIFETIME_CURRENT
435 | 1<<SADB_EXT_LIFETIME_HARD
436 | 1<<SADB_EXT_LIFETIME_SOFT
437 | 1<<SADB_EXT_ADDRESS_SRC
438 | 1<<SADB_EXT_ADDRESS_DST
439 | 1<<SADB_EXT_ADDRESS_PROXY
440 | 1<<SADB_EXT_KEY_AUTH
441 | 1<<SADB_EXT_KEY_ENCRYPT
442 | 1<<SADB_EXT_IDENTITY_SRC
443 | 1<<SADB_EXT_IDENTITY_DST
444 | 1<<SADB_EXT_SENSITIVITY
448 | 1<<SADB_EXT_ADDRESS_SRC
449 | 1<<SADB_EXT_ADDRESS_DST
450 | 1<<SADB_EXT_ADDRESS_PROXY
451 | 1<<SADB_EXT_IDENTITY_SRC
452 | 1<<SADB_EXT_IDENTITY_DST
453 | 1<<SADB_EXT_SENSITIVITY
454 | 1<<SADB_EXT_PROPOSAL
458 | 1<<SADB_EXT_SUPPORTED_AUTH
459 | 1<<SADB_EXT_SUPPORTED_ENCRYPT
464 | 1<<SADB_EXT_LIFETIME_CURRENT
465 | 1<<SADB_EXT_LIFETIME_HARD
466 | 1<<SADB_EXT_LIFETIME_SOFT
467 | 1<<SADB_EXT_ADDRESS_SRC
468 | 1<<SADB_EXT_ADDRESS_DST
476 | 1<<SADB_EXT_LIFETIME_CURRENT
477 | 1<<SADB_EXT_LIFETIME_HARD
478 | 1<<SADB_EXT_LIFETIME_SOFT
479 | 1<<SADB_EXT_ADDRESS_SRC
480 | 1<<SADB_EXT_ADDRESS_DST
481 | 1<<SADB_EXT_ADDRESS_PROXY
482 | 1<<SADB_EXT_KEY_AUTH
483 | 1<<SADB_EXT_KEY_ENCRYPT
484 | 1<<SADB_EXT_IDENTITY_SRC
485 | 1<<SADB_EXT_IDENTITY_DST
486 | 1<<SADB_EXT_SENSITIVITY
491 | 1<<SADB_EXT_LIFETIME_CURRENT
492 | 1<<SADB_EXT_LIFETIME_HARD
493 | 1<<SADB_EXT_LIFETIME_SOFT
494 | 1<<SADB_EXT_ADDRESS_SRC
495 | 1<<SADB_EXT_ADDRESS_DST
496 | 1<<SADB_EXT_ADDRESS_PROXY
497 | 1<<SADB_EXT_KEY_AUTH
498 | 1<<SADB_EXT_KEY_ENCRYPT
499 | 1<<SADB_EXT_IDENTITY_SRC
500 | 1<<SADB_EXT_IDENTITY_DST
501 | 1<<SADB_EXT_SENSITIVITY
502 | 1<<SADB_EXT_PROPOSAL
503 | 1<<SADB_EXT_SUPPORTED_AUTH
504 | 1<<SADB_EXT_SUPPORTED_ENCRYPT
505 | 1<<SADB_EXT_SPIRANGE
506 | 1<<SADB_X_EXT_KMPRIVATE
507 | 1<<SADB_X_EXT_SATYPE2
509 | 1<<SADB_X_EXT_ADDRESS_DST2
514 | 1<<SADB_EXT_LIFETIME_CURRENT
515 | 1<<SADB_EXT_LIFETIME_HARD
516 | 1<<SADB_EXT_LIFETIME_SOFT
517 | 1<<SADB_EXT_ADDRESS_SRC
518 | 1<<SADB_EXT_ADDRESS_DST
519 | 1<<SADB_EXT_ADDRESS_PROXY
520 | 1<<SADB_EXT_KEY_AUTH
521 | 1<<SADB_EXT_KEY_ENCRYPT
522 | 1<<SADB_EXT_IDENTITY_SRC
523 | 1<<SADB_EXT_IDENTITY_DST
524 | 1<<SADB_EXT_SENSITIVITY
525 | 1<<SADB_EXT_PROPOSAL
526 | 1<<SADB_EXT_SUPPORTED_AUTH
527 | 1<<SADB_EXT_SUPPORTED_ENCRYPT
528 | 1<<SADB_EXT_SPIRANGE
529 | 1<<SADB_X_EXT_KMPRIVATE
530 | 1<<SADB_X_EXT_SATYPE2
532 | 1<<SADB_X_EXT_ADDRESS_DST2
537 | 1<<SADB_EXT_ADDRESS_DST
538 | 1<<SADB_X_EXT_SATYPE2
540 | 1<<SADB_X_EXT_ADDRESS_DST2
545 | 1<<SADB_EXT_ADDRESS_SRC
546 | 1<<SADB_EXT_ADDRESS_DST
547 | 1<<SADB_X_EXT_ADDRESS_SRC_FLOW
548 | 1<<SADB_X_EXT_ADDRESS_DST_FLOW
549 | 1<<SADB_X_EXT_ADDRESS_SRC_MASK
550 | 1<<SADB_X_EXT_ADDRESS_DST_MASK
551 | 1<<SADB_X_EXT_PROTOCOL
556 | 1<<SADB_X_EXT_ADDRESS_SRC_FLOW
557 | 1<<SADB_X_EXT_ADDRESS_DST_FLOW
558 | 1<<SADB_X_EXT_ADDRESS_SRC_MASK
559 | 1<<SADB_X_EXT_ADDRESS_DST_MASK
560 | 1<<SADB_X_EXT_PROTOCOL
564 | 1<<SADB_X_EXT_DEBUG
566 /* SADB_X_NAT_T_NEW_MAPPING */
569 | 1<<SADB_EXT_ADDRESS_SRC
570 | 1<<SADB_EXT_ADDRESS_DST
571 | 1<<SADB_X_EXT_NAT_T_SPORT
572 | 1<<SADB_X_EXT_NAT_T_DPORT
583 | 1<<SADB_EXT_ADDRESS_SRC
584 | 1<<SADB_EXT_ADDRESS_DST
589 | 1<<SADB_EXT_ADDRESS_SRC
590 | 1<<SADB_EXT_ADDRESS_DST
595 | 1<<SADB_EXT_ADDRESS_SRC
596 | 1<<SADB_EXT_ADDRESS_DST
601 | 1<<SADB_EXT_ADDRESS_SRC
602 | 1<<SADB_EXT_ADDRESS_DST
607 | 1<<SADB_EXT_ADDRESS_SRC
608 | 1<<SADB_EXT_ADDRESS_DST
609 /* | 1<<SADB_EXT_KEY_AUTH */
610 /* | 1<<SADB_EXT_KEY_ENCRYPT */
614 | 1<<SADB_EXT_ADDRESS_SRC
615 | 1<<SADB_EXT_ADDRESS_DST
616 | 1<<SADB_EXT_PROPOSAL
620 /* | 1<<SADB_EXT_SUPPORTED_AUTH
621 | 1<<SADB_EXT_SUPPORTED_ENCRYPT */
626 | 1<<SADB_EXT_LIFETIME_CURRENT
627 /* | 1<<SADB_EXT_LIFETIME_HARD
628 | 1<<SADB_EXT_LIFETIME_SOFT */
629 | 1<<SADB_EXT_ADDRESS_SRC
630 | 1<<SADB_EXT_ADDRESS_DST
638 | 1<<SADB_EXT_ADDRESS_SRC
639 | 1<<SADB_EXT_ADDRESS_DST
640 | 1<<SADB_EXT_KEY_AUTH
641 | 1<<SADB_EXT_KEY_ENCRYPT
646 | 1<<SADB_EXT_LIFETIME_CURRENT
647 | 1<<SADB_EXT_LIFETIME_HARD
648 | 1<<SADB_EXT_LIFETIME_SOFT
649 | 1<<SADB_EXT_ADDRESS_SRC
650 | 1<<SADB_EXT_ADDRESS_DST
651 | 1<<SADB_EXT_ADDRESS_PROXY
652 | 1<<SADB_EXT_KEY_AUTH
653 | 1<<SADB_EXT_KEY_ENCRYPT
654 | 1<<SADB_EXT_IDENTITY_SRC
655 | 1<<SADB_EXT_IDENTITY_DST
656 | 1<<SADB_EXT_SENSITIVITY
657 | 1<<SADB_EXT_PROPOSAL
658 | 1<<SADB_EXT_SUPPORTED_AUTH
659 | 1<<SADB_EXT_SUPPORTED_ENCRYPT
660 | 1<<SADB_EXT_SPIRANGE
661 | 1<<SADB_X_EXT_KMPRIVATE
662 | 1<<SADB_X_EXT_SATYPE2
664 | 1<<SADB_X_EXT_ADDRESS_DST2
669 | 1<<SADB_EXT_LIFETIME_CURRENT
670 | 1<<SADB_EXT_LIFETIME_HARD
671 | 1<<SADB_EXT_LIFETIME_SOFT
672 | 1<<SADB_EXT_ADDRESS_SRC
673 | 1<<SADB_EXT_ADDRESS_DST
674 | 1<<SADB_EXT_ADDRESS_PROXY
675 | 1<<SADB_EXT_KEY_AUTH
676 | 1<<SADB_EXT_KEY_ENCRYPT
677 | 1<<SADB_EXT_IDENTITY_SRC
678 | 1<<SADB_EXT_IDENTITY_DST
679 | 1<<SADB_EXT_SENSITIVITY
680 | 1<<SADB_EXT_PROPOSAL
681 | 1<<SADB_EXT_SUPPORTED_AUTH
682 | 1<<SADB_EXT_SUPPORTED_ENCRYPT
683 | 1<<SADB_EXT_SPIRANGE
684 | 1<<SADB_X_EXT_KMPRIVATE
685 | 1<<SADB_X_EXT_SATYPE2
687 | 1<<SADB_X_EXT_ADDRESS_DST2
692 | 1<<SADB_EXT_ADDRESS_DST
697 | 1<<SADB_EXT_ADDRESS_DST
698 | 1<<SADB_X_EXT_ADDRESS_SRC_FLOW
699 | 1<<SADB_X_EXT_ADDRESS_DST_FLOW
700 | 1<<SADB_X_EXT_ADDRESS_SRC_MASK
701 | 1<<SADB_X_EXT_ADDRESS_DST_MASK
706 | 1<<SADB_X_EXT_ADDRESS_SRC_FLOW
707 | 1<<SADB_X_EXT_ADDRESS_DST_FLOW
708 | 1<<SADB_X_EXT_ADDRESS_SRC_MASK
709 | 1<<SADB_X_EXT_ADDRESS_DST_MASK
713 | 1<<SADB_X_EXT_DEBUG
715 /* SADB_X_NAT_T_NEW_MAPPING */
718 | 1<<SADB_EXT_ADDRESS_SRC
719 | 1<<SADB_EXT_ADDRESS_DST
720 | 1<<SADB_X_EXT_NAT_T_SPORT
721 | 1<<SADB_X_EXT_NAT_T_DPORT