Print this page
dccp: options and features

Split Close
Expand all
Collapse all
          --- old/usr/src/cmd/cmd-inet/usr.sbin/snoop/snoop_filter.c
          +++ new/usr/src/cmd/cmd-inet/usr.sbin/snoop/snoop_filter.c
↓ open down ↓ 1338 lines elided ↑ open up ↑
1339 1339          "icmp6",        6,  1, IPPROTO_ICMPV6,   1,     OP_OFFSET_LINK,
1340 1340          "ospf",         9,  1, IPPROTO_OSPF,     0,     OP_OFFSET_LINK,
1341 1341          "ospf",         6,  1, IPPROTO_OSPF,     1,     OP_OFFSET_LINK,
1342 1342          "ip-in-ip",     9,  1, IPPROTO_ENCAP,    0,     OP_OFFSET_LINK,
1343 1343          "esp",          9,  1, IPPROTO_ESP,      0,     OP_OFFSET_LINK,
1344 1344          "esp",          6,  1, IPPROTO_ESP,      1,     OP_OFFSET_LINK,
1345 1345          "ah",           9,  1, IPPROTO_AH,       0,     OP_OFFSET_LINK,
1346 1346          "ah",           6,  1, IPPROTO_AH,       1,     OP_OFFSET_LINK,
1347 1347          "sctp",         9,  1, IPPROTO_SCTP,     0,     OP_OFFSET_LINK,
1348 1348          "sctp",         6,  1, IPPROTO_SCTP,     1,     OP_OFFSET_LINK,
     1349 +        "dccp",         9,  1, IPPROTO_DCCP,     0,     OP_OFFSET_LINK,
     1350 +        "dccp",         6,  1, IPPROTO_DCCP,     1,     OP_OFFSET_LINK,
1349 1351          0,              0,  0, 0,                0,     0
1350 1352  };
1351 1353  
1352 1354  static match_type_t ipnet_match_types[] = {
1353 1355          /*
1354 1356           * Table initialized assuming Ethernet data link headers.
1355 1357           * m_offset is an offset beyond the offset op, which is why
1356 1358           * the offset is zero for when snoop needs to check an ethertype.
1357 1359           */
1358 1360          "ip",           0,  1, IPV4_VERSION,    -1,     OP_OFFSET_ETHERTYPE,
↓ open down ↓ 6 lines elided ↑ open up ↑
1365 1367          "icmp6",        6,  1, IPPROTO_ICMPV6,   1,     OP_OFFSET_LINK,
1366 1368          "ospf",         9,  1, IPPROTO_OSPF,     0,     OP_OFFSET_LINK,
1367 1369          "ospf",         6,  1, IPPROTO_OSPF,     1,     OP_OFFSET_LINK,
1368 1370          "ip-in-ip",     9,  1, IPPROTO_ENCAP,    0,     OP_OFFSET_LINK,
1369 1371          "esp",          9,  1, IPPROTO_ESP,      0,     OP_OFFSET_LINK,
1370 1372          "esp",          6,  1, IPPROTO_ESP,      1,     OP_OFFSET_LINK,
1371 1373          "ah",           9,  1, IPPROTO_AH,       0,     OP_OFFSET_LINK,
1372 1374          "ah",           6,  1, IPPROTO_AH,       1,     OP_OFFSET_LINK,
1373 1375          "sctp",         9,  1, IPPROTO_SCTP,     0,     OP_OFFSET_LINK,
1374 1376          "sctp",         6,  1, IPPROTO_SCTP,     1,     OP_OFFSET_LINK,
     1377 +        "dccp",         9,  1, IPPROTO_DCCP,     0,     OP_OFFSET_LINK,
     1378 +        "dccp",         6,  1, IPPROTO_DCCP,     1,     OP_OFFSET_LINK,
1375 1379          0,              0,  0, 0,                0,     0
1376 1380  };
1377 1381  
1378 1382  static match_type_t iptun_match_types[] = {
1379 1383          "ip",           0,  1, IPPROTO_ENCAP,   -1,     OP_OFFSET_ETHERTYPE,
1380 1384          "ip6",          0,  1, IPPROTO_IPV6,    -1,     OP_OFFSET_ETHERTYPE,
1381 1385          "tcp",          9,  1, IPPROTO_TCP,     0,      OP_OFFSET_LINK,
1382 1386          "tcp",          6,  1, IPPROTO_TCP,     1,      OP_OFFSET_LINK,
1383 1387          "udp",          9,  1, IPPROTO_UDP,     0,      OP_OFFSET_LINK,
1384 1388          "udp",          6,  1, IPPROTO_UDP,     1,      OP_OFFSET_LINK,
↓ open down ↓ 1 lines elided ↑ open up ↑
1386 1390          "icmp6",        6,  1, IPPROTO_ICMPV6,  1,      OP_OFFSET_LINK,
1387 1391          "ospf",         9,  1, IPPROTO_OSPF,    0,      OP_OFFSET_LINK,
1388 1392          "ospf",         6,  1, IPPROTO_OSPF,    1,      OP_OFFSET_LINK,
1389 1393          "ip-in-ip",     9,  1, IPPROTO_ENCAP,   0,      OP_OFFSET_LINK,
1390 1394          "esp",          9,  1, IPPROTO_ESP,     0,      OP_OFFSET_LINK,
1391 1395          "esp",          6,  1, IPPROTO_ESP,     1,      OP_OFFSET_LINK,
1392 1396          "ah",           9,  1, IPPROTO_AH,      0,      OP_OFFSET_LINK,
1393 1397          "ah",           6,  1, IPPROTO_AH,      1,      OP_OFFSET_LINK,
1394 1398          "sctp",         9,  1, IPPROTO_SCTP,    0,      OP_OFFSET_LINK,
1395 1399          "sctp",         6,  1, IPPROTO_SCTP,    1,      OP_OFFSET_LINK,
     1400 +        "dccp",         9,  1, IPPROTO_DCCP,    0,      OP_OFFSET_LINK,
     1401 +        "dccp",         6,  1, IPPROTO_DCCP,    1,      OP_OFFSET_LINK,
1396 1402          0,              0,  0, 0,               0,      0
1397 1403  };
1398 1404  
1399 1405  static void
1400 1406  generate_check(match_type_t match_types[], int index, int type)
1401 1407  {
1402 1408          match_type_t *mtp = &match_types[index];
1403 1409          /*
1404 1410           * Note: this code assumes the above dependencies are
1405 1411           * not cyclic.  This *should* always be true.
↓ open down ↓ 1438 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX