Introduce sub-control for renaming variables
This commit is contained in:
parent
89161e260e
commit
327d0b70f9
|
@ -60,17 +60,18 @@ parser TopParser(
|
||||||
|
|
||||||
/********************************************************************************
|
/********************************************************************************
|
||||||
* Main
|
* Main
|
||||||
*/
|
*/
|
||||||
control TopPipe(
|
|
||||||
inout Parsed_packet p,
|
control RealMain(
|
||||||
inout user_metadata_t user_metadata,
|
inout Parsed_packet hdr,
|
||||||
|
inout user_metadata_t meta,
|
||||||
inout digest_data_t digest_data,
|
inout digest_data_t digest_data,
|
||||||
inout sume_metadata_t sume_metadata) {
|
inout sume_metadata_t sume_metadata) {
|
||||||
|
|
||||||
action swap_eth_addresses() {
|
action swap_eth_addresses() {
|
||||||
EthAddr_t temp = p.ethernet.dstAddr;
|
EthAddr_t temp = hdr.ethernet.dstAddr;
|
||||||
p.ethernet.dstAddr = p.ethernet.srcAddr;
|
hdr.ethernet.dstAddr = hdr.ethernet.srcAddr;
|
||||||
p.ethernet.srcAddr = temp;
|
hdr.ethernet.srcAddr = temp;
|
||||||
|
|
||||||
/* set egress port */
|
/* set egress port */
|
||||||
sume_metadata.dst_port = sume_metadata.src_port;
|
sume_metadata.dst_port = sume_metadata.src_port;
|
||||||
|
@ -93,12 +94,12 @@ control TopPipe(
|
||||||
}
|
}
|
||||||
|
|
||||||
action do_nothing() {
|
action do_nothing() {
|
||||||
EthAddr_t temp = p.ethernet.dstAddr;
|
EthAddr_t temp = hdr.ethernet.dstAddr;
|
||||||
}
|
}
|
||||||
|
|
||||||
table lookup_table {
|
table lookup_table {
|
||||||
key = {
|
key = {
|
||||||
p.ethernet.dstAddr: exact;
|
hdr.ethernet.dstAddr: exact;
|
||||||
}
|
}
|
||||||
|
|
||||||
actions = {
|
actions = {
|
||||||
|
@ -116,6 +117,19 @@ control TopPipe(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
control TopPipe(
|
||||||
|
inout Parsed_packet p,
|
||||||
|
inout user_metadata_t user_metadata,
|
||||||
|
inout digest_data_t digest_data,
|
||||||
|
inout sume_metadata_t sume_metadata) {
|
||||||
|
|
||||||
|
RealMain() realmain;
|
||||||
|
|
||||||
|
apply {
|
||||||
|
realmain.apply(p, user_metadata, digest_data, sume_metadata);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/********************************************************************************
|
/********************************************************************************
|
||||||
* Deparser
|
* Deparser
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue