Пример #1
0
def dump_to_p4_P4HeaderInstanceRegular(self, hlir):
    g_header_instance = p4_header_instance(hlir,
                                           self.name,
                                           header_type=self.header_type,
                                           index=None,
                                           max_index=None,
                                           filename=self.filename,
                                           lineno=self.lineno,
                                           metadata=False,
                                           initializer={},
                                           virtual=False)
    g_header_instance._pragmas = self._pragmas.copy()
Пример #2
0
def dump_to_p4_P4HeaderInstanceMetadata(self, hlir):
    # TODO: improve this crap
    initializer = {}
    for name, value in self.initializer:
        initializer[name] = value.dump_to_p4(hlir)
    g_header_instance = p4_header_instance(
        hlir,
        self.name, header_type = self.header_type,
        index = None, max_index = None,
        filename = self.filename, lineno = self.lineno,
        metadata = True, initializer = initializer,
        virtual = False
    )
    g_header_instance._pragmas = self._pragmas.copy()
Пример #3
0
def dump_to_p4_P4HeaderInstanceMetadata(self, hlir):
    # TODO: improve this crap
    initializer = {}
    for name, value in self.initializer:
        initializer[name] = value.dump_to_p4(hlir)
    g_header_instance = p4_header_instance(hlir,
                                           self.name,
                                           header_type=self.header_type,
                                           index=None,
                                           max_index=None,
                                           filename=self.filename,
                                           lineno=self.lineno,
                                           metadata=True,
                                           initializer=initializer,
                                           virtual=False)
    g_header_instance._pragmas = self._pragmas.copy()
Пример #4
0
def dump_to_p4_P4HeaderStackInstance(self, hlir):
    assert (self.size)
    index_range = range(0, self.size.i) + [P4_NEXT, P4_LAST]
    max_index = self.size.i - 1
    for idx in index_range:
        virtual = False if idx == None or type(idx) is int else True
        g_header_instance = p4_header_instance(hlir,
                                               self.name,
                                               header_type=self.header_type,
                                               index=idx,
                                               max_index=max_index,
                                               filename=self.filename,
                                               lineno=self.lineno,
                                               metadata=False,
                                               initializer={},
                                               virtual=virtual)
        g_header_instance._pragmas = self._pragmas.copy()
Пример #5
0
def dump_to_p4_P4HeaderInstanceRegular(self, hlir):
    if self.size:
        index_range = range(0, self.size.i) + [P4_NEXT, P4_LAST]
        max_index = self.size.i - 1
    else:
        index_range = [None]
        max_index = None
    for idx in index_range:
        virtual = False if idx == None or type(idx) is int else True
        g_header_instance = p4_header_instance(
            hlir,
            self.name, header_type = self.header_type,
            index = idx, max_index = max_index,
            filename = self.filename, lineno = self.lineno,
            metadata = False, initializer = {},
            virtual = virtual
        )
        g_header_instance._pragmas = self._pragmas.copy()