iseries_veth.h 909 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /* File veth.h created by Kyle A. Lucke on Mon Aug 7 2000. */
  2. #ifndef _ISERIES_VETH_H
  3. #define _ISERIES_VETH_H
  4. #define VethEventTypeCap (0)
  5. #define VethEventTypeFrames (1)
  6. #define VethEventTypeMonitor (2)
  7. #define VethEventTypeFramesAck (3)
  8. #define VETH_MAX_ACKS_PER_MSG (20)
  9. #define VETH_MAX_FRAMES_PER_MSG (6)
  10. struct VethFramesData {
  11. u32 addr[VETH_MAX_FRAMES_PER_MSG];
  12. u16 len[VETH_MAX_FRAMES_PER_MSG];
  13. u32 eofmask;
  14. };
  15. #define VETH_EOF_SHIFT (32-VETH_MAX_FRAMES_PER_MSG)
  16. struct VethFramesAckData {
  17. u16 token[VETH_MAX_ACKS_PER_MSG];
  18. };
  19. struct VethCapData {
  20. u8 caps_version;
  21. u8 rsvd1;
  22. u16 num_buffers;
  23. u16 ack_threshold;
  24. u16 rsvd2;
  25. u32 ack_timeout;
  26. u32 rsvd3;
  27. u64 rsvd4[3];
  28. };
  29. struct VethLpEvent {
  30. struct HvLpEvent base_event;
  31. union {
  32. struct VethCapData caps_data;
  33. struct VethFramesData frames_data;
  34. struct VethFramesAckData frames_ack_data;
  35. } u;
  36. };
  37. #endif /* _ISERIES_VETH_H */