15.2 FFP Åë°è

ÀÌ ¼½¼ÇÀº FFP¸¦ Áö¿øÇÏ´Â NIC°ú NDIS µå¶óÀ̹ö¸¦ À§ÇØ Åë°è¸¦ ¾ò°Å³ª ¼³Á¤Çϱâ À§Çؼ­ »ç¿ëµÉ ¼ö ÀÖ´Â OID¸¦ ¼­¼úÇÑ´Ù. ´ÙÀ½ Â÷Æ®´Â ÀÌ·± OID¸¦ ¿ä¾àÇÑ´Ù.

Length Q S Name
36 M M OID_FFP_ADAPTER_STATS
Æ÷Æ®´ç ±âÃÊ¿¡¼­ FFP Åë°è¸¦ ¸®¼ÂÇϰųª ¾ò´Â´Ù.
28 or 36 M M OID_FFP_DRIVER_STATS
¸ðµç Æ÷Æ®¿¡ ´ëÇØ¼­ FFP Åë°è¸¦ ¸®¼ÂÇϰųª ¾ò´Â´Ù.

´ÙÀ½Àº À§ÀÇ Â÷Æ®º¸´Ù ´õ ¸¹Àº °¢°¢ÀÇ OID¸¦ ¼­¼úÇÑ´Ù.

OID_FFP_ADAPTER_STATS

ÀÌ OID´Â Æ÷Æ®´ç ±âÃÊ¿¡¼­ FFP Åë°è¸¦ ¾ò°Å³ª ¸®¼ÂÇϱâ À§Çؼ­ ¸®Äù½ºÆ®ÇÑ´Ù.

ÀÌ OID¸¦ Æ÷ÇÔÇÏ´Â ¸®Äù½ºÆ®´Â FFP Åë°è¸¦ ¾ò°Å³ª ¸®¼ÂÇϱâ À§Çؼ­ ´ÙÀ½°ú °°ÀÌ Á¤ÀÇµÈ FFPAdapterStats ±¸Á¶Ã¼¸¦ »ç¿ëÇÑ´Ù:


typedef struct _FFPAdapterStats {

    IN      ULONG          NdisProtocolType; 

    IN/OUT  ULONG          InPacketsForwarded;

    IN/OUT  ULONG          InOctetsForwarded;

    IN/OUT  ULONG          InPacketsDiscarded;

    IN/OUT  ULONG          InOctetsDiscarded;

    IN/OUT  ULONG          InPacketsIndicated;

    IN/OUT  ULONG          InOctetsIndicated;

    IN/OUT  ULONG          OutPacketsForwarded;

    IN/OUT  ULONG          OutOctetsForwarded;

} FFPAdapterStats;

ÀÌ ±¸Á¶Ã¼ÀÇ ¸â¹ö´Â ´ÙÀ½ Á¤º¸¸¦ Æ÷ÇÔÇÑ´Ù:

NdisProtocolType
FFP Åë°è¸¦ ¾ò°Å³ª ¸®¼ÂÇϱâ À§Çؼ­ ÀÌ OID¸¦ º¸³»´Â ÇÁ·ÎÅäÄÝ Å¸ÀÔÀ» ¼­¼úÇÑ´Ù. TCP/IP ÇÁ·ÎÅäÄÝÀ» ¼­¼úÇÏ´Â NDIS_PROTOCOL_ID_TCP_IP °ªÀº ÇöÀç Áö¿øµÇÁö ¾Ê´Â °ªÀÌ´Ù.

InPacketsForwarded
¹Ì´ÏÆ÷Æ® µå¶óÀ̹öÀÇ NICÀÌ ´Ù¸¥ Æ÷Æ®·Î ºü¸£°Ô Æ÷¿öµåÇÑ Æ÷Æ® »ó¿¡¼­ µé¾î¿À´Â ÆÐŶÀÇ ¼ö¸¦ ¼­¼úÇÏ´Â 32 ºñÆ® °ªÀÌ´Ù.

InOctetsForwarded
¹Ì´ÏÆ÷Æ® µå¶óÀ̹öÀÇ NICÀÌ ´Ù¸¥ Æ÷Æ®·Î ºü¸£°Ô Æ÷¿öµåÇÑ Æ÷Æ® »ó¿¡¼­ µé¾î¿À´Â ¹ÙÀÌÆ®ÀÇ ¼ö¸¦ ¼­¼úÇÏ´Â 32 ºñÆ® °ªÀÌ´Ù.

InPacketsDiscarded
¹Ì´ÏÆ÷Æ® µå¶óÀ̹öÀÇ NICÀÌ µå¶øÇÑ Æ÷Æ® »ó¿¡¼­ µé¾î¿À´Â ÆÐŶÀÇ ¼ö¸¦ ¼­¼úÇÏ´Â 32 ºñÆ® °ªÀÌ´Ù.

InOctetsDiscarded
¹Ì´ÏÆ÷Æ® µå¶óÀ̹öÀÇ NICÀÌ µå¶øÇÑ Æ÷Æ® »ó¿¡¼­ µé¾î¿À´Â ¹ÙÀÌÆ®ÀÇ ¼ö¸¦ ¼­¼úÇÏ´Â 32 ºñÆ® °ªÀÌ´Ù.

InPacketsIndicated
¹Ì´ÏÆ÷Æ® µå¶óÀ̹ö¿Í ±× µå¶óÀ̹öÀÇ NICÀÌ ¹ÙÀεùµÈ ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö·Î ÀεðÄÉÀÌÆ®ÇÑ Æ÷Æ® »ó¿¡¼­ µé¾î¿À´Â ÆÐŶÀÇ ¼ö¸¦ ¼­¼úÇÏ´Â 32 ºñÆ® °ªÀÌ´Ù.

InOctetsIndicated
¹Ì´ÏÆ÷Æ® µå¶óÀ̹ö¿Í ±× µå¶óÀ̹öÀÇ NICÀÌ ¹ÙÀεùµÈ ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö·Î ÀεðÄÉÀÌÆ®ÇÑ Æ÷Æ® »ó¿¡¼­ µé¾î¿À´Â ¹ÙÀÌÆ®ÀÇ ¼ö¸¦ ¼­¼úÇÏ´Â 32 ºñÆ® °ªÀÌ´Ù.

OutPacketsForwarded
¹Ì´ÏÆ÷Æ® µå¶óÀ̹öÀÇ NICÀÌ ´Ù¸¥ Æ÷Æ®·ÎºÎÅÍ ºü¸£°Ô Æ÷¿öµåÇÑ Æ÷Æ® »ó¿¡¼­ ³ª°¡´Â ÆÐŶÀÇ ¼ö¸¦ ¼­¼úÇÏ´Â 32 ºñÆ® °ªÀÌ´Ù.

OutOctetsForwarded
¹Ì´ÏÆ÷Æ® µå¶óÀ̹öÀÇ NICÀÌ ´Ù¸¥ Æ÷Æ®·ÎºÎÅÍ ºü¸£°Ô Æ÷¿öµåÇÑ Æ÷Æ® »ó¿¡¼­ ³ª°¡´Â ¹ÙÀÌÆ®ÀÇ ¼ö¸¦ ¼­¼úÇÏ´Â 32 ºñÆ® °ªÀÌ´Ù.

Remarks

Æ÷Æ® »ó¿¡¼­ µé¾î¿À´Â ¾î¶² ÆÐŶÀº ¹Ì´ÏÆ÷Æ® µå¶óÀ̹ö¿Í ±× µå¶óÀ̹öÀÇ NIC¿¡¼­ ´ÙÀ½ ¼¼°¡Áö °æ·Î Áß¿¡¼­ Çϳª¸¦ ÇàÇÑ´Ù:

  • ´Ù¸¥ Æ÷Æ®¿¡¼­ ³ª°¡´Â ºü¸¥ Æ÷¿öµå¸¦ ¾ò¾î¶ó.
  • ¸î¸î »óÀ§Ãþ °³Ã¼´Â ÀÌ ÆÐŶÀÇ Æ¯Á¤ Çì´õ ÆÐÅÏÀ» °¡Áö°í FFP_DISCARD_PACKETÀ» ÆÐŶ¿¡ ´ëÇÑ Ä³½¬ ¿£Æ®¸® ŸÀÔÀ¸·Î ¼³Á¤Çϱ⠶§¹®¿¡ µå¶øÇضó. ´õ ¸¹Àº Á¤º¸´Â OID_FFP_DATA¸¦ ºÁ¶ó.
  • ÀεðÄÉÀÌÆ®Çضó. Áï, À§¿¡ ¹ÙÀεòµÈ ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö·Î ÀεðÄÉÀÌÆ®Çضó.

ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö´Â NdisRequest ÇÔ¼ö¸¦ È£ÃâÇÒ ¼ö ÀÖ´Ù. ±×·¡¼­ ³×Æ®¿÷ Æ÷Æ®´ç ÀÌ FFP Åë°è Á¤º¸¸¦ À§ÇÑ Äõ¸®¸¦ Çϱâ À§Çؼ­ OID_FFP_ADAPTER_STATS Äڵ带 °¡Áö°í ä¿öÁø NDIS_REQUEST ŸÀÔÀÇ ±¸Á¶Ã¼¸¦ Àü´ÞÇÒ ¼ö ÀÖ´Ù. ÀÌ È£Ãâ¿¡¼­ ¶ÇÇÑ ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö´Â NdisBindingHandle ¸Å°³º¯¼ö ¾ÈÀ¸·Î ƯÁ¤ Æ÷Æ®¿¡ ´ëÀÀÇÏ´Â ¹ÙÀεùÀ» Àü´ÞÇÑ´Ù. ÀÌ È£ÃâÀ» À§Çؼ­ ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö´Â FFPAdapterStats ŸÀÔÀÇ ±¸Á¶Ã¼¿¡ ´ëÇÑ Æ÷ÀÎÅ͸¦ °¡Áö°í NDIS_REQUEST ±¸Á¶Ã¼ÀÇ InformationBuffer ¸â¹ö¸¦ ä¿ö¾ßÇÑ´Ù. ¸®ÅÏµÈ FFP Åë°èÁ¤º¸´Â ±×µéÀÌ °ÅÄ£ Æ÷Æ®¿Í °æ·Î »ó¿¡¼­ µé¾î¿À´Â ÆÐŶ°ú ¹ÙÀÌÆ®ÀÇ ¼ö¸¦ Æ÷ÇÔÇÑ´Ù. ÀÌ·± Äõ¸® ¸®Äù½ºÆ®¿¡¼­ NdisProtocolTypeÀ» Á¦¿ÜÇÑ FFPAdapterStats ±¸Á¶Ã¼ÀÇ ¸ðµç ¸â¹ö´Â OUT ¸Å°³º¯¼öÀÌ´Ù.

ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö´Â NdisRequest ÇÔ¼ö¸¦ È£ÃâÇÒ ¼ö ÀÖ´Ù. ±×·¡¼­ ³×Æ®¿÷ Æ÷Æ®´ç ÀÌ FFP Åë°è Á¤º¸¸¦ À§ÇÑ ¼ÂÀ» Çϱâ À§Çؼ­ OID_FFP_ADAPTER_STATS Äڵ带 °¡Áö°í ä¿öÁø NDIS_REQUEST ŸÀÔÀÇ ±¸Á¶Ã¼¸¦ Àü´ÞÇÒ ¼ö ÀÖ´Ù. ÀÌ È£ÃâÀ» À§Çؼ­ ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö´Â ÃʱâÈ­µÈ °ªÀ» °¡Áö°í FFPAdapterStatsÀ» ä¿ö¾ßÇÑ´Ù. ÀüÇüÀûÀ¸·Î ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö´Â ´ë°³ 0À¸·Î ÃʱâÈ­µÇ´Â ±âº» ÃʱâÈ­ °ªÀ¸·Î FFPAdapterStats ±¸Á¶Ã¼ÀÇ ¸ðµç ¸â¹ö¸¦ ¸®¼ÂÇϱâ À§Çؼ­ ÀÌ·± ¼Â ¸®Äù½ºÆ®¸¦ ¼öÇàÇÑ´Ù. ÀÌ·± ¼Â ¸®Äù½ºÆ®¿¡¼­ NdisProtocolTypeÀ» Æ÷ÇÔÇÑ FFPAdapterStats ±¸Á¶Ã¼ÀÇ ¸ðµç ¸â¹ö´Â IN ¸Å°³º¯¼öÀÌ´Ù.

OID_FFP_DRIVER_STATS

Äõ¸®·Î½á ÀÌ OID´Â NIC»ó¿¡ ÀÖ´Â ¸ðµç Æ÷Æ®¿¡ ´ëÇØ¼­ FFP Åë°è¸¦ ¸®Äù½ºÆ®ÇÑ´Ù. ¼ÂÀ¸·Î½á ÀÌ OID´Â NIC»ó¿¡ ÀÖ´Â ¸ðµç Æ÷Æ®¿¡ ´ëÇØ¼­ FFP Åë°è¸¦ ¸®¼ÂÇϱâ À§Çؼ­ ¹Ì´ÏÆ÷Æ® µå¶óÀ̹ö¸¦ ¸®Äù½ºÆ®ÇÑ´Ù.

ÀÌ OID¸¦ Æ÷ÇÔÇÏ´Â ¼Â ¸®Äù½ºÆ®´Â NIC »ó¿¡ ÀÖ´Â ¸ðµç Æ÷Æ®¿¡ ´ëÇØ¼­ FFP Åë°è¸¦ ¸®¼ÂÇϱâ À§ÇØ OID_FFP_ADAPTER_STATS¿¡¼­ Á¤ÀÇµÈ FFPAdapterStats ±¸Á¶Ã¼¸¦ »ç¿ëÇÑ´Ù. ¹Ì´ÏÆ÷Æ® µå¶óÀ̹ö´Â ¹Ì´ÏÆ÷Æ® µå¶óÀ̹ö¿¡ ÀÇÇØ¼­ ÅëÁ¦µÇ´Â ¸ðµç Æ÷Æ®¿¡ ´ëÇÑ Æ÷Æ®´ç Åë°è¸¦ ¸®¼ÂÇϱâ À§Çؼ­ ¼Â ¸®Äù½ºÆ®¿¡¼­ FFPAdapterStats ±¸Á¶Ã¼ÀÇ ¸â¹öµéÀ» »ç¿ëÇÑ´Ù.

ÀÌ OID¸¦ Æ÷ÇÔÇÏ´Â Äõ¸® ¸®Äù½ºÆ®´Â FFP Åë°è¸¦ ¾ò±â À§Çؼ­ ´ÙÀ½°ú °°ÀÌ Á¤ÀÇµÈ FFPDriverStats ±¸Á¶Ã¼¸¦ »ç¿ëÇÑ´Ù:


typedef struct _FFPDriverStats {

    IN   ULONG          NdisProtocolType;

    OUT  ULONG          PacketsForwarded;

    OUT  ULONG          OctetsForwarded;

    OUT  ULONG          PacketsDiscarded;

    OUT  ULONG          OctetsDiscarded;

    OUT  ULONG          PacketsIndicated;

    OUT  ULONG          OctetsIndicated;

} FFPDriverStats;

ÀÌ ±¸Á¶Ã¼ÀÇ ¸â¹ö´Â ´ÙÀ½ÀÇ Á¤º¸¸¦ Æ÷ÇÔÇÑ´Ù:

NdisProtocolType
FFP Åë°è¸¦ ¾ò±â À§Çؼ­ ÀÌ OID¸¦ º¸³»´Â ÇÁ·ÎÅäÄÝ Å¸ÀÔÀ» ¼­¼úÇÑ´Ù. TCP/IP ÇÁ·ÎÅäÄÝÀ» ¼­¼úÇÏ´Â NDIS_PROTOCOL_ID_TCP_IP °ªÀº ÇöÀç Áö¿öµÇÁö ¾Ê´Â °ªÀÌ´Ù.

PacketsForwarded
ÇÑ Æ÷Æ®¿¡¼­ ´Ù¸¥ Æ÷Æ®·ÎÀÇ ºü¸¥ °æ·Î¿¡¼­ Æ÷¿öµåµÈ ÆÐŶÀÇ ¼ö¸¦ ¼­¼úÇÏ´Â 32 ºñÆ® °ªÀÌ´Ù.

OctetsForwarded
ÇÑ Æ÷Æ®¿¡¼­ ´Ù¸¥ Æ÷Æ®·ÎÀÇ ºü¸¥ °æ·Î¿¡¼­ Æ÷¿öµåµÈ ¹ÙÀÌÆ®ÀÇ ¼ö¸¦ ¼­¼úÇÏ´Â 32 ºñÆ® °ªÀÌ´Ù.

PacketsDiscarded
ÇÑ Æ÷Æ®¿¡¼­ ´Ù¸¥ Æ÷Æ®±îÁö Á¸ÀçÇÏ´Â ºü¸¥ °æ·Î·ÎºÎÅÍ µå¶øµÈ ÆÐŶÀÇ ¼ö¸¦ ¼­¼úÇÏ´Â 32 ºñÆ® °ªÀÌ´Ù.

OctetsDiscarded
ÇÑ Æ÷Æ®¿¡¼­ ´Ù¸¥ Æ÷Æ®±îÁö Á¸ÀçÇÏ´Â ºü¸¥ °æ·Î·ÎºÎÅÍ µå¶øµÈ ¹ÙÀÌÆ®ÀÇ ¼ö¸¦ ¼­¼úÇÏ´Â 32 ºñÆ® °ªÀÌ´Ù.

PacketsIndicated
¹ÙÀεùµÈ ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö·Î ÀεðÄÉÀÌÆ®µÈ ÆÐŶÀÇ ¼ö¸¦ ¼­¼úÇÏ´Â 32 ºñÆ® °ªÀÌ´Ù.

OctetsIndicated
¹ÙÀεùµÈ ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö·Î ÀεðÄÉÀÌÆ®µÈ ¹ÙÀÌÆ®ÀÇ ¼ö¸¦ ¼­¼úÇÏ´Â 32 ºñÆ® °ªÀÌ´Ù.

Remarks

ÀÌ OID¸¦ Æ÷ÇÔÇÏ´Â Äõ¸® ¸®Äù½ºÆ®¿¡ ´ëÇØ¼­ ¹Ì´ÏÆ÷Æ® µå¶óÀ̹ö´Â ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö·Î ¹Ì´ÏÆ÷Æ® µå¶óÀ̹ö¿¡ ÀÇÇØ¼­ ÅëÁ¦µÈ ¸ðµç Æ÷Æ®¿¡ ´ëÇÑ Á¤º¸ÀÇ ¿ä¾àÀ» ¸®ÅÏÇÑ´Ù. ÀÌ ¿ä¾à Á¤º¸´Â ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö·Î »¡¸® Æ÷¿öµåµÇ°í µå¶øµÇ°í ÀεðÄÉÀÌÆ®µÈ ÆÐŶÀÇ Àüü ¼ö¸¦ Æ÷ÇÔÇÑ´Ù.

¸î¸î »óÀ§ °³Ã¼´Â FFP_DISCARD_PACKET¿¡ ´ëÇÑ ÆÐŶÀÇ Æ¯Á¤ Çì´õ ÆÐÅÏÀ» °¡Áö°í ÆÐŶ¿¡ ´ëÇÑ Ä³½¬ ¿£Æ®¸® ŸÀÔÀ» ¼³Á¤Çϱ⠶§¹®¿¡ µå¶øµÈ ÆÐŶÀÇ Àüü ¼ö¿¡ ´ëÇØ¼­ PacketsDiscarded·Î ¸®ÅÏµÈ °ªÀº µå¶øµÈ ÆÐŶ¸¸À» Æ÷ÇÔÇÑ´Ù´Â °ÍÀ» ÁÖÀÇÇØ¶ó. ´Ù¸¥ ÀÌÀ¯·Î µå¶øµÈ ÆÐŶµéÀº ÀÌ °ªÀ» Æ÷ÇÔÇÏÁö ¾Ê´Â´Ù. ij½¬ ¿£Æ®¸® ŸÀÔ¿¡¼­ ´õ ¸¹Àº Á¤º¸¸¦ À§Çؼ­´Â OID_FFP_DATA¸¦ ºÁ¶ó.

ÀÌ OID¸¦ Æ÷ÇÔÇÏ´Â ¼Â ¸®Äù½ºÆ®¸¦ ¼öÇàÇÏ´Â ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö´Â ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ¼­ ÅëÁ¦µÈ °¢°¢ÀÇ Æ÷Æ®¿¡ ´ëÇØ¼­ OID_FFP_ADAPTER_STATS¸¦ Æ÷ÇÔÇÏ´Â ´ÙÁß ¼Â ¸®Äù½ºÆ®¸¦ ¼öÇàÇÏ´Â ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö¿Í °ü·ÃÀÌ ÀÖ´Ù.