diff options
author | np <np@FreeBSD.org> | 2011-12-16 02:09:51 +0000 |
---|---|---|
committer | np <np@FreeBSD.org> | 2011-12-16 02:09:51 +0000 |
commit | 65b6b4fa8f3369ae8f1ddf883233883607f6abb8 (patch) | |
tree | 3f54f68c887ea6a17b5427746efe66dfa931b56d /tools | |
parent | 8b1b8ed3cbd6bbfca00c2962853afec4ba1e1839 (diff) | |
download | FreeBSD-src-65b6b4fa8f3369ae8f1ddf883233883607f6abb8.zip FreeBSD-src-65b6b4fa8f3369ae8f1ddf883233883607f6abb8.tar.gz |
Many updates to cxgbe(4)
- Device configuration via plain text config file. Also able to operate
when not attached to the chip as the master driver.
- Generic "work request" queue that serves as the base for both ctrl and
ofld tx queues.
- Generic interrupt handler routine that can process any event on any
kind of ingress queue (via a dispatch table).
- A couple of new driver ioctls. cxgbetool can now install a firmware
to the card ("loadfw" command) and can read the card's memory
("memdump" and "tcb" commands).
- Lots of assorted information within dev.t4nex.X.misc.* This is
primarily for debugging and won't show up in sysctl -a.
- Code to manage the L2 tables on the chip.
- Updates to cxgbe(4) man page to go with the tunables that have changed.
- Updates to the shared code in common/
- Updates to the driver-firmware interface (now at fw 1.4.16.0)
MFC after: 1 month
Diffstat (limited to 'tools')
-rw-r--r-- | tools/tools/cxgbetool/cxgbetool.c | 64 |
1 files changed, 35 insertions, 29 deletions
diff --git a/tools/tools/cxgbetool/cxgbetool.c b/tools/tools/cxgbetool/cxgbetool.c index da6bfba..06fa50b 100644 --- a/tools/tools/cxgbetool/cxgbetool.c +++ b/tools/tools/cxgbetool/cxgbetool.c @@ -396,12 +396,12 @@ do_show_info_header(uint32_t mode) printf (" Port"); break; - case T4_FILTER_OVLAN: - printf (" vld:oVLAN"); + case T4_FILTER_VNIC: + printf (" vld:VNIC"); break; - case T4_FILTER_IVLAN: - printf (" vld:iVLAN"); + case T4_FILTER_VLAN: + printf (" vld:VLAN"); break; case T4_FILTER_IP_TOS: @@ -653,18 +653,18 @@ do_show_one_filter_info(struct t4_filter *t, uint32_t mode) printf(" %1d/%1d", t->fs.val.iport, t->fs.mask.iport); break; - case T4_FILTER_OVLAN: + case T4_FILTER_VNIC: printf(" %1d:%1x:%02x/%1d:%1x:%02x", - t->fs.val.ovlan_vld, (t->fs.val.ovlan >> 7) & 0x7, - t->fs.val.ovlan & 0x7f, t->fs.mask.ovlan_vld, - (t->fs.mask.ovlan >> 7) & 0x7, - t->fs.mask.ovlan & 0x7f); + t->fs.val.vnic_vld, (t->fs.val.vnic >> 7) & 0x7, + t->fs.val.vnic & 0x7f, t->fs.mask.vnic_vld, + (t->fs.mask.vnic >> 7) & 0x7, + t->fs.mask.vnic & 0x7f); break; - case T4_FILTER_IVLAN: + case T4_FILTER_VLAN: printf(" %1d:%04x/%1d:%04x", - t->fs.val.ivlan_vld, t->fs.val.ivlan, - t->fs.mask.ivlan_vld, t->fs.mask.ivlan); + t->fs.val.vlan_vld, t->fs.val.vlan, + t->fs.mask.vlan_vld, t->fs.mask.vlan); break; case T4_FILTER_IP_TOS: @@ -830,11 +830,11 @@ get_filter_mode(void) if (mode & T4_FILTER_IP_TOS) printf("tos "); - if (mode & T4_FILTER_IVLAN) - printf("ivlan "); + if (mode & T4_FILTER_VLAN) + printf("vlan "); - if (mode & T4_FILTER_OVLAN) - printf("ovlan "); + if (mode & T4_FILTER_VNIC) + printf("vnic "); if (mode & T4_FILTER_PORT) printf("iport "); @@ -868,11 +868,12 @@ set_filter_mode(int argc, const char *argv[]) if (!strcmp(argv[0], "tos")) mode |= T4_FILTER_IP_TOS; - if (!strcmp(argv[0], "ivlan")) - mode |= T4_FILTER_IVLAN; + if (!strcmp(argv[0], "vlan")) + mode |= T4_FILTER_VLAN; - if (!strcmp(argv[0], "ovlan")) - mode |= T4_FILTER_OVLAN; + if (!strcmp(argv[0], "ovlan") || + !strcmp(argv[0], "vnic")) + mode |= T4_FILTER_VNIC; if (!strcmp(argv[0], "iport")) mode |= T4_FILTER_PORT; @@ -936,15 +937,20 @@ set_filter(uint32_t idx, int argc, const char *argv[]) t.fs.val.iport = val; t.fs.mask.iport = mask; } else if (!parse_val_mask("ovlan", args, &val, &mask)) { - t.fs.val.ovlan = val; - t.fs.mask.ovlan = mask; - t.fs.val.ovlan_vld = 1; - t.fs.mask.ovlan_vld = 1; - } else if (!parse_val_mask("ivlan", args, &val, &mask)) { - t.fs.val.ivlan = val; - t.fs.mask.ivlan = mask; - t.fs.val.ivlan_vld = 1; - t.fs.mask.ivlan_vld = 1; + t.fs.val.vnic = val; + t.fs.mask.vnic = mask; + t.fs.val.vnic_vld = 1; + t.fs.mask.vnic_vld = 1; + } else if (!parse_val_mask("vnic", args, &val, &mask)) { + t.fs.val.vnic = val; + t.fs.mask.vnic = mask; + t.fs.val.vnic_vld = 1; + t.fs.mask.vnic_vld = 1; + } else if (!parse_val_mask("vlan", args, &val, &mask)) { + t.fs.val.vlan = val; + t.fs.mask.vlan = mask; + t.fs.val.vlan_vld = 1; + t.fs.mask.vlan_vld = 1; } else if (!parse_val_mask("tos", args, &val, &mask)) { t.fs.val.tos = val; t.fs.mask.tos = mask; |