nl-linux 0.2.3 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/linux/nftables.yaml CHANGED
@@ -66,9 +66,21 @@ definitions:
66
66
  name: bitwise-ops
67
67
  type: enum
68
68
  entries:
69
- - bool
70
- - lshift
71
- - rshift
69
+ -
70
+ name: mask-xor # aka bool (old name)
71
+ doc: >-
72
+ mask-and-xor operation used to implement NOT, AND, OR and XOR boolean
73
+ operations
74
+ -
75
+ name: lshift
76
+ -
77
+ name: rshift
78
+ -
79
+ name: and
80
+ -
81
+ name: or
82
+ -
83
+ name: xor
72
84
  -
73
85
  name: cmp-ops
74
86
  type: enum
@@ -132,6 +144,12 @@ definitions:
132
144
  - object
133
145
  - concat
134
146
  - expr
147
+ -
148
+ name: set-elem-flags
149
+ type: flags
150
+ entries:
151
+ - interval-end
152
+ - catchall
135
153
  -
136
154
  name: lookup-flags
137
155
  type: flags
@@ -225,19 +243,244 @@ definitions:
225
243
  - icmp-unreach
226
244
  - tcp-rst
227
245
  - icmpx-unreach
246
+ -
247
+ name: reject-inet-code
248
+ doc: These codes are mapped to real ICMP and ICMPv6 codes.
249
+ type: enum
250
+ entries:
251
+ - icmpx-no-route
252
+ - icmpx-port-unreach
253
+ - icmpx-host-unreach
254
+ - icmpx-admin-prohibited
255
+ -
256
+ name: payload-base
257
+ type: enum
258
+ entries:
259
+ - link-layer-header
260
+ - network-header
261
+ - transport-header
262
+ - inner-header
263
+ - tun-header
264
+ -
265
+ name: range-ops
266
+ doc: Range operator
267
+ type: enum
268
+ entries:
269
+ - eq
270
+ - neq
271
+ -
272
+ name: registers
273
+ doc: |
274
+ nf_tables registers.
275
+ nf_tables used to have five registers: a verdict register and four data
276
+ registers of size 16. The data registers have been changed to 16 registers
277
+ of size 4. For compatibility reasons, the NFT_REG_[1-4] registers still
278
+ map to areas of size 16, the 4 byte registers are addressed using
279
+ NFT_REG32_00 - NFT_REG32_15.
280
+ type: enum
281
+ entries:
282
+ -
283
+ name: reg-verdict
284
+ -
285
+ name: reg-1
286
+ -
287
+ name: reg-2
288
+ -
289
+ name: reg-3
290
+ -
291
+ name: reg-4
292
+ -
293
+ name: reg32-00
294
+ value: 8
295
+ -
296
+ name: reg32-01
297
+ -
298
+ name: reg32-02
299
+ -
300
+ name: reg32-03
301
+ -
302
+ name: reg32-04
303
+ -
304
+ name: reg32-05
305
+ -
306
+ name: reg32-06
307
+ -
308
+ name: reg32-07
309
+ -
310
+ name: reg32-08
311
+ -
312
+ name: reg32-09
313
+ -
314
+ name: reg32-10
315
+ -
316
+ name: reg32-11
317
+ -
318
+ name: reg32-12
319
+ -
320
+ name: reg32-13
321
+ -
322
+ name: reg32-14
323
+ -
324
+ name: reg32-15
325
+ -
326
+ name: numgen-types
327
+ type: enum
328
+ entries:
329
+ - incremental
330
+ - random
331
+ -
332
+ name: log-level
333
+ doc: nf_tables log levels
334
+ type: enum
335
+ entries:
336
+ -
337
+ name: emerg
338
+ doc: system is unusable
339
+ -
340
+ name: alert
341
+ doc: action must be taken immediately
342
+ -
343
+ name: crit
344
+ doc: critical conditions
345
+ -
346
+ name: err
347
+ doc: error conditions
348
+ -
349
+ name: warning
350
+ doc: warning conditions
351
+ -
352
+ name: notice
353
+ doc: normal but significant condition
354
+ -
355
+ name: info
356
+ doc: informational
357
+ -
358
+ name: debug
359
+ doc: debug-level messages
360
+ -
361
+ name: audit
362
+ doc: enabling audit logging
363
+ -
364
+ name: log-flags
365
+ doc: nf_tables log flags
366
+ header: linux/netfilter/nf_log.h
367
+ type: flags
368
+ entries:
369
+ -
370
+ name: tcpseq
371
+ doc: Log TCP sequence numbers
372
+ -
373
+ name: tcpopt
374
+ doc: Log TCP options
375
+ -
376
+ name: ipopt
377
+ doc: Log IP options
378
+ -
379
+ name: uid
380
+ doc: Log UID owning local socket
381
+ -
382
+ name: nflog
383
+ doc: Unsupported, don't reuse
384
+ -
385
+ name: macdecode
386
+ doc: Decode MAC header
228
387
 
229
388
  attribute-sets:
230
389
  -
231
- name: empty-attrs
390
+ name: log-attrs
391
+ doc: log expression netlink attributes
232
392
  attributes:
393
+ # Mentioned in nft_log_init()
233
394
  -
234
- name: name
395
+ name: group
396
+ doc: netlink group to send messages to
397
+ type: u16
398
+ byte-order: big-endian
399
+ -
400
+ name: prefix
401
+ doc: prefix to prepend to log messages
235
402
  type: string
403
+ -
404
+ name: snaplen
405
+ doc: length of payload to include in netlink message
406
+ type: u32
407
+ byte-order: big-endian
408
+ -
409
+ name: qthreshold
410
+ doc: queue threshold
411
+ type: u16
412
+ byte-order: big-endian
413
+ -
414
+ name: level
415
+ doc: log level
416
+ type: u32
417
+ enum: log-level
418
+ byte-order: big-endian
419
+ -
420
+ name: flags
421
+ doc: logging flags
422
+ type: u32
423
+ enum: log-flags
424
+ byte-order: big-endian
425
+ -
426
+ name: numgen-attrs
427
+ doc: nf_tables number generator expression netlink attributes
428
+ attributes:
429
+ -
430
+ name: dreg
431
+ doc: destination register
432
+ type: u32
433
+ enum: registers
434
+ -
435
+ name: modulus
436
+ doc: maximum counter value
437
+ type: u32
438
+ byte-order: big-endian
439
+ -
440
+ name: type
441
+ doc: operation type
442
+ type: u32
443
+ byte-order: big-endian
444
+ enum: numgen-types
445
+ -
446
+ name: offset
447
+ doc: offset to be added to the counter
448
+ type: u32
449
+ byte-order: big-endian
450
+ -
451
+ name: range-attrs
452
+ attributes:
453
+ # Mentioned in net/netfilter/nft_range.c
454
+ -
455
+ name: sreg
456
+ doc: source register of data to compare
457
+ type: u32
458
+ byte-order: big-endian
459
+ enum: registers
460
+ -
461
+ name: op
462
+ doc: cmp operation
463
+ type: u32
464
+ byte-order: big-endian
465
+ enum: range-ops
466
+ checks:
467
+ max: 255
468
+ -
469
+ name: from-data
470
+ doc: data range from
471
+ type: nest
472
+ nested-attributes: data-attrs
473
+ -
474
+ name: to-data
475
+ doc: data range to
476
+ type: nest
477
+ nested-attributes: data-attrs
236
478
  -
237
479
  name: batch-attrs
238
480
  attributes:
239
481
  -
240
482
  name: genid
483
+ doc: generation ID for this changeset
241
484
  type: u32
242
485
  byte-order: big-endian
243
486
  -
@@ -264,10 +507,18 @@ attribute-sets:
264
507
  type: u64
265
508
  byte-order: big-endian
266
509
  doc: numeric handle of the table
510
+ -
511
+ name: pad
512
+ type: pad
267
513
  -
268
514
  name: userdata
269
515
  type: binary
270
516
  doc: user data
517
+ -
518
+ name: owner
519
+ type: u32
520
+ byte-order: big-endian
521
+ doc: owner of this table through netlink portID
271
522
  -
272
523
  name: chain-attrs
273
524
  attributes:
@@ -371,9 +622,11 @@ attribute-sets:
371
622
  -
372
623
  name: bytes
373
624
  type: u64
625
+ byte-order: big-endian
374
626
  -
375
627
  name: packets
376
628
  type: u64
629
+ byte-order: big-endian
377
630
  -
378
631
  name: rule-attrs
379
632
  attributes:
@@ -443,15 +696,18 @@ attribute-sets:
443
696
  selector: name
444
697
  doc: type specific data
445
698
  -
699
+ # Mentioned in nft_parse_compat() in net/netfilter/nft_compat.c
446
700
  name: rule-compat-attrs
447
701
  attributes:
448
702
  -
449
703
  name: proto
450
- type: binary
704
+ type: u32
705
+ byte-order: big-endian
451
706
  doc: numeric value of the handled protocol
452
707
  -
453
708
  name: flags
454
- type: binary
709
+ type: u32
710
+ byte-order: big-endian
455
711
  doc: bitmask of flags
456
712
  -
457
713
  name: set-attrs
@@ -540,6 +796,15 @@ attribute-sets:
540
796
  type: nest
541
797
  nested-attributes: set-list-attrs
542
798
  doc: list of expressions
799
+ -
800
+ name: type
801
+ type: string
802
+ doc: set backend type
803
+ -
804
+ name: count
805
+ type: u32
806
+ byte-order: big-endian
807
+ doc: number of set elements
543
808
  -
544
809
  name: set-desc-attrs
545
810
  attributes:
@@ -767,6 +1032,22 @@ attribute-sets:
767
1032
  nested-attributes: hook-dev-attrs
768
1033
  -
769
1034
  name: expr-bitwise-attrs
1035
+ doc: |
1036
+ The bitwise expression supports boolean and shift operations. It
1037
+ implements the boolean operations by performing the following
1038
+ operation::
1039
+
1040
+ dreg = (sreg & mask) ^ xor
1041
+
1042
+ with these mask and xor values:
1043
+
1044
+ op mask xor
1045
+ ---- ---- ---
1046
+ NOT: 1 1
1047
+ OR: ~x x
1048
+ XOR: 1 x
1049
+ AND: x 0
1050
+
770
1051
  attributes:
771
1052
  -
772
1053
  name: sreg
@@ -793,6 +1074,8 @@ attribute-sets:
793
1074
  type: u32
794
1075
  byte-order: big-endian
795
1076
  enum: bitwise-ops
1077
+ checks:
1078
+ max: 255
796
1079
  -
797
1080
  name: data
798
1081
  type: nest
@@ -829,25 +1112,31 @@ attribute-sets:
829
1112
  attributes:
830
1113
  -
831
1114
  name: code
1115
+ doc: nf_tables verdict
832
1116
  type: u32
833
1117
  byte-order: big-endian
834
1118
  enum: verdict-code
835
1119
  -
836
1120
  name: chain
1121
+ doc: jump target chain name
837
1122
  type: string
838
1123
  -
839
1124
  name: chain-id
1125
+ doc: jump target chain ID
840
1126
  type: u32
1127
+ byte-order: big-endian
841
1128
  -
842
1129
  name: expr-counter-attrs
843
1130
  attributes:
844
1131
  -
845
1132
  name: bytes
846
1133
  type: u64
1134
+ byte-order: big-endian
847
1135
  doc: Number of bytes
848
1136
  -
849
1137
  name: packets
850
1138
  type: u64
1139
+ byte-order: big-endian
851
1140
  doc: Number of packets
852
1141
  -
853
1142
  name: pad
@@ -932,6 +1221,25 @@ attribute-sets:
932
1221
  type: u32
933
1222
  byte-order: big-endian
934
1223
  enum: lookup-flags
1224
+ -
1225
+ name: expr-masq-attrs
1226
+ attributes:
1227
+ -
1228
+ name: flags
1229
+ type: u32
1230
+ byte-order: big-endian
1231
+ enum: nat-range-flags
1232
+ enum-as-flags: true
1233
+ -
1234
+ name: reg-proto-min
1235
+ type: u32
1236
+ byte-order: big-endian
1237
+ enum: registers
1238
+ -
1239
+ name: reg-proto-max
1240
+ type: u32
1241
+ byte-order: big-endian
1242
+ enum: registers
935
1243
  -
936
1244
  name: expr-meta-attrs
937
1245
  attributes:
@@ -983,37 +1291,49 @@ attribute-sets:
983
1291
  enum-as-flags: true
984
1292
  -
985
1293
  name: expr-payload-attrs
1294
+ doc: nf_tables payload expression netlink attributes
986
1295
  attributes:
987
1296
  -
988
1297
  name: dreg
1298
+ doc: destination register to load data into
989
1299
  type: u32
990
1300
  byte-order: big-endian
1301
+ enum: registers
991
1302
  -
992
1303
  name: base
1304
+ doc: payload base
993
1305
  type: u32
1306
+ enum: payload-base
994
1307
  byte-order: big-endian
995
1308
  -
996
1309
  name: offset
1310
+ doc: payload offset relative to base
997
1311
  type: u32
998
1312
  byte-order: big-endian
999
1313
  -
1000
1314
  name: len
1315
+ doc: payload length
1001
1316
  type: u32
1002
1317
  byte-order: big-endian
1003
1318
  -
1004
1319
  name: sreg
1320
+ doc: source register to load data from
1005
1321
  type: u32
1006
1322
  byte-order: big-endian
1323
+ enum: registers
1007
1324
  -
1008
1325
  name: csum-type
1326
+ doc: checksum type
1009
1327
  type: u32
1010
1328
  byte-order: big-endian
1011
1329
  -
1012
1330
  name: csum-offset
1331
+ doc: checksum offset relative to base
1013
1332
  type: u32
1014
1333
  byte-order: big-endian
1015
1334
  -
1016
1335
  name: csum-flags
1336
+ doc: checksum flags
1017
1337
  type: u32
1018
1338
  byte-order: big-endian
1019
1339
  -
@@ -1079,6 +1399,61 @@ attribute-sets:
1079
1399
  type: u32
1080
1400
  byte-order: big-endian
1081
1401
  doc: id of object map
1402
+ -
1403
+ name: compat-target-attrs
1404
+ header: linux/netfilter/nf_tables_compat.h
1405
+ attributes:
1406
+ -
1407
+ name: name
1408
+ type: string
1409
+ checks:
1410
+ max-len: 32
1411
+ -
1412
+ name: rev
1413
+ type: u32
1414
+ byte-order: big-endian
1415
+ checks:
1416
+ max: 255
1417
+ -
1418
+ name: info
1419
+ type: binary
1420
+ -
1421
+ name: compat-match-attrs
1422
+ header: linux/netfilter/nf_tables_compat.h
1423
+ attributes:
1424
+ -
1425
+ name: name
1426
+ type: string
1427
+ checks:
1428
+ max-len: 32
1429
+ -
1430
+ name: rev
1431
+ type: u32
1432
+ byte-order: big-endian
1433
+ checks:
1434
+ max: 255
1435
+ -
1436
+ name: info
1437
+ type: binary
1438
+ -
1439
+ name: compat-attrs
1440
+ header: linux/netfilter/nf_tables_compat.h
1441
+ attributes:
1442
+ -
1443
+ name: name
1444
+ type: string
1445
+ checks:
1446
+ max-len: 32
1447
+ -
1448
+ name: rev
1449
+ type: u32
1450
+ byte-order: big-endian
1451
+ checks:
1452
+ max: 255
1453
+ -
1454
+ name: type
1455
+ type: u32
1456
+ byte-order: big-endian
1082
1457
 
1083
1458
  sub-messages:
1084
1459
  -
@@ -1105,15 +1480,24 @@ sub-messages:
1105
1480
  -
1106
1481
  value: immediate
1107
1482
  attribute-set: expr-immediate-attrs
1483
+ -
1484
+ value: log
1485
+ attribute-set: log-attrs
1108
1486
  -
1109
1487
  value: lookup
1110
1488
  attribute-set: expr-lookup-attrs
1489
+ -
1490
+ value: match
1491
+ attribute-set: compat-match-attrs
1111
1492
  -
1112
1493
  value: meta
1113
1494
  attribute-set: expr-meta-attrs
1114
1495
  -
1115
1496
  value: nat
1116
1497
  attribute-set: expr-nat-attrs
1498
+ -
1499
+ value: numgen
1500
+ attribute-set: numgen-attrs
1117
1501
  -
1118
1502
  value: objref
1119
1503
  attribute-set: expr-objref-attrs
@@ -1123,6 +1507,9 @@ sub-messages:
1123
1507
  -
1124
1508
  value: quota
1125
1509
  attribute-set: quota-attrs
1510
+ -
1511
+ value: range
1512
+ attribute-set: range-attrs
1126
1513
  -
1127
1514
  value: reject
1128
1515
  attribute-set: expr-reject-attrs
@@ -1132,6 +1519,9 @@ sub-messages:
1132
1519
  -
1133
1520
  value: tproxy
1134
1521
  attribute-set: expr-tproxy-attrs
1522
+ # There're more sub-messages to go:
1523
+ # grep -A10 nft_expr_type
1524
+ # and look for .name\s*=\s*"..."
1135
1525
  -
1136
1526
  name: obj-data
1137
1527
  formats:
@@ -1178,7 +1568,10 @@ operations:
1178
1568
  request:
1179
1569
  value: 0xa00
1180
1570
  attributes:
1571
+ # Mentioned in nf_tables_newtable()
1181
1572
  - name
1573
+ - flags
1574
+ - userdata
1182
1575
  -
1183
1576
  name: gettable
1184
1577
  doc: Get / dump tables.
@@ -1188,11 +1581,21 @@ operations:
1188
1581
  request:
1189
1582
  value: 0xa01
1190
1583
  attributes:
1584
+ # Mentioned in nf_tables_gettable()
1191
1585
  - name
1192
1586
  reply:
1193
1587
  value: 0xa00
1194
- attributes:
1588
+ attributes: &get-table
1589
+ # Mentioned in nf_tables_fill_table_info()
1195
1590
  - name
1591
+ - use
1592
+ - handle
1593
+ - flags
1594
+ - owner
1595
+ - userdata
1596
+ dump:
1597
+ reply:
1598
+ attributes: *get-table
1196
1599
  -
1197
1600
  name: deltable
1198
1601
  doc: Delete an existing table.
@@ -1201,8 +1604,10 @@ operations:
1201
1604
  do:
1202
1605
  request:
1203
1606
  value: 0xa02
1204
- attributes:
1607
+ attributes: &del-table
1608
+ # Mentioned in nf_tables_deltable()
1205
1609
  - name
1610
+ - handle
1206
1611
  -
1207
1612
  name: destroytable
1208
1613
  doc: |
@@ -1213,8 +1618,7 @@ operations:
1213
1618
  do:
1214
1619
  request:
1215
1620
  value: 0xa1a
1216
- attributes:
1217
- - name
1621
+ attributes: *del-table
1218
1622
  -
1219
1623
  name: newchain
1220
1624
  doc: Create a new chain.
@@ -1224,7 +1628,19 @@ operations:
1224
1628
  request:
1225
1629
  value: 0xa03
1226
1630
  attributes:
1631
+ # Mentioned in nf_tables_newchain()
1632
+ - table
1633
+ - handle
1634
+ - policy
1635
+ - flags
1636
+ # Mentioned in nf_tables_updchain()
1637
+ - hook
1227
1638
  - name
1639
+ - counters
1640
+ # Mentioned in nf_tables_addchain()
1641
+ - userdata
1642
+ # Mentioned in nft_chain_parse_hook()
1643
+ - type
1228
1644
  -
1229
1645
  name: getchain
1230
1646
  doc: Get / dump chains.
@@ -1234,11 +1650,27 @@ operations:
1234
1650
  request:
1235
1651
  value: 0xa04
1236
1652
  attributes:
1653
+ # Mentioned in nf_tables_getchain()
1654
+ - table
1237
1655
  - name
1238
1656
  reply:
1239
1657
  value: 0xa03
1240
- attributes:
1658
+ attributes: &get-chain
1659
+ # Mentioned in nf_tables_fill_chain_info()
1660
+ - table
1241
1661
  - name
1662
+ - handle
1663
+ - hook
1664
+ - policy
1665
+ - type
1666
+ - flags
1667
+ - counters
1668
+ - id
1669
+ - use
1670
+ - userdata
1671
+ dump:
1672
+ reply:
1673
+ attributes: *get-chain
1242
1674
  -
1243
1675
  name: delchain
1244
1676
  doc: Delete an existing chain.
@@ -1247,8 +1679,12 @@ operations:
1247
1679
  do:
1248
1680
  request:
1249
1681
  value: 0xa05
1250
- attributes:
1682
+ attributes: &del-chain
1683
+ # Mentioned in nf_tables_delchain()
1684
+ - table
1685
+ - handle
1251
1686
  - name
1687
+ - hook
1252
1688
  -
1253
1689
  name: destroychain
1254
1690
  doc: |
@@ -1259,8 +1695,7 @@ operations:
1259
1695
  do:
1260
1696
  request:
1261
1697
  value: 0xa1b
1262
- attributes:
1263
- - name
1698
+ attributes: *del-chain
1264
1699
  -
1265
1700
  name: newrule
1266
1701
  doc: Create a new rule.
@@ -1270,7 +1705,16 @@ operations:
1270
1705
  request:
1271
1706
  value: 0xa06
1272
1707
  attributes:
1273
- - name
1708
+ # Mentioned in nf_tables_newrule()
1709
+ - table
1710
+ - chain
1711
+ - chain-id
1712
+ - handle
1713
+ - position
1714
+ - position-id
1715
+ - expressions
1716
+ - userdata
1717
+ - compat
1274
1718
  -
1275
1719
  name: getrule
1276
1720
  doc: Get / dump rules.
@@ -1279,12 +1723,30 @@ operations:
1279
1723
  do:
1280
1724
  request:
1281
1725
  value: 0xa07
1282
- attributes:
1283
- - name
1726
+ attributes: &get-rule-request
1727
+ # Mentioned in nf_tables_getrule_single()
1728
+ - table
1729
+ - chain
1730
+ - handle
1284
1731
  reply:
1285
1732
  value: 0xa06
1733
+ attributes: &get-rule
1734
+ # Mentioned in nf_tables_fill_rule_info()
1735
+ - table
1736
+ - chain
1737
+ - handle
1738
+ - position
1739
+ - expressions
1740
+ - userdata
1741
+ dump:
1742
+ request:
1286
1743
  attributes:
1287
- - name
1744
+ # Mentioned in nf_tables_dump_rules_start()
1745
+ - table
1746
+ - chain
1747
+ reply:
1748
+ attributes: *get-rule
1749
+
1288
1750
  -
1289
1751
  name: getrule-reset
1290
1752
  doc: Get / dump rules and reset stateful expressions.
@@ -1293,12 +1755,15 @@ operations:
1293
1755
  do:
1294
1756
  request:
1295
1757
  value: 0xa19
1296
- attributes:
1297
- - name
1758
+ attributes: *get-rule-request
1298
1759
  reply:
1299
1760
  value: 0xa06
1300
- attributes:
1301
- - name
1761
+ attributes: *get-rule
1762
+ dump:
1763
+ request:
1764
+ attributes: *get-rule-request
1765
+ reply:
1766
+ attributes: *get-rule
1302
1767
  -
1303
1768
  name: delrule
1304
1769
  doc: Delete an existing rule.
@@ -1307,8 +1772,11 @@ operations:
1307
1772
  do:
1308
1773
  request:
1309
1774
  value: 0xa08
1310
- attributes:
1311
- - name
1775
+ attributes: &del-rule
1776
+ - table
1777
+ - chain
1778
+ - handle
1779
+ - id
1312
1780
  -
1313
1781
  name: destroyrule
1314
1782
  doc: |
@@ -1318,8 +1786,7 @@ operations:
1318
1786
  do:
1319
1787
  request:
1320
1788
  value: 0xa1c
1321
- attributes:
1322
- - name
1789
+ attributes: *del-rule
1323
1790
  -
1324
1791
  name: newset
1325
1792
  doc: Create a new set.
@@ -1329,7 +1796,21 @@ operations:
1329
1796
  request:
1330
1797
  value: 0xa09
1331
1798
  attributes:
1799
+ # Mentioned in nf_tables_newset()
1800
+ - table
1332
1801
  - name
1802
+ - key-len
1803
+ - id
1804
+ - key-type
1805
+ - flags
1806
+ - data-type
1807
+ - data-len
1808
+ - obj-type
1809
+ - timeout
1810
+ - gc-interval
1811
+ - policy
1812
+ - desc
1813
+ - userdata
1333
1814
  -
1334
1815
  name: getset
1335
1816
  doc: Get / dump sets.
@@ -1339,11 +1820,35 @@ operations:
1339
1820
  request:
1340
1821
  value: 0xa0a
1341
1822
  attributes:
1823
+ # Mentioned in nf_tables_getset()
1824
+ - table
1342
1825
  - name
1343
1826
  reply:
1344
1827
  value: 0xa09
1345
- attributes:
1828
+ attributes: &get-set
1829
+ # Mentioned in nf_tables_fill_set()
1830
+ - table
1346
1831
  - name
1832
+ - handle
1833
+ - flags
1834
+ - key-len
1835
+ - key-type
1836
+ - data-type
1837
+ - data-len
1838
+ - obj-type
1839
+ - gc-interval
1840
+ - policy
1841
+ - userdata
1842
+ - desc
1843
+ - expr
1844
+ - expressions
1845
+ dump:
1846
+ request:
1847
+ attributes:
1848
+ # Mentioned in nf_tables_getset()
1849
+ - table
1850
+ reply:
1851
+ attributes: *get-set
1347
1852
  -
1348
1853
  name: delset
1349
1854
  doc: Delete an existing set.
@@ -1352,7 +1857,10 @@ operations:
1352
1857
  do:
1353
1858
  request:
1354
1859
  value: 0xa0b
1355
- attributes:
1860
+ attributes: &del-set
1861
+ # Mentioned in nf_tables_delset()
1862
+ - table
1863
+ - handle
1356
1864
  - name
1357
1865
  -
1358
1866
  name: destroyset
@@ -1363,8 +1871,7 @@ operations:
1363
1871
  do:
1364
1872
  request:
1365
1873
  value: 0xa1d
1366
- attributes:
1367
- - name
1874
+ attributes: *del-set
1368
1875
  -
1369
1876
  name: newsetelem
1370
1877
  doc: Create a new set element.
@@ -1374,7 +1881,11 @@ operations:
1374
1881
  request:
1375
1882
  value: 0xa0c
1376
1883
  attributes:
1377
- - name
1884
+ # Mentioned in nf_tables_newsetelem()
1885
+ - table
1886
+ - set
1887
+ - set-id
1888
+ - elements
1378
1889
  -
1379
1890
  name: getsetelem
1380
1891
  doc: Get / dump set elements.
@@ -1384,11 +1895,27 @@ operations:
1384
1895
  request:
1385
1896
  value: 0xa0d
1386
1897
  attributes:
1387
- - name
1898
+ # Mentioned in nf_tables_getsetelem()
1899
+ - table
1900
+ - set
1901
+ - elements
1388
1902
  reply:
1389
1903
  value: 0xa0c
1390
1904
  attributes:
1391
- - name
1905
+ # Mentioned in nf_tables_fill_setelem_info()
1906
+ - elements
1907
+ dump:
1908
+ request:
1909
+ attributes: &dump-set-request
1910
+ # Mentioned in nft_set_dump_ctx_init()
1911
+ - table
1912
+ - set
1913
+ reply:
1914
+ attributes: &dump-set
1915
+ # Mentioned in nf_tables_dump_set()
1916
+ - table
1917
+ - set
1918
+ - elements
1392
1919
  -
1393
1920
  name: getsetelem-reset
1394
1921
  doc: Get / dump set elements and reset stateful expressions.
@@ -1398,11 +1925,20 @@ operations:
1398
1925
  request:
1399
1926
  value: 0xa21
1400
1927
  attributes:
1401
- - name
1928
+ # Mentioned in nf_tables_getsetelem_reset()
1929
+ - elements
1402
1930
  reply:
1403
1931
  value: 0xa0c
1404
1932
  attributes:
1405
- - name
1933
+ # Mentioned in nf_tables_dumpreset_set()
1934
+ - table
1935
+ - set
1936
+ - elements
1937
+ dump:
1938
+ request:
1939
+ attributes: *dump-set-request
1940
+ reply:
1941
+ attributes: *dump-set
1406
1942
  -
1407
1943
  name: delsetelem
1408
1944
  doc: Delete an existing set element.
@@ -1411,8 +1947,11 @@ operations:
1411
1947
  do:
1412
1948
  request:
1413
1949
  value: 0xa0e
1414
- attributes:
1415
- - name
1950
+ attributes: &del-setelem
1951
+ # Mentioned in nf_tables_delsetelem()
1952
+ - table
1953
+ - set
1954
+ - elements
1416
1955
  -
1417
1956
  name: destroysetelem
1418
1957
  doc: Delete an existing set element with destroy semantics.
@@ -1421,8 +1960,7 @@ operations:
1421
1960
  do:
1422
1961
  request:
1423
1962
  value: 0xa1e
1424
- attributes:
1425
- - name
1963
+ attributes: *del-setelem
1426
1964
  -
1427
1965
  name: getgen
1428
1966
  doc: Get / dump rule-set generation.
@@ -1431,12 +1969,16 @@ operations:
1431
1969
  do:
1432
1970
  request:
1433
1971
  value: 0xa10
1434
- attributes:
1435
- - name
1436
1972
  reply:
1437
1973
  value: 0xa0f
1438
- attributes:
1439
- - name
1974
+ attributes: &get-gen
1975
+ # Mentioned in nf_tables_fill_gen_info()
1976
+ - id
1977
+ - proc-pid
1978
+ - proc-name
1979
+ dump:
1980
+ reply:
1981
+ attributes: *get-gen
1440
1982
  -
1441
1983
  name: newobj
1442
1984
  doc: Create a new stateful object.
@@ -1446,7 +1988,12 @@ operations:
1446
1988
  request:
1447
1989
  value: 0xa12
1448
1990
  attributes:
1991
+ # Mentioned in nf_tables_newobj()
1992
+ - type
1449
1993
  - name
1994
+ - data
1995
+ - table
1996
+ - userdata
1450
1997
  -
1451
1998
  name: getobj
1452
1999
  doc: Get / dump stateful objects.
@@ -1456,11 +2003,29 @@ operations:
1456
2003
  request:
1457
2004
  value: 0xa13
1458
2005
  attributes:
2006
+ # Mentioned in nf_tables_getobj_single()
1459
2007
  - name
2008
+ - type
2009
+ - table
1460
2010
  reply:
1461
2011
  value: 0xa12
1462
- attributes:
2012
+ attributes: &obj-info
2013
+ # Mentioned in nf_tables_fill_obj_info()
2014
+ - table
1463
2015
  - name
2016
+ - type
2017
+ - handle
2018
+ - use
2019
+ - data
2020
+ - userdata
2021
+ dump:
2022
+ request:
2023
+ attributes:
2024
+ # Mentioned in nf_tables_dump_obj_start()
2025
+ - table
2026
+ - type
2027
+ reply:
2028
+ attributes: *obj-info
1464
2029
  -
1465
2030
  name: delobj
1466
2031
  doc: Delete an existing stateful object.
@@ -1470,7 +2035,11 @@ operations:
1470
2035
  request:
1471
2036
  value: 0xa14
1472
2037
  attributes:
2038
+ # Mentioned in nf_tables_delobj()
2039
+ - table
1473
2040
  - name
2041
+ - type
2042
+ - handle
1474
2043
  -
1475
2044
  name: destroyobj
1476
2045
  doc: Delete an existing stateful object with destroy semantics.
@@ -1480,7 +2049,11 @@ operations:
1480
2049
  request:
1481
2050
  value: 0xa1f
1482
2051
  attributes:
2052
+ # Mentioned in nf_tables_delobj()
2053
+ - table
1483
2054
  - name
2055
+ - type
2056
+ - handle
1484
2057
  -
1485
2058
  name: newflowtable
1486
2059
  doc: Create a new flow table.
@@ -1490,7 +2063,11 @@ operations:
1490
2063
  request:
1491
2064
  value: 0xa16
1492
2065
  attributes:
2066
+ # Mentioned in nf_tables_newflowtable()
2067
+ - table
1493
2068
  - name
2069
+ - hook
2070
+ - flags
1494
2071
  -
1495
2072
  name: getflowtable
1496
2073
  doc: Get / dump flow tables.
@@ -1500,11 +2077,22 @@ operations:
1500
2077
  request:
1501
2078
  value: 0xa17
1502
2079
  attributes:
2080
+ # Mentioned in nf_tables_getflowtable()
1503
2081
  - name
2082
+ - table
1504
2083
  reply:
1505
2084
  value: 0xa16
1506
- attributes:
2085
+ attributes: &flowtable-info
2086
+ # Mentioned in nf_tables_fill_flowtable_info()
2087
+ - table
1507
2088
  - name
2089
+ - handle
2090
+ - use
2091
+ - flags
2092
+ - hook
2093
+ dump:
2094
+ reply:
2095
+ attributes: *flowtable-info
1508
2096
  -
1509
2097
  name: delflowtable
1510
2098
  doc: Delete an existing flow table.
@@ -1513,8 +2101,12 @@ operations:
1513
2101
  do:
1514
2102
  request:
1515
2103
  value: 0xa18
1516
- attributes:
2104
+ attributes: &del-flowtable
2105
+ # Mentioned in nf_tables_delflowtable()
2106
+ - table
1517
2107
  - name
2108
+ - handle
2109
+ - hook
1518
2110
  -
1519
2111
  name: destroyflowtable
1520
2112
  doc: Delete an existing flow table with destroy semantics.
@@ -1523,8 +2115,7 @@ operations:
1523
2115
  do:
1524
2116
  request:
1525
2117
  value: 0xa20
1526
- attributes:
1527
- - name
2118
+ attributes: *del-flowtable
1528
2119
 
1529
2120
  mcast-groups:
1530
2121
  list: