public interface TunnelInformation extends GroupedAvp
5.3.36 Tunnel-Information The Tunnel-Information AVP (AVP code 1038) is of type Grouped, and it contains the tunnel (outer) header information from a single IP flow. The Tunnel-Information AVP is sent from the PCEF to the PCRF and from the PCRF to the BBERF. The Tunnel-Information AVP may include only the Tunnel-Header-Length AVP, only the Tunnel-Header-Filter AVP, or both. The Tunnel-Header-Length AVP provides the length of the tunnel header and identifies the offset where the tunnelled payload starts. The BBERF uses the length value provided in Tunnel-Header-Length AVP to locate the inner IP header and perform service data flow detection and related QoS control. The Tunnel-Header-Filter AVP identifies the tunnel (outer) header information in the downlink and uplink directions. AVP Format: Tunnel-Information ::= < AVP Header: 1038 > [ Tunnel-Header-Length ] *2[ Tunnel-Header-Filter ] *[ AVP ]
FLAG_RULE_MAY, FLAG_RULE_MUST, FLAG_RULE_MUSTNOT
Modifier and Type | Method and Description |
---|---|
DiameterAvp[] |
getExtensionAvps()
Returns the set of extension AVPs.
|
IPFilterRule[] |
getTunnelHeaderFilters()
Returns the set of Tunnel-Header-Filter AVPs.
|
long |
getTunnelHeaderLength()
Returns the value of the Tunnel-Header-Length AVP, of type Unsigned32.
|
boolean |
hasTunnelHeaderLength()
Returns true if the Tunnel-Header-Length AVP is present in the Tunnel-Information AVP.
|
void |
removeExtensionAvps()
Removes all extension AVPs from the Tunnel-Information AVP.
|
void |
removeTunnelHeaderFilters()
Removes all Tunnel-Header-Filter AVPs from the Tunnel-Information AVP.
|
void |
removeTunnelHeaderLength()
Removes the Tunnel-Header-Length AVP from the Tunnel-Information AVP.
|
void |
setExtensionAvps(DiameterAvp[] avps)
Sets the set of extension AVPs with all the values in the given array.
|
void |
setTunnelHeaderFilter(IPFilterRule tunnelHeaderFilter)
Sets a single Tunnel-Header-Filter AVP in the Tunnel-Information AVP, of type IPFilterRule.
|
void |
setTunnelHeaderFilters(IPFilterRule[] tunnelHeaderFilters)
Sets the set of Tunnel-Header-Filter AVPs, with all the values in the given array.
|
void |
setTunnelHeaderLength(long tunnelHeaderLength)
Sets the value of the Tunnel-Header-Length AVP, of type Unsigned32.
|
byteArrayValue, clone, doubleValue, floatValue, getCode, getMandatoryRule, getName, getProtectedRule, getType, getVendorID, groupedAvpValue, intValue, longValue, stringValue
boolean hasTunnelHeaderLength()
long getTunnelHeaderLength()
hasTunnelHeaderLength()
to check the existence of this AVP.java.lang.IllegalStateException
- if the Tunnel-Header-Length AVP has not been set.void setTunnelHeaderLength(long tunnelHeaderLength)
void removeTunnelHeaderLength()
IPFilterRule[] getTunnelHeaderFilters()
void setTunnelHeaderFilter(IPFilterRule tunnelHeaderFilter)
java.lang.NullPointerException
- if tunnelHeaderFilter
is null
.void setTunnelHeaderFilters(IPFilterRule[] tunnelHeaderFilters)
java.lang.NullPointerException
- if tunnelHeaderFilters
is null
.void removeTunnelHeaderFilters()
DiameterAvp[] getExtensionAvps()
void setExtensionAvps(DiameterAvp[] avps) throws AvpNotAllowedException
AvpNotAllowedException
- if an AVP is encountered of a type already known to this class
(i.e. an AVP for which get/set methods already appear in this class)java.lang.NullPointerException
- if avps
is null
.void removeExtensionAvps()