- May I keep the same key and generate millions of tags using the same key, as long as the GCM counter increments for every 128-bit block?
You can generate millions of tags, but you'd want to use a distinct IV for each one.
- Do I need to restart the tag computation process (i.e., clear accumulators) for each tag?
Well, yes, the security proof for GCM assume that each message is encrypted independently (and in your case, each 6usec section of data would be treated as a separate message). Now, it might be possible to prove security when you don't restart things, but I wouldn't count on it. In addition, if you don't clear things out, you might run into problems where an intermediately frame gets an error (possibly due to random line noise); with standard GCM, just that frame will get rejected; if you keep the computation stateful, you might end up throwing everything out until you rekey. So, I think you'd be well advised to reset the computation, even if someone can prove that not doing so is secure.
- Or, must I change the key once a tag is computed and transmitted?
Nope, as above, you can use the same key multiple times.
- In a related question, can I use an IV of fewer than 96 bits?
Well, you could (GCM does allow variable length IVs); however there is little reason to; in variable length mode, GCM is slower (because it takes some computations to convert the IV into an internal state), and it turns out to be less secure.
On the other hand:
- Could I use, say, an 84-bit IV with a 44-bit counter
No; GCM is defined to use a 32 bit counter internally. And, you have no reason to; at 400Gbps (are you really that fast?) GCM will process about 18,750 128 bit blocks (or 300kbytes) in 6usec; after 6usec, you generate a tag, and start on encrypting a distinct message (which resets the internal counter); this doesn't come close to hitting the limit on GCM message size.