Classification for media stream packets in a media gateway
First Claim
1. A method for processing packets received at a media gateway, the method comprising:
- ascertaining, using a FPGA (Field Programmable Gate Array), whether a received packet is a media packet;
if said received packet is said media packet according to said ascertaining,inspecting, using said FPGA, a first portion of a media destination port number from the header of said media packet, andcomparing, using said FPGA, said first portion of said media destination port number with a media port base that has already been set up in said media gateway,if there is a match between said first portion of said media destination port number and said media port base according to the comparing,inspecting, using said FPGA, a second portion of said media destination port number from said header of said media packet,employing, using said FPGA, said second portion of said media destination port number as a key to a media port table of said media gateway to ascertain whether packets associated with a media stream ID are to be discarded, anddiscarding, using said FPGA, said received packet if said packet associated with said media stream ID are to be discard,else,
obtaining, using said FPGA, a media processing CPU ID associated with said media stream ID from said media port table,
formulating, using said FPGA, a destination MAC address for said received packet of at least said media processing CPU ID, and
updating, using said FPGA, said received packet with said destination MAC address, thereby enabling said received packet to be switched by a switch that is external to said FPGA to a media processing CPU associated with said media processing CPU ID, wherein said media packet represents at least one of a TCP (Transmission Control Protocol) packet and a UDP (User Datagram Protocol) packet, and said media port table represents at least one of a TCP port table and a UDP port table and wherein said media gateway represents a gateway for processing at least one of text data, image data, voice call data, audio data, and video data.
3 Assignments
0 Petitions
Accused Products
Abstract
A method in Field Programmable Gate Array for processing packets received at a media gateway is provided. The method includes ascertaining whether a received packet is a UDP (User Datagram Protocol) packet. The method also includes comparing first portion of UDP destination port number from UDP packet header with first portion with UDP port base that has been set up in media gateway. If a match exist, employing second portion of UDP destination port number as a key to UDP port table to ascertain whether packets associated with media stream ID are to be discarded, and discarding received packet if packet associated with media stream ID is to be discarded. If not, obtaining media processing CPU ID associated with media stream ID, formulating destination MAC address, and updating packet with destination MAC address, thereby enabling packet to be switched to media processing CPU associated with media processing CPU ID.
-
Citations
13 Claims
-
1. A method for processing packets received at a media gateway, the method comprising:
-
ascertaining, using a FPGA (Field Programmable Gate Array), whether a received packet is a media packet; if said received packet is said media packet according to said ascertaining, inspecting, using said FPGA, a first portion of a media destination port number from the header of said media packet, and comparing, using said FPGA, said first portion of said media destination port number with a media port base that has already been set up in said media gateway, if there is a match between said first portion of said media destination port number and said media port base according to the comparing, inspecting, using said FPGA, a second portion of said media destination port number from said header of said media packet, employing, using said FPGA, said second portion of said media destination port number as a key to a media port table of said media gateway to ascertain whether packets associated with a media stream ID are to be discarded, and discarding, using said FPGA, said received packet if said packet associated with said media stream ID are to be discard, else,
obtaining, using said FPGA, a media processing CPU ID associated with said media stream ID from said media port table,
formulating, using said FPGA, a destination MAC address for said received packet of at least said media processing CPU ID, and
updating, using said FPGA, said received packet with said destination MAC address, thereby enabling said received packet to be switched by a switch that is external to said FPGA to a media processing CPU associated with said media processing CPU ID, wherein said media packet represents at least one of a TCP (Transmission Control Protocol) packet and a UDP (User Datagram Protocol) packet, and said media port table represents at least one of a TCP port table and a UDP port table and wherein said media gateway represents a gateway for processing at least one of text data, image data, voice call data, audio data, and video data. - View Dependent Claims (2, 3, 4, 5)
-
-
6. In a communication system, a media gateway comprising a FPGA (Field Programmable Gate Array) configured to classify packets received at said media gateway based on a media port table implemented internally in said FPGA, said media port table including at least one port that represents at least one media stream that has been set up by a host CPU in said communication system, said FPGA comprising:
-
circuits for obtaining a media processing CPU ID from said media port table for a packet received at said media gateway and for formulating a destination MAC address for said packet, wherein the media gateway configured to process at least one of text data, image data, voice call data, audio data, and video data, a comparator configured to compare a first portion of the header of a packet with a media port base of a valid media port range, said valid media port range representing a portion of said media port table, said media port table represents at least one of a TCP (Transmission Control Protocol) port table and a UDP (User Datagram Protocol) port table, an inspection mechanism configured to inspect at least one discard bit of a packet received at said FPGA for determining whether to discard said packet, said at least one discard bit marked by said host CPU, and wherein said at least one port includes at least one programmed field, said at least one programmed field including at least one of a MAC address for a media processing CPU, a flag indicating whether a packet should be discarded, and a field indicating discard status of said packet. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13)
-
Specification